poldek, multilib, file colors

Jakub Bogusz qboosh w pld-linux.org
Nie, 12 Cze 2005, 17:24:45 CEST


On Sun, Jun 12, 2005 at 04:29:01PM +0200, Paweł A. Gajda wrote:
> Przymierzam się do zrobienia do tego wsparcia w poldku, ale zdecydowanie 

O, wreszcie :)
Niedawno instalowałem OOo 1.1.4 i686 na amd64 i musiałem kilkadziesiąt
bibliotek ręcznie doinstalowywać.
Przy okazji wyszły słabości rpm-a 4.3.x w stosunku do 4.4... (o tym
dalej)

> mam za mało informacji jak ma to dokładnie wyglądać, a google nie
> wypluwa szczątkowe informacje. Ma ktoś może jakiś namiar na jakiś
> dokument to opisujący? 

Niestety kiepsko z tym...

> Z tego co wygrzebałem, powinna być możliwa instalacja wielu egzemplarzy
> pakietu pod różne architektury, czyli:
> 
> $ rpm -Uvh foo.i386; rpm -Uvh foo.x86_64
> 
> Pytania: 
> 
> 1) Gdzie w rpmie są zdefiniowane architektury które mogą koegzystować 
>    w ten sposób? Z rpmowych macros jakoś nie mogę się tego doczytać.

W installplatform jest definiowane MULTILIBNO - to idzie potem do makr
_multilib* (w platform).
Do tego są definicje arch_compat w rpmrc (pozwalające instalować
odpowiednie pakiety 32-bitowe na architekturach 64-bitowych).
Resztę załatwiają kolory plików w pakietach (0/1/2 w zależności od
rodzaju - nie-ELF/ELF32/ELF64).

> 2) Jak zasymulować takie zachowanie na i386 systemie? Powyższe, z paczkami 
>    z FC3 nie działa (package is already installed).
Kiedyś próbowałem się bawić z %_transaction_color - może to ustawić na
3?

> 3) Rozumiem, że mając zainstalowane foo-1.0.{i386,x86_64}, rpm robi bez 
>    problemu upgrade takich paczek? 

Tak. (ale 4.4.1)

> 4) Kolory to, jak wnioskuję, pomysł by wkładać do jednej paczki
>    jednocześnie np. wersji x86 w /lib i x86_64 w /lib64??

Do tego by nie były potrzebne...
P/R dla bibliotek są obsługiwane przez dodanie "(64bit)" do SONAME.
Raczej do rozwiązywania konfliktów plików, kiedy te same pliki wchodzą
w skład pakietów dla różnych architektur.
Różniące się pliki o tym samym kolorze są w konflikcie.
Natomiast w przypadku plików o różnym kolorze rpm nie sygnalizuje
konfliktu.
rpm 4.3.x niestety zostawia ostatnio instalowaną wersję (przez co
nadpisał mi m.in. /sbin/ldconfig z glibc64 32-bitową wersją,
powodując nie działanie następnie instalowanych bibliotek 64-bitowych :/).
4.4.1 AFAIK zawsze wybiera binarki ELF64.

Dlatego dobrze by było, żeby w Ac był rpm 4.4.1.

> I, jeżeli dobrze
>    się domyśliłem, co z tego wynika dla poldka? 

Dopóki nie interesuje się konfliktami plików, to chyba nic...

Wystarczyłoby chyba, żeby poldek traktował pakiety o tej samej nazwie
dla różnych architektur jako różne.


-- 
Jakub Bogusz    http://qboosh.cs.net.pl/



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