Niespełnione zależności

Paweł A. Gajda mis w k2.net.pl
Śro, 8 Lis 2000, 23:02:32 CET


środa 08/11/2000 22:03:33, Sebastian Zagrodzki:
> On Wed, 8 Nov 2000, Paweł A. Gajda wrote:
> > Dla i686 da to mnóstwo niespełnionych rpmlib(...)ów, bo  
> > rpm-find-rpm-provides nie dokłada ich rpmowi budowanemu na cenzorze
> > (coś tam nie tak z awk?) Jakiś czas temu podesłałem Ci mini speca, 
> > którym można by to spróbować namierzyć (na pewno łatwiej niż za pomocą 
> > rpm.spec). 
> tak BTW, wstawianie kazdemu pakietowi zaleznosci od rpmlib(blablabla)
> jest lekka(?) glupota.

Ano, pomysł pomieszania tego z zależnościami międzypakietowymi  
jest poroniony. W zasadzie Jeff dał się przekonać co do tego, ale, 
żeby się z tego wycofać trzeba już przepisać to sobie samemu (zachowując 
kompatybilność wstecz), i jeszcze go trochę pomęczyć o włączenie
tego do źródeł rpma. 

> a) uniemozliwia to zainstalowanie systemu bez rpma (ale to akurat jest
> najmniejszy problem)

? Nie łapię.

> b) znacznie gorzej: wymusza petle w zaleznosciach: setup nie powinien
> byc zalezny od niczego. Tymczasem zaleznosc od rpmlib powoduje petelke.
> (za setupem wracamy do juz raz obejrzanego pakietu).

Nie wymusza, gdyż rpmlib(...)y są w rpmie "resolwowane" tylko
wewnętrznie i jakiekolwiek Provides: rpmlib(...) w jakimkolwiek 
pakiecie (w tym rpm) jest ignorowane (jest na to łatka u nas, 
która już weszła do rpma 4.1)
 
c) PLD sprzed rpm 3.0.5:

rpm -qpR /home/ftp/PLD/RPMS/*.rpm | wc -l
  16369

Każde rpmlib(...) x średnio 2 szt/pakiet x 2000 pakietów = 
dodatkowe 4 tys zależności do przerobienia. 

> Dlatego jesli pakiet ma AutoReqProv: no, to nie powinno tam byc zadnych
> rpmlib(xxx)

Nie bardzo, np. jeżeli od pewnego momentu pakiety zaczną być pakowane
bzip3, to na takim pakiecie nie mającym Requires: rpmlib(Bzip3) rpm 
nie posiadający wsparcia do bzip3 się wyłoży, zamiast 
napisać czego mu trzeba.  

Tak w ogóle to rpmlib(...)y należało IMO zaimplementować 
jako analogiczny do Provides/Requires mechanizm, ale: 
a) odseparowany od zależności międzypakietowych,
b) oparty o pola bitowe, a nie o "ładne" rpmlib(...........)
Wtedy nie byłoby tych problemów. 

Paweł



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