[devel] I: lib.req: upgraded "library not found" warnings to errors
Vitaly Lipatov
lav на altlinux.ru
Ср Фев 9 03:54:34 MSK 2022
Dmitry V. Levin писал(а) 9.2.22 3:11:
> On Tue, Feb 08, 2022 at 11:50:39PM +0300, Vitaly Lipatov wrote:
...
>> Вы не могли бы подсказать хороший способ для этого?
>> Вот к примеру
>> https://git.altlinux.org/tasks/295053/gears/10/git?p=git;a=blob;f=test_lib_requires2.spec;h=93cbd138404bdff484450d986f7b42f0a6721d4f;hb=57d1826fc867f8617bb0de9e0cb3af1c872a3161
>>
>> у меня есть приватная библиотека ntdll.so, которая расположена в
>> %_libdir/%name
>> Там же находится линкующаяся с ntdll.so библиотека sane.so.
>
> По идее, достаточно сделать %add_findprov_lib_path %_libdir/%name,
> плюс что-то у линкующихся, например, rpath или ld.so.conf,
> должно навести линкер на мысль поискать библиотеку в %_libdir/%name/.
Видимо я не хочу наводить линкер на мысль, делать rpath или тем более
ld.so.conf.
К тому же такое указание приведёт к появлению provides всех библиотек в
%_libdir/name, а они никому не нужны снаружи.
В Wine придерживаются подхода, что его можно запускать из любого
каталога, потому там не будет rpath для библиотек. Если его добавлять,
то надо понимать, за что мы боремся.
>> Я смог найти только такой вариант:
>> 1. Положил ntdll.so также и в %_libdir
>> 2. Убрал генерируемые зависимости на неё:
>> %filter_from_requires /^ntdll.so()(64bit).*/d
>> 3. Не стал упаковывать %_libdir/ntdll.so в пакет, потому что она там
>> не
>> нужна.
>
> Это по сути способ отключить проверку зависимостей на ntdll.so.
Да. Но я думал, что есть менее костыльный.
>> https://git.altlinux.org/tasks/295053/build/10/x86_64/log
>>
>> А как было бы лучше? При условии, что мне нужны auto requires для
>> ntdll.so, но не нужны auto provides для неё.
>
> Почему вы хотите избежать auto provides вида
> %_libdir/%name/ntdll.so()(64bit) ?
Ну я думал, что начнётся история с дубликатами. Пакетов с ntdll.so
внутри может быть много, но снаружи об этом незачем знать.
Но видимо, если полный путь, то не начнётся. Просто чтобы не мусорить?
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel