Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 524278 - dev-util/glade confusing use of SLOTs
Summary: dev-util/glade confusing use of SLOTs
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-02 13:00 UTC by Julian Ospald
Modified: 2015-10-26 01:42 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julian Ospald 2014-10-02 13:00:20 UTC
SLOT "3" is for gtk+:2 support while SLOT "3.10" is for gtk3 support. That is confusing.
Comment 1 Pacho Ramos gentoo-dev 2014-10-02 14:58:36 UTC
I think this is for historical reasons... but I am not sure if moving the slots and changing all reverse deps deserves the effort :/ 

Will wait for other team members opinions
Comment 2 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-10-12 16:09:28 UTC
This is well explained in changelog.

*glade-3.10.0-r1 (19 Jun 2011)

  19 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> +glade-3.10.0-r1.ebuild,
  metadata.xml:
  Add new 3.10 version that uses gtk3 and GNOME 3 libraries. Slotted because it
  removes support for all deprecated widgets. Thanks to tetromino.

The two slots co-exist because they do not support the same things and some packages still link to one or the other.

Being linked to gtk 2 or 3, the libs are incompatible.
Comment 3 Julian Ospald 2014-10-12 19:47:40 UTC
(In reply to Gilles Dartiguelongue from comment #2)
> This is well explained in changelog.
> 
> *glade-3.10.0-r1 (19 Jun 2011)
> 
>   19 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
> +glade-3.10.0-r1.ebuild,
>   metadata.xml:
>   Add new 3.10 version that uses gtk3 and GNOME 3 libraries. Slotted because
> it
>   removes support for all deprecated widgets. Thanks to tetromino.
> 
> The two slots co-exist because they do not support the same things and some
> packages still link to one or the other.
> 
> Being linked to gtk 2 or 3, the libs are incompatible.

So why are they not named :2 and :3?
Comment 4 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-10-12 20:13:29 UTC
As written in the ebuild, the rule of common sense is to use soversion for slot, or the version suffix in the pkgconfig file which is what we do here.
Comment 5 Julian Ospald 2014-10-12 21:37:36 UTC
(In reply to Gilles Dartiguelongue from comment #4)
> As written in the ebuild, the rule of common sense is to use soversion for
> slot, or the version suffix in the pkgconfig file which is what we do here.

I don't see how that makes sense.

Afaiu the first version that supported gtk3 was given a slot named "3.10" just because that version happened to be "3.10"? Now all versions that are totally unrelated to the long gone 3.10 version still have that slot. How is that user friendly in any way?

The fact is that :3 supports gtk2 and :3.10 supports gtk3. That's not obvious to the user and doesn't solve any actual problem compared to naming them :2 and :3.
Comment 6 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-10-12 21:53:38 UTC
Sorry, but you will not have your way getting these labelled after gtk being linked.
Comment 7 Julian Ospald 2014-10-12 22:43:20 UTC
(In reply to Gilles Dartiguelongue from comment #6)
> Sorry, but you will not have your way getting these labelled after gtk being
> linked.

I don't understand your reasoning, if there is any.
Comment 8 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-10-12 23:09:38 UTC
There is, but you don't want to hear it.
Slot is not a reflection of which gtk slot is being linked.
Libraries provided by glade are both slot 3 even if you don't like it, 3.10 might feel like a bad choice to you, but it is clear that this is the version that started linking to gtk3 while the API remained the same.

And don't try to compare to webkit-gtk, slot 2 ought to be slot 1 since that's the actual version of the library. Slot 2 was added by mistake and we did not change it to avoid useless modifications to a good load of ebuilds.
Comment 9 Julian Ospald 2014-10-12 23:26:32 UTC
(In reply to Gilles Dartiguelongue from comment #8)
> There is, but you don't want to hear it.
> Slot is not a reflection of which gtk slot is being linked.
> Libraries provided by glade are both slot 3 even if you don't like it, 3.10
> might feel like a bad choice to you, but it is clear that this is the
> version that started linking to gtk3 while the API remained the same.
> 
> And don't try to compare to webkit-gtk, slot 2 ought to be slot 1 since
> that's the actual version of the library. Slot 2 was added by mistake and we
> did not change it to avoid useless modifications to a good load of ebuilds.

You just explain why you added slot 3.10, not why that sort of versioning has better usability and is less confusing for people who don't deal with gnome policies every day.

The user will end up installing both just to figure out the difference between them.
Comment 10 Mart Raudsepp gentoo-dev 2014-10-13 05:26:39 UTC
Looks like new glade should have been slot 2.0 or 2, and old 1.0 or 1, based on pkg-config naming; but I don't see much point in bothering with slotmoves either way. Maybe we can remove the old slot soon.

As far as user choice goes: They just emerge the newest. glade is a development utility, where you design your UI graphically and get a GtkBuilder xml file outputted for you (or maybe also the old deprecated .glade format that libglade reads in case of the old glade slot). So you want the newest, which you get by not specifying any slot.
It has nothing to do with using it at general purpose gtk application runtime, and only some other development tools might link to it. Some depend on it purely to get some location variables out of the pkg-config file it ships, to add their own widget descriptions there. I can't see anything obvious in our package tree that would actually link to the libgladeui-*.so library.
Comment 11 Mart Raudsepp gentoo-dev 2014-10-13 05:28:24 UTC
To be more clear on what I actually meant - we probably kept it so that (upstream) developers using Gentoo can get the old version until they port their project away from those deprecated widgets. Hopefully this is long done by everyone that cares and we can really look into removing it now.