Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: rich0@g.o
Subject: Re: [gentoo-dev] New virtuals for libudev and libgudev
Date: Sat, 29 Mar 2014 08:35:07
Message-Id: 20140329093439.3b5d3e1e@pomiot.lan
In Reply to: Re: [gentoo-dev] New virtuals for libudev and libgudev by Rich Freeman
1 Dnia 2014-03-28, o godz. 19:53:07
2 Rich Freeman <rich0@g.o> napisał(a):
3
4 > On Fri, Mar 28, 2014 at 5:48 PM, Rick "Zero_Chaos" Farina
5 > <zerochaos@g.o> wrote:
6 > > All in all, this isn't a bad idea on the surface, but the first
7 > > arguement shows immediately when this is scaled up. How many other
8 > > packages have multiple libs with different sonames? Off hand, I can
9 > > think of poplar, but I'm sure there must be more. Is it really
10 > > scalable, desirable, or sane, to break each package on the system into
11 > > multiple different virtuals like this?
12 >
13 > Clever idea, actually, though I'd be interested in whether anybody
14 > else can think of any unintended consequences.
15 >
16 > I agree that there could end up being many cases of this, but that
17 > really just amounts to clutter, and more granular dependencies (which
18 > also make me think that a next step could actually be packages that
19 > only install the necessary libraries, and somehow controlling this by
20 > dependencies rather than USE flags which are a bit more cumbersome).
21
22 This is the other side of this. People already requested libudev
23 without whole udev, and this is a way of allowing it in the future.
24
25 > There really isn't anything special about virtual packages other than
26 > the fact that they don't install anything. I wonder if it would make
27 > sense to actually create a new category for virtuals that only exist
28 > to express library dependencies. Functionally it would be no
29 > different, but it would split up the namespace so that we don't have
30 > an additional 193 packages in the virtual category. Plus, when
31 > looking at ebuilds it will be a bit more clear what each dependency is
32 > actually pulling in.
33
34 I have already suggested separate category for perl virtuals but been
35 quieted down at the time. I doubt people really want another category
36 for virtuals since some of their poor tools rely on 'virtual/'.
37
38 > One thing you didn't mention in your email is the interaction with
39 > conventional virtuals. The dep string for libudev reads:
40 > RDEPEND="
41 > || (
42 > >=sys-fs/udev-208:0/0[${MULTILIB_USEDEP},static-libs?]
43 > >=sys-apps/systemd-208:0/2[${MULTILIB_USEDEP},static-libs(-)?]
44 > >=sys-apps/systemd-208:0/1[${MULTILIB_USEDEP},static-libs(-)?]
45 > >=sys-apps/systemd-208:0/0[${MULTILIB_USEDEP},static-libs(-)?]
46 > >=sys-fs/eudev-1.3:0/0[${MULTILIB_USEDEP},static-libs?]
47 > )"
48 >
49 > What happens if eudev-209 and udev-209 don't bundle the sane SONAME
50 > for libudev, and thus need different subslots? The virtual libudev is
51 > versioned 208.
52
53 There's an exact subslot dep in there (:M/N). If either of them changes
54 SONAME of any of the libraries, the provider subslot is bumped
55 and the virtual no longer matches it.
56
57 The systemd deps are a good example of that. The subslots 0, 1 and 2
58 correspond to changes in libsystemd.so. Now, if any of SONAMES
59 in systemd change, it will have subslot 3 and the virtual will no
60 longer match. If it's libudev or libgudev changing, we'd introduce
61 a new version (subslot) of the virtual; otherwise, a new revision with
62 systemd:0/3 added.
63
64 In fact, the versions are not even really necessary there.
65
66 --
67 Best regards,
68 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] New virtuals for libudev and libgudev Rich Freeman <rich0@g.o>