Можно ли создать несколько пакетов Debian с разными именами из одного источника, добавив определенную опцию?

Можно ли создать несколько пакетов Debian с разными именами из одного источника, добавив определенную опцию?

Я создал пакеты Debian с помощью debuild.

По одной команде с переменной для одного типа цели:

debuild --set-envvar=TARGET=S_SS -b -us -uc -aarm64

и еще один за другим:

debuild --set-envvar=TARGET=S_TT -b -us -uc -aarm64

Эта переменная используется в Makefile.

Результатом debuild-компиляции является *.deb с одинаковым именем пакета для обоих случаев. Можно ли задать определенное имя пакета или путь к папке с файлами, необходимыми для компиляции (я имею в виду control, changelog и т. д.), отличное от "debian" по умолчанию?

решение1

Ну, debian/controlподдерживает замену переменных.

Самые чистые варианты, которые я смог придумать:

  1. (Динамический) Изменитьдвоичныйимена пакетов, в которые нужно включить ваш ${variable} , а debian/controlзатем настроить debian/rulesпередачу переменной напрямую, используя -Vили добавив ее вdebian/substvars

    Ссылка: Политика Debian4.10. Подстановка переменных: debian/substvars&5.2 Файлы управления исходным пакетом – debian/control

  2. (Статический) Заставить debian/rulesвыполнить несколько циклов конфигурации/сборки и сгенерировать разделенные бинарные пакеты. В этом случае debian/controlбудут иметь оба пакета предварительно объявленными и разделенные файлы сборки с использованиемdebian/<packagename>.install

    Ссылка:Измените переменные окружения в debian/rules в соответствии с целями debian/control(мой ответ по другому связанному случаю)

Связанный контент