Панель запуска и управление версиями исходного кода с ориентацией на разные серии Ubuntu

У меня есть пакет, который можно собрать как для 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.

Есть ли какое-нибудь элегантное решение этой проблемы?

0
задан 15 November 2020 в 01:40

1 ответ

Хорошо, кажется, я понял, как настроить управляющий файл для получения сборки deb через pbuilder-dist как для trusty (14.04), так и для groovy (20.10) на заводной машине.

  1. Создайте файл debian/compat с 9 внутри. (старый способ объявления совместимости)
  2. Удалить debhelper-compat (=9), из Build-Depends: (это несовместимо со старым способом объявления совместимости)
  3. Оставить debhelper (>=9.0) в Зависит от сборки:

У меня есть ${shlibs:Зависит} в Зависит:

0
ответ дан 6 December 2020 в 13:52

Другие вопросы по тегам:

Похожие вопросы: