Gentoo Archives: gentoo-user

From: Enrico Weigelt <weigelt@×××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] why multiple versions of java-config, automake, and autoconf?
Date: Tue, 12 Jun 2007 13:07:54
Message-Id: 20070612125928.GA21610@nibiru.local
In Reply to: Re: [gentoo-user] why multiple versions of java-config, automake, and autoconf? by Kent Fredric
1 * Kent Fredric <kentfredric@×××××.com> wrote:
2
3 Hi,
4
5 > So, your suggesting the following would have been a better
6 > option in this case
7 >
8 > dev-lang/php4/php4-4.4.3.ebuild
9 > dev-lang/php4/php4-4.4.4.ebuild
10 > dev-lang/php5/php5-5.1.1.ebuild
11 > dev-lang/php5/php5-5.2.0.ebuild
12
13 Yes.
14
15 > virtual/php/php-5.ebuild -> dev-lang/php5/php5-5.2.0.ebuild
16 > virtual/php/php-4.ebuild -> dev-lang/php4/php4-4.4.4.ebuild
17 >
18 > ... and ... to have .. slotted virtuals like jdk does =P
19
20 No. Not slotted !
21
22 Maybe some virtual for dependencies on an subset of php which
23 works with both variants. Packages which are proven to run on
24 both variants can use this virtual, just to get the || dep
25 out there.
26
27 > >What "folders" are you tallking about ?
28 >
29 > sys-devel/automake/automake-1.10.ebuild
30 > sys-devel/automake/automake-1.4_p6.ebuild
31 > sys-devel/automake/automake-1.5.ebuild
32 > sys-devel/automake/automake-1.6.3.ebuild
33 > sys-devel/automake/automake-1.7.9-r1.ebuild
34 > sys-devel/automake/automake-1.8.5-r3.ebuild
35 > sys-devel/automake/automake-1.9.6-r2.ebuild
36
37 Ah, you're talking about the per-package subdirs.
38 What's bad w/ having a few more of them ?
39
40 > as theres 1 slot here /per/ ebuild, it would cause a bit of
41 > namespace pollution were you to "upslot" them, ie:
42
43 Is this really such a problem ?
44 Maybe we could add another step in the hierachy,
45 ie. called "variant" or "evolution" or whatever ...
46
47 > instead of just one nice sys-devel/automake , you would need to have
48 >
49 > sys-devel/automake-1.10/automake-1.10-1.10.ebuild
50 > sys-devel/automake-1.4/automake-1.4-1.4_p6.ebuild
51 > sys-devel/automake-1.5/automake-1.5-1.5.ebuild
52 > sys-devel/automake-1.6/automake-1.6-1.6.3.ebuild
53 > sys-devel/automake-1.7/automake-1.7-1.7.9-r1.ebuild
54 > sys-devel/automake-1.8/automake-1.8-1.8.5-r3.ebuild
55 > sys-devel/automake-1.9/automake-1.9-1.9.6-r2.ebuild
56
57 Maybe it looks "nice" for you, but this looks like these
58 were (exchangable) versions. Obviously they're NOT.
59 These "evolution steps" are NOT compatible, neither upwards,
60 nor backwards. It's really a luck if some packages work with
61 more than exactly one automake version.
62
63 The problem is that packages depending on those slotted ones
64 have to depend on specific version numbers. Maybe its not that
65 bad if the interface breaks only happen between major releases
66 (so you can say things like "=automake-1.7*"), but it gets
67 really tricky with breaks between minor versions. Some time
68 ago I already had such situations w/ the autotools stuff.
69
70 > >> The same occurs in many of the web-applications, where multiple versions
71 > >> are handy, but multiple ebuild names would cause headaches.
72 > >
73 > >hmm, they're an special things, since we can have many instances
74 > >of the same application here. but I never had the need to have
75 > >multiple versions of one webapp (source) installed.
76 >
77 > The reason for this, I believe, is that webapps regularly need to be
78 > hand-adjusted to suit the users needs, and needs hand tuning for each
79 > upgrade. Often this automated upgrade can break stuff ( can, but if
80 > you've not changed from default, it usually runs fine ), so I guess
81 > the reason is similar to the kernels, "less stuff breaking" i guess. (
82 > Although ATM, its unobvious how to switch between webapp slots :S )
83
84 Yes, webapps are still an story of their own.
85 I don't see an better solution than the current webapp-config approach
86 for now. But I don't think slotting is really necessary here.
87
88 > >Well, if the slot number would be an part of the package atom name,
89 > >it would be half as bad.
90 >
91 > I definately aggree, which would help many apps out in following
92 > problem slotting currently has : "It is not possible to DEPEND upon a
93 > package in a specific slot." [1]
94
95 Yep. If would make things much, much easier. It would IMHO also solve
96 your concerns about namespace pollution, etc. In fact different slots
97 then would be different (sub-)packages.
98
99 > For some things, such as things which require automake, & friends, it
100 > would permit them to use some sort of syntax such as
101 >
102 > %=sys-devel/automake-1.9
103 > %<=sys-devel/automake-1.9
104 > %>=sys-devel/automake-1.9
105
106 What shall that mean ?
107 Use some specific range within some slot ?
108
109 I could imagine some syntax like:
110
111 sys-devel/automake/1_9
112
113 or
114 sys-devel/automake+1_9
115
116 of
117 sys-devel/automake%1_9
118
119 "1_9" then is the slot/branch/subpackage name.
120 You probably reconize the missing "=". That'd be correct, since the
121 slot is not part of the version, but the package name.
122
123 > Why that syntax ?
124 >
125 > Well , we have a dilemour, if we were to change the way package atoms
126 > were named, it would break /craploads/ of the stuff already available
127 > expecting the 'old way'
128
129 The new syntax should be an extension of the old one. An missing slot
130 name just means "choose best matchting slot".
131
132 > sys-devel/automake/automake-1.9.slot <-- note the suffix.
133 >
134 > This file would contain none-other than a list of packages which
135 > comprise that slot.
136 > packages emerged without -1 would be injected into world as a 'user
137 > asked for this slot' ie: %sys-devel/automake-1.9
138 > thus preventing the erronious cleaning of slots, and permitting
139 > packages to directly depend on a given slot.
140
141 Ah, now I begin understand :)
142 If someone requests somethink like "%..." it means requesting an
143 slot "..." instead of an package.
144
145 hmm. I see now fundamental difference to virtuals.
146 If you want to get it separated from virtuals, why not just putting
147 them into some "slots" herd/subdir ?
148
149 > In essence, this does what we did with virtuals. Virtuals I believe,
150 > either used to be defined in some global text file, or as a string
151 > inside each packages ebuild, but my memorys a bit rusty as to exactly
152 > how it used to work.
153 > This suggestion, is a de-ebuilding of slotting control somewhat.
154
155 _IMHO_, ebuilds are just ebuilds without own files, just to control
156 dependencies. They're emerge'd as usual. At least seems so ;-O
157
158
159 cu
160 --
161 ---------------------------------------------------------------------
162 Enrico Weigelt == metux IT service - http://www.metux.de/
163 ---------------------------------------------------------------------
164 Please visit the OpenSource QM Taskforce:
165 http://wiki.metux.de/public/OpenSource_QM_Taskforce
166 Patches / Fixes for a lot dozens of packages in dozens of versions:
167 http://patches.metux.de/
168 ---------------------------------------------------------------------
169 --
170 gentoo-user@g.o mailing list