2013-10-05 6 views
2

Я создаю пакет debian, используя dpkg.как убедиться, что пакет debian не имеет зависимости

Пакет имеет зависимость от libvirt, что нежелательно.

Файл правил не определяет эту зависимость, но добавляется dpkg, я полагаю, из-за некоторых вызовов libvirt-dev во время сборки.

Однако мой пакет отлично работает без libvirt. Таким образом, libvirt является «Рекомендуемым» пакетом, но не «Обязательным». Как переопределить эту зависимость и убедиться, что она отсутствует в моем последнем файле deb?

ответ

3

Трудно узнать, не видя ваш фактический пакет, но я бы предположил, что у вас есть двоичная или разделяемая библиотека, которая связана с libvirt. Это приведет к тому, что dh_shlibdeps будет включать libvirt в подвале ${shlibs:Depends}.

Если это ваша проблема, то правильное исправление зависит от того, что связано с libvirt. Это должно быть легко определить; просто запустите ldd на каждый объект двоичной или общей библиотеки в вашем пакете и grep для «libvirt».

Если предмет, связанный с libvirt, является случайным только для пакета и не является частью основной функциональности, то использование Рекомендаций: действительно было бы правильным. Чтобы сделать dh_shlibdeps, исключите этот объект из его сканирования зависимостей, дайте ему опцию -X. Пример мишень для debian/rules, при условии упаковки debhelper7 стиля:

override_dh_shlibdeps: 
     dh_shlibdeps -Xname_of_your_object_to_exclude 

Если вещь (ы), связанная с Libvirt на самом деле является важной частью функциональности пакета, то генерируется Libvirt зависимость является целесообразной. Если вы все еще не хотите этого, вам нужно будет решить, как избежать привязки к libvirt во время сборки.

 Смежные вопросы

  • Нет связанных вопросов^_^