Я создал пакет, который содержит 32-разрядные библиотеки для совместимости с 32-разрядными приложениями в 64-разрядных системах, сохраненных в /usr/lib32
. Это вызывает ia32-libs
зависимость добавляется к моему пакету. Однако работы пакета, превосходные без тех библиотек как другие 32-разрядные программы, должны установить ia32-libs
самостоятельно.
Как я препятствую тому, чтобы процесс сборки генерировал ia32-libs
зависимость? nvidia-current
кажется, способному делает это также, но использует CDBS, который я не использую. (Я использую плоскость rules
файл, как сгенерировано dh_make
)
Чтобы заставить debhelper проигнорировать 32-разрядные библиотеки, я должен был добавить цель для игнорирования путей, содержащих /usr/lib32
:
override_dh_shlibdeps:
dh_shlibdeps --exclude=/usr/lib32
После этого, ia32-освобождает зависимости, больше не вычислялся бы. Так как эта цель только необходима для 64-разрядных систем, я на самом деле использую ниже отрывка для virtualgl пакета:
ifeq ($(DEB_BUILD_ARCH), amd64)
override_dh_shlibdeps:
dh_shlibdeps --exclude=debian/virtualgl/usr/lib32
endif
Обратите внимание что пробел прежде dh
вкладка.
Удаление ia32-libs
зависимость явно охвачена в Руководстве по внедрению Мультидуги Debian:
http://wiki.debian.org/Multiarch/Implementation
Который в основном означает, существуют ли определенные dpkg инструменты, которые испускают слишком много пакетов при определении мультидуги затем, это - ошибка инструмента и теперь является хорошим временем для регистрации отчета.