Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [RFC] Policy for migrating library consumers to subslots
Date: Sat, 28 Sep 2013 18:53:06
Message-Id: CAATnKFCuXn3a8xmR6z-ODQwKNpCK61wpC5TABJ8MUCuQ6hb5bQ@mail.gmail.com
In Reply to: [gentoo-dev] Re: [RFC] Policy for migrating library consumers to subslots by Martin Vaeth
1 On 28 September 2013 22:31, Martin Vaeth
2 <vaeth@××××××××××××××××××××××××.de>wrote:
3
4 >
5 > Note that it would be stupid to depend on e.g.
6 > =virtual/perl-Term-ANSIColor-4.02
7 > for several reason:
8 >
9 > 1. The virtual does not even exist :)
10 >
11
12 Nope, it does. Its just called =virtual/perl-Term-ANSIColor-4.20.0 ,
13 because upstreams versioning semantics are grossly different to gentoos, so
14 we translate upstreams floating point versions to multipart versions so
15 that version cross-dependency semantics stay the same.
16
17
18 > 2. It would collide with ebuilds depending on other versions.
19 >
20
21 Nope, it would only collide in the case other ebuilds depended on a
22 specific version, or blocked a specific version.
23
24 This is seen as a "feature", because of "foo" needs "<= y-nnn" you don't
25 want to have to logically tract that fact in every other package that needs
26 "y"
27
28
29 > 3. This version is only reasonable if perl-5.16 is the
30 > perl version which the user has installed
31
32
33 And when perl 5.18 hits tree, if you want exactly 4.20 or larger, you'll
34 need to change your dependency string in your package to incorporate this
35 fact, instead of saying ">=virtual/perl-Term-ANSIColor-4.20.0" you'll have
36 to do "|| ( perl-5.18 etc etc )" , which is pushing the dependency
37 management of all the virtuals into the pacakges that are requring them.
38
39 Virtuals are much more convenient here, because if we need to change the
40 provider of a single version, we change it in *one* place, instead of
41 having to modify every ebuild in tree that needed it.
42
43 ( Actually, thats a bug still, because corelist -a says 4.20.0 should be
44 available in 5.18, but the virtual for 4.20.0 doesn't yet have perl-5.18
45 listed as a provider, though I'm glad it can be fixed once, there, instead
46 of having to fix it in every package that depended on 4.20.0 prior to the
47 arrival of 5.18 in tree )
48
49
50
51 --
52 Kent

Replies

Subject Author
[gentoo-dev] Re: [RFC] Policy for migrating library consumers to subslots Martin Vaeth <vaeth@××××××××××××××××××××××××.de>