У меня есть пакет, который можно собрать как для groovy, так и для xenial. В Ubuntu Groovy есть libpng-dev
, который разрешается в libpng16
. Плюс к этому есть libpng12
. В Xenial нет libpng-dev
или libpng16
. В нем есть только libpng12-dev
. Я могу собрать приложение с libpng12 на xenial, но я не хочу использовать libpng16 на Groovy.
Также xenial debhelper
, похоже, не предоставляет debhelper-compat
.
Таким образом, мне нужны Build-Depends: debhelper-compat (= 9), libpng-dev (> = 1.2.0)
для Groovy и Build-Depends: debhelper (> = 9.0) , libpng12-dev (> = 1.2.0)
для xenial.
Моя версия пакета - app-1.0-0ubuntu1_i386.deb
Launchpad, похоже, не позволяет создавать один и тот же исходный код дважды в одном PPA. Вы можете копировать двоичные файлы между сериями, но не перестраивать исходный код. Кажется, что панель запуска игнорирует эту часть версии "0-ubuntu1", когда принимает это решение. Также он не позволяет загружать версию ниже, чем она уже есть. Так что, даже если я получу несколько зависящих от серии Build-Depends:
в файле debian / control
- я не смогу извлечь из этого выгоду, поскольку исходный код будет собран только один раз. И я не хочу дважды увеличивать версию приложения только для резервного копирования на xenial.
Есть ли какое-нибудь элегантное решение этой проблемы?
Хорошо, кажется, я понял, как настроить управляющий файл для получения сборки deb через pbuilder-dist
как для trusty (14.04), так и для groovy (20.10) на заводной машине.
debian/compat
с 9
внутри. (старый способ объявления совместимости)debhelper-compat (=9),
из Build-Depends:
(это несовместимо со старым способом объявления совместимости)debhelper (>=9.0)
в Зависит от сборки:
У меня есть ${shlibs:Зависит}
в Зависит: