Hello List ans anyone! I'm searching for a feature or an hint how and where to implement it.
The desired feature could be called "stabilize" or "update to stable" and would change the selected packages when doing an update (emerge -avuND world). Just to give you an initial idea/example, some packages: package A - (the old_stable) has: 3.0 3.4 3.8 ~3.9 package B - (the young_stable) has: ~1.3 ~1.4 ~1.6 package C - (the unstable) has: ~0.6 ~0.8 ~1.1 So version numbers with the ~ are unstable/~amd64, where numbers without are stable/amd64. Case 1 (amd64): using system wide only stable/amd64 Installing anything would result in a...@3.8 and C,B not installed Case 2 (~amd64): using system wide the unstable/~amd64 keyword Installing anything would result in a...@~3.9 b...@~1.6 c...@~1.1 Case 3 ("real world"): get it managed with masks and keywords that the major packages are stable, while new features could arrive Installing anything with the result a...@3.8 b...@~1.6 c...@~1.1 Nothing new so far, now new package versions arrive: package A - (the old_stable) has: 3.0 3.4 3.8 ~3.9 NEW: 4.0 ~4.1 package B - (the young_stable) has: ~1.3 ~1.4 ~1.6 NEW: 1.8 ~1.9 package C - (the unstable) has: ~0.6 ~0.8 ~1.1 NEW: ~1.2 ~1.4 So if we now update (emerge -avuND) right now the results are: Case 1 (amd64): Update a...@3.8 to 4.0, B,C not installed Case 2 (~amd64): Update a...@~3.9 to ~4.1, b...@~1.6 to ~1.9, c...@~1.1 to ~1.4 Case 3 ("real world"): depends on the new set of masks and keywords... much work ahead What I search is the stabilize feature for the update e.g. (emerge -avusND) should result in: Case 1 (amd64): - update a...@3.8 to a...@4.0, because a new stable version updates the old stable version - B, C not installed Case 2 (~amd64): - update a...@~3.9 to a...@4.0 update unstable packages to the stable version when arrived, stop using unstable. - update b...@~1.6 to b...@1.8 update unstable packages to the stable version when arrived, stop using unstable. - update c...@~1.1 to C~1.4 update unstable packages, the never unstable versions. Case 3 ("real world"): - update a...@3.8 to a...@4.0 update stable package to newer stable version when arrived. - update b...@~1.6 to b...@1.8 update unstable packages to the stable version when arrived, stop using unstable. - update c...@~1.1 to C~1.4 update unstable packages, the never unstable versions. Optional: make is possible to ignore/filter/select the unstable to unstable updates, those might cause trouble. Anyone, could help me? Give me a hint if this would be possible? Any hints where in code this could be implemented? I'm programmer, professional, so if I get the right hints, will invest spare time in this. Also I'll ready to setup and run various tests. But I never before worked at portage... It might be a good start if the people with the Know-How, will start a discussing about this idea, what problems need to be solved, which code parts will need an update and so one. Than I could try to get it working, but right now, I doesn't even know the right questions. Best regards, - Johannes Kellner -- ------------------------------------------------------------------------------ Johannes Kellner freiberuflicher Informatiker Gostritzer Str. 12, 01217 Dresden, Germany Mobil: +49 162 4145161 Home: +49 351 4087058 cont...@johannes-kellner.eu www.johannes-kellner.eu UStId: DE 2568 79021 ------------------------------------------------------------------------------