Qual é a alternativa para “excluir” o comando do arquivo rpm.spec na construção do pacote Debian?

0

Durante a criação de um pacote rpm, podemos usar esse comando exclude no arquivo de especificação para excluir o arquivo específico em determinados pacotes.

ex.

%exclude foobar/bin/printjob_svr.bin

Como e onde especificamos o mesmo ao criar um pacote deb? Eu tenho uma lista de arquivos que precisam ser excluídos durante a criação de pacotes diferentes da fonte. Agora eu sou capaz de construir três pacotes diferentes a partir da fonte, mas todos os arquivos estão presentes durante a instalação.

    
por Sanidhya 26.06.2018 / 07:32

1 resposta

1

Em um pacote Debian, você pode fazer isso excluindo os arquivos após a instalação (no pacote fonte), mas antes que o pacote seja criado, ou não os listando nas listas de arquivos a serem instalados, ou excluindo-os da instalação (apenas para determinados tipos de arquivos).

Se você estiver usando o estilo curto dh -based debian/rules , provavelmente estará usando (implicitamente)

  • dh_auto_install , que executa a instalação upstream para colocar arquivos em debian/tmp (já que você está criando vários pacotes);
  • dh_install , que copia arquivos de debian/tmp para o destino de instalação apropriado ( debian/foobar etc.) com base no conteúdo de .install arquivos em debian ( debian/foobar.install etc.).

As três opções listadas acima traduzem para o seguinte.

  1. Para excluir arquivos depois que eles forem copiados para debian/tmp , faça algo como

    override_dh_intall:
            rm -f debian/tmp/bin/printjob_svr.bin
            dh_install
    
  2. Para informar dh_install para pular arquivos, não os aliste em .install files; Isso significa que você não pode usar caracteres curinga ou nomes de diretórios simples ( bin , bin/* ). Você também deve listar os arquivos ignorados em debian/not-installed , mas veja a advertência em man dh_missing .

  3. Para excluir arquivos explicitamente, substitua os destinos e adicione -X options; isso só funcionará para os comandos dh_ que suportam isso:

    override_dh_installdocs:
            dh_installdocs -Xprintjob_svr.bin
    

    (isso não corresponde ao seu caso de uso, estou listando isso por completo).

por 26.06.2018 / 09:08