Łatwe upgrejdowanie dystrybucji.

Mariusz Mazur mmazur w kernel.pl
Śro, 8 Wrz 2004, 00:17:35 CEST


Ponieważ ręczne pilnowanie tego, żeby wersja/release każdego pakietu były 
większe, niż to, co jest starszych liniach dystrybucji, jest dosyć upierdliwe 
(a próby nadganiania powodują zapychanie builderów :), więc napisałem dwa 
patche, które to 'poprawiają'. Patche się nazywają rpm-distver.patch i 
poldek-distver.patch (budowanie w tej kolejności oczywiście) i chyba powinny 
się nakładać na ac-branchowe rpmy i poldki.

Rzecz działa tak:
U nas pola distribution póki co wyglądały mniej więcej tak "PLD 2.0 (Ac)" co 
oznacza, że można to pole spokojnie używać jako 'superwersji'. Patche 
działają tak, że przy upgrejdzie jakiejś paczki jest sprawdzane pole 
distribution i jeśli pasuje ono do powyższego wzoru (w paczce już 
zainstalowanej oraz tej, do której upgrejdujemy), to wtedy porównujemy która 
dystrybucja jest nowsza i jeśli któraś rzeczywiście jest nowsza, to paczka z 
tej dystrybucji jest 'nowsza' niezależnie od jej wersji. Czyli:

[root w rudy(pldac) RPMS]# rpm -q fix-info-dir
fix-info-dir-0.13-6
[root w rudy(pldac) RPMS]# rpm -q --qf '%{distribution}\n' fix-info-dir
PLD 2.0 Ac
[root w rudy(pldac) RPMS]# rpm -qp --qf '%{distribution}\n' 
fix-info-dir-0.13-5.>
PLD 3.0 Th
[root w rudy(pldac) RPMS]# poldek --sdir=. -U fix-info-dir
[root w rudy(pldac) RPMS]# rpm -q fix-info-dir
fix-info-dir-0.13-5


Kto chce, to niech sobie to potestuje w jakiś bardziej skomplikowanych 
sytuacjach - w ciągu w miarę krótkiego czasu mam to zamiar dodać do Ac.



-- 
Każdy człowiek, który naprawdę żyje, nie ma charakteru, nie może go mieć.
Charakter jest zawsze martwy, otacza cię zgniła struktura przeniesiona z 
przeszłości. Jeżeli działasz zgodnie z charakterem wtedy nie działasz w ogóle
- jedynie mechanicznie reagujesz.                 { Osho }




Więcej informacji o liście dyskusyjnej pld-devel-pl