Is it possible to exclude some particular files in
package.installfile?
Não diretamente, mas existem pelo menos três maneiras de alcançar o que você procura. (Como você mencionou a substituição de dh_install , suponho que esteja usando dh style rules .)
-
dh_installcopia arquivos dedebian/tmppara o destino deles. Seu antecessor,dh_movefiles, move-os; é obsoleto, mas ainda pode ser usado nesse tipo de situação. A maneira de fazer isso é listar o pacoteAantes do pacoteBindebian/control(para que seja processado primeiro, assumindo que ambos tenham a mesma arquitetura), renomeieA.installparaA.filese substituadh_installque ele executadh_movefilesprimeiro:override_dh_install: dh_movefiles dh_installIsso moverá os arquivos para
Adedebian/tmp, portanto, o arquivoB.installpoderá listarscriptseBterá todos os arquivos restantes emscripts.As sequências
dhignoramdh_movefiles, por isso não há nada de especial a fazer para evitar a sua execução duas vezes. -
debhelperarquivos de configuração podem ser executáveis, portanto você pode substituirB.installpor um script que listascripts’conteúdo e filtra qualquer coisa que esteja emA.install. -
Outra abordagem seria adicionar uma etapa após
dh_install, o que remove qualquer coisa emAdeB; algo comooverride_dh_install: dh_install cd debian/A/scripts; find . -type f -exec rm -f ../B/scripts/{} \;(não testado).