[opensuse-factory] RFC: glib version for openSUSE 11.4
Hi, I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed. That's my fault as I didn't think it would impact something else than GNOME. Apologies for breaking stuff. The extension point that got removed is used to know which application should be used to open a URI scheme (for example: mailto => evolution). The reason it got removed is that instead of using a desktop-specific approach, it was decided to put the relevant information in .desktop files and use the MIME type system for this. This means that glib can handle this properly by itself, instead of requiring a desktop-specific extension. I explained this in http://lists.opensuse.org/opensuse-gnome/2010-10/msg00021.html It's worth pointing out that upstream believes that the extensions points are not part of the API/ABI stability guarantee. We were planning to use glib 2.28 in openSUSE 11.4 as it'll get released in December, and will help provide a GNOME 3 preview. However, the fact that this breaks other desktop is something that means we should revisit this decision. As explained in the bug, I see three options: a) keep glib 2.28. This implies that we need to fix the extensions provided by LXDE (and maybe XFCE?), and that we should fix .desktop files as explained in my mail to opensuse-gnome earlier. Both of those are not difficult, and it's future-proof: that is what is going to happen upstream. b) go back to glib 2.26. This should be okay, but it might break a few packages. It will break the whole gtk3 stack for sure, at least, since it requires glib 2.27/2.28. So this means accepting that we won't have gtk3 at all in openSUSE 11.4. (It will make the job of doing a GNOME 3 Preview much harder) c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files. c2) revert the change completely in glib 2.28, and make use of the extensions again. I'd like to hear what people think. FWIW, we had chosen option a when we thought it only implied GNOME. I still think it's the right approach, though. Thanks, Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
El 24/11/10 09:55, Vincent Untz escribió:
Hi,
I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed.
I see only one option, fixing LXDE or whatever that is broken, and move on. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Vincent Untz wrote:
I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed. [...] It's worth pointing out that upstream believes that the extensions points are not part of the API/ABI stability guarantee. [...] c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files.
Reintroducing the missing symbol as noop at least doesn't lead to mysterious crashes at run time. Removing functions is just crazy. Why don't they use symbol versioning anways? cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Le mercredi 24 novembre 2010, à 14:39 +0100, Ludwig Nussel a écrit :
Vincent Untz wrote:
I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed. [...] It's worth pointing out that upstream believes that the extensions points are not part of the API/ABI stability guarantee. [...] c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files.
Reintroducing the missing symbol as noop at least doesn't lead to mysterious crashes at run time. Removing functions is just crazy.
Please note that this is not standard API, but an extension point, which is not something that is used by applications. Hence it was not considered crazy upstream. But as I said, that's an option. The main drawback for this option is that people might assume the extension will work. Not sure it's a real issue.
Why don't they use symbol versioning anways?
I don't know the answer off-hand, but I'm pretty sure it was discussed several times upstream. Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
* Vincent Untz <vuntz@opensuse.org> [2010-11-24 13:55]:
Hi,
I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed.
That's my fault as I didn't think it would impact something else than GNOME. Apologies for breaking stuff.
The extension point that got removed is used to know which application should be used to open a URI scheme (for example: mailto => evolution). The reason it got removed is that instead of using a desktop-specific approach, it was decided to put the relevant information in .desktop files and use the MIME type system for this. This means that glib can handle this properly by itself, instead of requiring a desktop-specific extension. I explained this in http://lists.opensuse.org/opensuse-gnome/2010-10/msg00021.html
It's worth pointing out that upstream believes that the extensions points are not part of the API/ABI stability guarantee.
We were planning to use glib 2.28 in openSUSE 11.4 as it'll get released in December, and will help provide a GNOME 3 preview. However, the fact that this breaks other desktop is something that means we should revisit this decision.
As explained in the bug, I see three options:
a) keep glib 2.28. This implies that we need to fix the extensions provided by LXDE (and maybe XFCE?), and that we should fix .desktop files as explained in my mail to opensuse-gnome earlier. Both of those are not difficult, and it's future-proof: that is what is going to happen upstream.
b) go back to glib 2.26. This should be okay, but it might break a few packages. It will break the whole gtk3 stack for sure, at least, since it requires glib 2.27/2.28. So this means accepting that we won't have gtk3 at all in openSUSE 11.4. (It will make the job of doing a GNOME 3 Preview much harder)
c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files. c2) revert the change completely in glib 2.28, and make use of the extensions again.
Have you seen http://git.gnome.org/browse/glib/commit/?id=fb94859e84c0b7859a0a5425d461b18e... ? Seems like they have realized that this was a very bad idea. -- Guido Berhoerster -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On Wed, 24 Nov 2010, Vincent Untz wrote:
Hi,
I just found out about https://bugzilla.novell.com/655561. The short story is that the update to glib 2.27 is breaking LXDE (and maybe XFCE, not sure) at the moment, because an extension point in glib got removed.
That's my fault as I didn't think it would impact something else than GNOME. Apologies for breaking stuff.
The extension point that got removed is used to know which application should be used to open a URI scheme (for example: mailto => evolution). The reason it got removed is that instead of using a desktop-specific approach, it was decided to put the relevant information in .desktop files and use the MIME type system for this. This means that glib can handle this properly by itself, instead of requiring a desktop-specific extension. I explained this in http://lists.opensuse.org/opensuse-gnome/2010-10/msg00021.html
It's worth pointing out that upstream believes that the extensions points are not part of the API/ABI stability guarantee.
We were planning to use glib 2.28 in openSUSE 11.4 as it'll get released in December, and will help provide a GNOME 3 preview. However, the fact that this breaks other desktop is something that means we should revisit this decision.
As explained in the bug, I see three options:
a) keep glib 2.28. This implies that we need to fix the extensions provided by LXDE (and maybe XFCE?), and that we should fix .desktop files as explained in my mail to opensuse-gnome earlier. Both of those are not difficult, and it's future-proof: that is what is going to happen upstream.
b) go back to glib 2.26. This should be okay, but it might break a few packages. It will break the whole gtk3 stack for sure, at least, since it requires glib 2.27/2.28. So this means accepting that we won't have gtk3 at all in openSUSE 11.4. (It will make the job of doing a GNOME 3 Preview much harder)
c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files. c2) revert the change completely in glib 2.28, and make use of the extensions again.
I'd like to hear what people think. FWIW, we had chosen option a when we thought it only implied GNOME. I still think it's the right approach, though.
Linus would yell at the glib folks and say "you exported it, you have to keep it". Thus, argume with upstream and/or do c). Richard. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Quoting Richard Guenther <rguenther@suse.de>:
Linus would yell at the glib folks and say "you exported it, you have to keep it". Thus, argume with upstream and/or do c).
Ah, this must be why any driver ever written never needs to be rewritten... right. Err: did I miss something? Yes, I agree.. the ABI break is bad... API break in the kernel is a daily business though. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On Wed, Nov 24, 2010 at 06:27:27PM +0100, Dominique Leuenberger a.k.a DimStar wrote:
Quoting Richard Guenther <rguenther@suse.de>:
Linus would yell at the glib folks and say "you exported it, you have to keep it". Thus, argume with upstream and/or do c).
Ah, this must be why any driver ever written never needs to be rewritten... right. Err: did I miss something?
Yes, drivers are internal to the kernel. The interface to userland is however not broken.
Yes, I agree.. the ABI break is bad... API break in the kernel is a daily business though.
No, it absolutely is forbidden to break the USER - KERNEL ABI. And yes, the external ABI of glib is similar. You will need a new major version of the library if you change an interface binary incompatible. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Le mercredi 24 novembre 2010, à 13:55 +0100, Vincent Untz a écrit :
c) patch glib 2.28 to add back the extension point. We have two sub-options here: c1) add the extension point just to keep the ABI. This means the extensions won't be used at all, and we still need to fix .desktop files.
FWIW, we're going this way (already in Factory), which was also chosen upstream. Cheers, Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
participants (7)
-
Cristian Rodríguez
-
Dominique Leuenberger a.k.a DimStar
-
Guido Berhoerster
-
Ludwig Nussel
-
Marcus Meissner
-
Richard Guenther
-
Vincent Untz