Пакет Debian с дополнительными файлами

Пакет Debian с дополнительными файлами

Скрипты для создания пакета Debian существуют и работают. Мне нужно их изменить. В новом конкретном случае могут быть некоторые необязательные файлы, которые я хочу включить в пакет.

Если я добавлю их в package.install, то у меня не получится, так как не существует только этих файлов. Если я не добавлю их в package.install, то они никогда не будут включены в пакет, даже если они существуют.

Для определения конкретного случая у меня есть специальная переменная окружения:SPECIFIC_CASE=CASE

Как мне настроить скрипты создания пакетов Debian для поиска этих файлов в особых случаях?

В файле rules(который оформлен как Makefile) у меня есть цели:

copy_files:
override_dh_install:
override_dh_auto_install: (empty)
...list of other overrides...
install:
postbuild:
clean:

решение1

С большинством инструментов упаковки в Debian содержимое пакета packageв конечном итоге становится тем, что находится в debian/packageмомент dpkg-debзапуска. Вы можете размещать там файлы любым удобным для вас способом, вам не нужно полагаться на dh_install(который является инструментом, обрабатывающим .installфайлы).

Таким образом:

override_dh_install:
        dh_install
        install blah debian/package/wherever

и т. д. Здесь вы можете добавить условную обработку файлов.

Однаковажно понимать, что спецификация пакета (и это не относится только к Debian) должна быть единообразной:то естьна данной архитектуре сборка пакета всегда должна приводить к одному и тому же содержимому пакета. Упаковка необязательного содержимого обычно включает сборку проекта таким образом, чтобы все файлы были сгенерированы, а затем отправку их в разные пакеты, не все из которых нужно устанавливать. (Этоможетподразумевают необходимость пойти на большие расстояния,например(Сборка GCC, в которой есть несколько трюков, благодаря которым драйвер компилятора знает обо всех доступных языках, но не все из них должны быть установлены.)

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