TL; DR: Я хотел бы создать разделенный пакет debian с разделяемой библиотекой, dh_shlibdeps жалуется, что не может найти разделяемые библиотеки, используемые исполняемыми файлами, в двоичном пакете утилит (сборка работает, и разделяемые библиотеки устанавливаются в соответствующий пакет библиотек). Как я могу исправить шаг dh_shlibdeps / собрать этот пакет?
У меня есть сплит-пакет, который генерирует следующие двоичные пакеты из одного пакета с исходным кодом:
metapackage
depends: libraries utilities
libraries
utilities
depends: libraries
Пока все строилось нормально когда stati c linkage использовался для утилит, я бы хотел сейчас перейти на Dynami c linkage. Проблема в том, что dh_shlibdeps
жалуется, что не может найти разделяемые библиотеки (которые находятся внутри пакета библиотеки).
dpkg-shlibdeps: warning: cannot find library foo.so needed by debian/utilities/usr/bin/bar
Поскольку я все еще изучаю упаковку Debian, я сначала последовал предложению из инструмента добавление правила перезаписи для dh_shlibdeps
, которое задает флаг -l
следующим образом
overwrite_dh_shlibdeps:
dh_shlibdeps -ldebian/libraries
Однако я заметил, что dpkg-shlibdeps вызывается с -l/debian/libraries
(обратите внимание на ведущий sla sh делает его абсолютным путем). Дальнейшее расследование привело меня к ожиданию файла shlibs.local
, который я не могу найти ни в папке root debian пакета split, ни в папке debian/libraries/DEBIAN
. Таким образом, я ожидаю, что у меня может возникнуть проблема с упорядочением, в настоящее время я использую довольно тривиальный файл правил (%: dh + перезапись установки для копирования файлов в разные пакеты). Как мне изменить файл правил, чтобы я мог собрать утилиты с общими библиотеками и упаковать их как разделенные пакеты?