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 |