Pacote Debian com arquivos opcionais

Pacote Debian com arquivos opcionais

Scripts para criar pacotes debian existem e funcionam. Eu tenho que modificá-los. Em novos casos específicos, pode haver alguns arquivos opcionais que desejo incluir no pacote.

Se eu adicioná-los ao package.install, falharei, pois apenas esses arquivos não existem. Se eu não adicioná-los ao package.install, eles nunca serão incluídos no pacote, mesmo que existam.

Para determinar o caso específico, tenho uma variável de ambiente especial:SPECIFIC_CASE=CASE

Como devo configurar scripts de criação de pacotes debian para procurar esses arquivos apenas em casos específicos?

No arquivo rules(que é projetado como Makefile), tenho alvos:

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

Responder1

Com a maioria das ferramentas de empacotamento no Debian, o conteúdo do pacote packageacaba sendo o que está presente debian/packagequando dpkg-debé executado. Você pode colocar os arquivos lá da maneira que quiser, não precisa depender dh_install(que é a ferramenta que processa .installos arquivos).

Por isso:

override_dh_install:
        dh_install
        install blah debian/package/wherever

e assim por diante. É aqui que você adicionaria o tratamento condicional de arquivos.

No entantoé importante perceber que uma especificação de pacote (e isso não é específico do Debian) deve ser consistente:ou sejaem uma determinada arquitetura, a construção de um pacote deve sempre resultar no mesmo conteúdo do pacote. Empacotar conteúdo opcional geralmente envolve construir o projeto para que todos os arquivos sejam gerados e, em seguida, despachá-los em pacotes diferentes, dos quais nem todos precisam ser instalados. (Essepodeenvolvem ir muito longe,por exemploa compilação do GCC que possui alguns truques para que o driver do compilador conheça todos os idiomas disponíveis, mas nem todos precisam ser instalados.)

informação relacionada