64-bitowe binarki w /usr/lib

Tomasz Pala gotar at polanet.pl
Mon Jul 3 23:21:23 CEST 2017


On Mon, Jul 03, 2017 at 09:42:02 +0200, Adam Osuchowski wrote:

>> Ale jak wprowadził bałagan? Skoro już ustaliliśmy, że jest bez
>> znaczenia, czy będzie lib czy lib64, to poziom bałaganu się tym commitem
>> nie zmienił. A gdyby to przenieść do libexec, to by się zmniejszył - bo
>> od razu byś wiedział, gdzie te pliki być POWINNY.
> 
> Nie ustaliliśmy tylko Ty ustaliłeś i to dopiero teraz.

Popraw mnie, jeżeli się mylę, ale nie wskazałeś żadnego znaczenia lokalizacji.

> Ja chciałem się
> tylko dowiedzieć dlaczego w PLD raz jest tak a raz inaczej, czemu dwa
> różne pakiety w tej samej sytuacji (binarki do użytku wewnętrznego,
> wykorzystywane wyłącznie przez daną aplikację; a o .so w ogóle nic nie
> mówiłem) mają te pliki w dwóch różnych katalogach i od czego (lub kogo)

I otrzymałeś odpowiedź: najwyraźniej nikt nie uznał tego "problemu"
wartego marnowania własnego czasu oraz dodatkowego 'okablowania' w
specach.

> to zależy, a nie coś zmieniać. Ale ok, niech będzie, że jest w porządku,
> nie będę kolejny raz tłumaczył o co mi chodzi. Przyjmuję do wiadomości
> odpowiedź ,,bo tak'' i niech każdy pakiet ma to gdzie bądź.

I znowu nie wiem skąd jakiś foch - już na samym początku wskazałem
przecież, że właściwym miejscem dla tego typu plików jest libexec, więc
jeżeli JUŻ ten temat porządkować, bo jak rozumiem o to Ci chodzi, to
należy użyć tej właśnie lokalizacji.

Jak dla mnie - po prostu wypierasz prawidłowe rozwiązanie problemu (libexec),
bo nie przystaje do wizji, jaką miałeś na początku, przez co teraz
całkiem ignorujesz udzieloną odpowiedź. Wcale nie brzmiała ona "bo tak",
lecz "bo nie mamy libexec, w związku z czym jest jak jest". Bo żadna
specyfikacja nie wskazuje, czy odpowiedniEJSZY jest /usr/lib czy
/usr/lib64 - JEŻELI zadajesz takie pytanie, to odpowiedniejszy jest
/usr/libexec. Chcesz porządku?

1. Na początek wprowadzić katalog do FHS.
2. Później poprawić pakiety, gdzie lokalizacja modułów określana jest
wszelką ręczną rzeźbą (poprawki pewnie polegać będą na usuwaniu tej
łataniny).

3. Na koniec przedyskutować przedefiniowanie w rpmie:

-14: _libdir    %{_exec_prefix}/%{_lib}
-14: _libexecdir        %{_exec_prefix}/%{_lib}

- ale to już byłaby gruba zmiana, potencjalnie psująca rzeczy.

Tutaj masz też odpowiedź, dlaczego raz jest tak, a raz inaczej - te
pakiety, a raczej ich build systemy, które używają _libexecdir, lądują w
/usr/lib64 (i one płynnie przeniosą się do libexec), natomiast te, gdzie
lokalizację wskazujemy ręcznie (postaci "%{_prefix}/lib", gdy chcemy być
arch-independent - zwracam uwagę, że właśnie BEZ używania makra %_lib),
naturalnie się przestawią na ścieżkę arch-independent (bo libexec nie ma
żadnych cyferek).

-- 
Tomasz Pala <gotar at pld-linux.org>


More information about the pld-devel-pl mailing list