64-bitowe binarki w /usr/lib

Jakub Bogusz qboosh at pld-linux.org
Tue Jul 4 05:36:23 CEST 2017


On Mon, Jul 03, 2017 at 11:21:23PM +0200, Tomasz Pala wrote:
> On Mon, Jul 03, 2017 at 09:42:02 +0200, Adam Osuchowski wrote:
[...]
> > 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).

O ile pamiętam - wg FHS 3.0, jeżeli jest używane /usr/libexec, to ma być
używane konsekwentnie.

Jak dla mnie - przy multilibie jest to trzeci, dodatkowy katalog,
nadmiarowy.
Jak jest jakaś binarka wywoływana z poziomu biblioteki, to zwykle
i binarki przychodzą dwie wersje, więc trzeba je rozdzielić (/usr/lib
i /usr/lib64, jak wersje biblioteki).
/usr/libexec nadawałoby się dla prywatnych binarek uruchamianych
z ogólnodostępnych binarek, ale równie dobrze można skorzystać
z istniejących już lokalizacji i nie tworzyć nowego katalogu.


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


More information about the pld-devel-pl mailing list