Debian Splitpackage с общими библиотеками - PullRequest
0 голосов
/ 28 января 2020

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 + перезапись установки для копирования файлов в разные пакеты). Как мне изменить файл правил, чтобы я мог собрать утилиты с общими библиотеками и упаковать их как разделенные пакеты?

...