64-bitowe binarki w /usr/lib
Tomasz Pala
gotar at polanet.pl
Thu Jun 29 13:30:33 CEST 2017
On Wed, Jun 28, 2017 at 10:09:09 +0200, Adam Osuchowski wrote:
>> liby przychodzą w pakiecie zawierającym binarkę gita i to są bardziej
>> jego (prywatne) moduły, niż biblioteki współdzielone.
>
> Ale to jest dokładnie ten sam przypadek co np. dovecot (znalazło by się
> jeszcze parę innych). On też ma swoje własne binarki/biblioteki
> nieprzeznaczone do użycia wprost przez kogoś/coś innego i ma je w
> /usr/lib64/dovecot.
No i powiedz mi, gdzie jest 'prawidłowiej'?
> I tego dotyczyło moje pytanie. Bibliotek współdzielonych
> na 64-bitowym systemie nikt raczej nie będzie wrzucał do /usr/lib, bo linker
> dynamiczny i tak ich tam nie będzie szukał więc byłyby wówczas bezużyteczne.
W takim razie ta lokalizacja jest bez znaczenia. I mamy różnie - dlatego
pisałem właśnie, że wg mnie to objaw zwykłego bałaganu.
>> Ktoś mógłby argumentować, że na tym się multiliba nie robi.
>> Coś jak /usr/lib/rpm.
>
> rpm może i jest sesnownym przykładem bo to jest część core'a systemu,
> ale imho git to jest aplikacja jak każda inna.
No, rozróżnianie po 'ważności' to już przesada. Nawet wyznacznik
techniczny: 'system ma wstać bez dostępu do /usr', jest już mocno
dyskusyjny, a co dopiero jakiśtam rpm.
>> W Fedorze np. to leży w /usr/libexec/git-core i gdybyśmy chcieli mieć
>> porządek, to również tak powinniśmy to zorganizować:
>>
>> https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html
>
> Myślałem na libexeciem ale doszedłem do wniosku, że jeszcze jeden
> potencjalny katalog wprowadziłby jeszcze większy bałagan.
To nie jest jeszcze jeden potencjalny, a zupełnie inny - tam trafiają
prywatne moduły, a nie biblioteki współdzielone. Funkcjonalne
wydzielenie czegoś nie może zwiększać bałaganu...
Poza tym miałem na myśli coś jeszcze innego - mianowicie, jeżeli libexec
jest używany w innych dystrybucjach, to jest obsługiwany przez
buildsystemy aplikacji. Osobiście pamiętam kilka przypadków, gdy
musiałem rzeźbić prefix aplikacji, żeby pasował %_libdir zależny od
architektury. Czyli robić dodatkową robotę tylko dlatego, że nie mamy
libexec. Prawdopodobnie ktoś tej dodatkowej roboty z gitem nie wykonał i
w efekcie moduły gita zmieniły lokalizację, jak to właśnie zauważyłeś.
--
Tomasz Pala <gotar at pld-linux.org>
More information about the pld-devel-pl
mailing list