Gentoo Archives: gentoo-portage-dev

From: Alistair Bush <ali_bush@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] a feature called "stabilize" wanted
Date: Wed, 10 Mar 2010 10:27:57
Message-Id: 201003101128.59938.ali_bush@gentoo.org
In Reply to: [gentoo-portage-dev] a feature called "stabilize" wanted by Johannes Kellner
1 > Hello List ans anyone!
2 >
3 > I'm searching for a feature or an hint how and where to implement it.
4
5 Mmmm....... Im not one of the knowledgable ppl around here but....
6
7 you can have version ranges within files like package.keywords eg
8 <cat/A-4.0
9
10 which would mean ~arch < A-4.0 <= arch
11
12 which is essentially what your asking for.
13
14 The biggest issue I have with a feature like this is that you seems to be
15 overriding the config files all ready present. That would only last until the
16 next time you ran emerge.
17
18 I think this could be better solved with tools ( gui or cli ) that allowed a
19 user to manage package.keywords, etc. Now a tool that actually did this
20 would be very interesting indeed.
21
22 Alistair.
23
24 >
25 > The desired feature could be called "stabilize" or "update to stable"
26 > and would change the selected packages when doing an update (emerge
27 > -avuND world).
28 > Just to give you an initial idea/example, some packages:
29 > package A - (the old_stable) has: 3.0 3.4 3.8 ~3.9
30 > package B - (the young_stable) has: ~1.3 ~1.4 ~1.6
31 > package C - (the unstable) has: ~0.6 ~0.8 ~1.1
32 > So version numbers with the ~ are unstable/~amd64, where numbers without
33 > are stable/amd64.
34 >
35 > Case 1 (amd64): using system wide only stable/amd64
36 > Installing anything would result in A@3.8 and C,B not installed
37 >
38 > Case 2 (~amd64): using system wide the unstable/~amd64 keyword
39 > Installing anything would result in A@~3.9 B@~1.6 C@~1.1
40 >
41 > Case 3 ("real world"): get it managed with masks and keywords that the
42 > major packages are stable, while new features could arrive
43 > Installing anything with the result A@3.8 B@~1.6 C@~1.1
44 >
45 > Nothing new so far, now new package versions arrive:
46 > package A - (the old_stable) has: 3.0 3.4 3.8 ~3.9 NEW: 4.0 ~4.1
47 > package B - (the young_stable) has: ~1.3 ~1.4 ~1.6 NEW: 1.8 ~1.9
48 > package C - (the unstable) has: ~0.6 ~0.8 ~1.1 NEW: ~1.2 ~1.4
49 >
50 > So if we now update (emerge -avuND) right now the results are:
51 > Case 1 (amd64): Update A@3.8 to 4.0, B,C not installed
52 > Case 2 (~amd64): Update A@~3.9 to ~4.1, B@~1.6 to ~1.9, C@~1.1 to ~1.4
53 > Case 3 ("real world"): depends on the new set of masks and keywords...
54 > much work ahead
55 >
56 > What I search is the stabilize feature for the update e.g. (emerge
57 > -avusND) should result in:
58 > Case 1 (amd64):
59 > - update A@3.8 to A@4.0, because a new stable version updates the old
60 > stable version
61 > - B, C not installed
62 >
63 > Case 2 (~amd64):
64 > - update A@~3.9 to A@4.0 update unstable packages to the stable
65 > version when arrived, stop using unstable.
66 > - update B@~1.6 to B@1.8 update unstable packages to the stable
67 > version when arrived, stop using unstable.
68 > - update C@~1.1 to C~1.4 update unstable packages, the never unstable
69 > versions.
70 >
71 > Case 3 ("real world"):
72 > - update A@3.8 to A@4.0 update stable package to newer stable version
73 > when arrived.
74 > - update B@~1.6 to B@1.8 update unstable packages to the stable
75 > version when arrived, stop using unstable.
76 > - update C@~1.1 to C~1.4 update unstable packages, the never unstable
77 > versions.
78 > Optional: make is possible to ignore/filter/select the unstable to
79 > unstable updates, those might cause trouble.
80 >
81 >
82 > Anyone, could help me? Give me a hint if this would be possible? Any
83 > hints where in code this could be implemented? I'm programmer,
84 > professional, so if I get the right hints, will invest spare time in
85 > this. Also I'll ready to setup and run various tests. But I never before
86 > worked at portage...
87 > It might be a good start if the people with the Know-How, will start a
88 > discussing about this idea, what problems need to be solved, which code
89 > parts will need an update and so one. Than I could try to get it
90 > working, but right now, I doesn't even know the right questions.
91 >
92 > Best regards,
93 > - Johannes Kellner