Gentoo Archives: gentoo-user

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] why multiple versions of java-config, automake, and autoconf?
Date: Fri, 08 Jun 2007 14:59:31
Message-Id: 8cd1ed20706080751vc827e34h5c828053d3991ce@mail.gmail.com
In Reply to: Re: [gentoo-user] why multiple versions of java-config, automake, and autoconf? by Enrico Weigelt
1 On 6/9/07, Enrico Weigelt <weigelt@×××××.de> wrote:
2 > * Kent Fredric <kentfredric@×××××.com> wrote:
3 > > On 6/9/07, Enrico Weigelt <weigelt@×××××.de> wrote:
4 > > >
5 > > >What flexibility do I take away exactly ?
6 > > >And what exactly gets harder ?
7 > > >
8 > >
9 > > Automated building of dependant packages
10 >
11 > More precisely ?
12 > AFAICS it would be much easier w/o slots.
13 >
14 > I already mentioned "Briegel". Here I'm strictly doing as described.
15 > This works great. The only reason for using Gentoo is that it has
16 > much, much more manpower than me alone. For most common systems
17 > Gentoo is quite good, for embedded targets (where I've got relatively
18 > few packages) I'm using Briegel.
19 >
20 > > Gentoo has a collection of magic script that do make this nice for us.
21 >
22 > Which ones for example ? / What exactly do they do ?
23 > Would that magic be necessary with my approach ?
24 >
25 > > ie ( last I looked anyway ) java-config and autoconf were not binarys,
26 > > but scripts which pointed to the correct binary given the right
27 > > environment variables.
28 > >
29 > > This makes the building of other packages that were invented upstream
30 > > without predicting changes in autoconf easier to maintain, instead of
31 > > having to send out a new patch every time upstream releases a
32 > > non-compatible-with-new-autoconfs version /just/ to make it work, we
33 > > just set WANT_AUTOCONF=1.4 in the environment and the appropriate
34 > > autoconf gets run, which seeems a fairly reasonable thing to do. (
35 > > otherwise the concept we have today known as a version bump would be a
36 > > whole deal harder more often)
37 >
38 > Yeah. Wrapper scripts. I also have such things @ Briegel.
39 > Please explain why this is an reasonable argument in the question
40 > whether or whether not to do slotting ?
41 >
42 > > I remeber the days of Java1.4 -> Java1.5 migration headaches before
43 > > they slotted it and created java-confing system to get around it,
44 >
45 > Would it make a difference if sun-java-1.5 would have got it's own
46 > package name (distinct from -1.4) ?
47 >
48 > AFAIK -1.4 and -1.5 are really incompatible, almost as much as
49 > gtk-1.x vs. gtk-2.x. So why not treating them as different packages ?
50 >
51 > > As for gtk2-0.1 vs gtk-2.0.1, the latter is clearly a more logical
52 > > version number.
53 >
54 > Why not gtk2-2.0.1 ?
55 >
56 > > if it was called gtk2 instead of gtk-2, it would need a separate
57 > > folder, and a completely different set of configs,
58 >
59 > Yes, of course - it's an different package.
60 >
61 > > it was bad enough when php4 & php5 were different applications.
62 >
63 > Why ?
64 > php4 and php5 are very incompatible, almost as much as it had been
65 > with php3. This already had been clear when php5 was at alpha.
66 > I never ever expected them to be the same package.
67 >
68 > Of course evrything would be much clearer if there was an big
69 > consensous on naming the scripts with *.php4 and *.php3 as it
70 > had been done in history w/ php3. But this really has nothing to
71 > do with slotting vs. separate packages.
72 >
73 >
74
75 Ah, but you see, in half the cases there is not a /complete/
76 incompatibility. PHP4<->5 migration is not an entirely big switch,
77 the biggest problem IIRC in the 4->5 change is the way it handles
78 classes, and a lot of code 'simply works' on both.
79 I currently develop in 5 and then serve on 4, and even that has
80 minimal errors in translation, so its not all /that/ bad. Same with
81 java 1.4<-> 1.5, in most cases, the code the 'user' would be running
82 needs minimal fixes, its just the bigger packages that cause the
83 problems. ( I cant say if i know this is the case with GTK tho ..
84 never been much of my feild of expertiese )
85
86 So we have a scenario where we have a mingling of styles for diferent
87 user targets,
88 we have slotting to keep the builds happy with unique versions, but we
89 still have a migration path for users.
90
91 Maybe to you that seems illogical, but to me, its handy and convenient.
92
93 In the case of autoconf, im personally glad it all hides under one
94 non-linear space-time-continumum on my harddrive ;) . The thought of
95 them all being in seperate ebuild names would drive me nutty ( folder
96 with 10 different package names for the same thing = wtf? )
97
98 The argument of 'cleaning' was a problem for a little while, but im
99 glad the kernel uses slotting, for the reason I dont want to have a
100 seperate ebuild for different kernels, i dont want old kernel sources
101 to be taken away when the new one turns up, and when i want to get rid
102 of old kernels, i want to be able to do a nice and simple emerge -C
103 <=some-version to get rid of them when im done with them. The same
104 occurs in many of the web-applications, where multiple versions are
105 handy, but multiple ebuild names would cause headaches.
106
107 the only way to get around all these nasties would be to have a 3 part
108 package name imo, such as
109 dev-libs/gtk/2/2.0.1.ebuild
110 dev-libs/gtk/1/1.0.1.ebuild
111 for instance , and when you look at it like that, it is in essence
112 identical to 'slots', except a 'slot' is governed by a string in the
113 actual file, instead of a string in the filename.
114
115 Maybe slots are over abused in some cases, but there are IMO many uses
116 for them which I'm thankful for, and in some cases where I wish
117 packages had slotting on them. Mysql for instance was going slotted,
118 and i wanted to be able to have 2 concurrent mysqls with one with
119 debug flags and the other not, so when things went nasty i could click
120 in the debugged one to find the problem, but not have to run the
121 debugged one 24/7 and fill my hard drive @ 5G/min, but unfortunately,
122 they didn't have developers who could be bothered so it got dropped.
123
124 --
125 Kent
126 ruby -e '[1, 2, 4, 7, 0, 9, 5, 8, 3, 10, 11, 6, 12, 13].each{|x|
127 print "enNOSPicAMreil kdrtf@×××.com"[(2*x)..(2*x+1)]}'
128 --
129 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] why multiple versions of java-config, automake, and autoconf? Enrico Weigelt <weigelt@×××××.de>