Use um pacote para instalar dependência e copiar o arquivo conf personalizado

1

Eu usei dh_make para criar uma instalação básica do pacote Debian. Eu adicionei uma dependência que é o programa real que eu quero. Tudo o que quero fazer é sobrescrever o arquivo conf que este pacote instalou, com um novo arquivo com vários parâmetros personalizados.

Eu tentei usar o arquivo install que se parece com isso:

file.conf /etc/destination/file.conf

mas repetidamente recebeu um erro dizendo:

dh_install: cp -a debian/tmp/file.conf debian/custom-package//etc/package// returned exit code 1

Não consigo descobrir por que não encontrará o arquivo. Eu sei debian/tmp é criado pelo construtor, mas eu não sei porque não vai encontrar o meu arquivo, então ele tenta copiar não para o diretório que eu quero, mas prefixa debian/custom-package/ .

Eu também tentei usar um Makefile, mas enquanto ele constrói e executa, o arquivo não está sendo copiado para o diretório. Não tenho certeza se o Makefile está certo ou até mesmo sendo chamado ( dh_make não incluiu originalmente um Makefile, não tenho certeza de onde chamá-lo se ele não for chamado).

O arquivo make tem apenas a diretiva de instalação e é assim:

install:
        cp file.conf /etc/destination/

O arquivo de regras é o arquivo básico que foi construído com dh , e como recomendado pelo guia Debian:

%:
        dh $@
    
por eignhpants 24.06.2015 / 16:33

2 respostas

1

Acabei resolvendo esse problema usando um pacote chamado config-package-dev .

link config-package-dev

Embora eu não tenha percebido na época, havia uma grande falha no que eu estava tentando fazer anteriormente. Atualizações ou alterações no pacote poderiam ter sobrescrito meus arquivos .conf personalizados na atualização e o sistema teria sido quebrado.

config-package-dev resolveu esse problema fazendo links simbólicos para meus arquivos .conf personalizados, o que isola a configuração para alterações (entre outras coisas). Além disso, realizou todas as coisas que eu estava tentando fazer e fez todo o processo muito mais limpo. Acabei jogando fora minha solução antiga e fazendo um pacote totalmente novo com as ferramentas de construção de pacotes do Debian.

Obrigado a todos.

    
por 25.06.2015 / 20:51
1

Veja o wiki do Debian para instruções detalhadas para criar um pacote de configuração. A versão curta que você já recebeu é:

  • elimine o ficheiro install
  • no seu Makefile , especifique o install desejado da seguinte forma:
install:
        mkdir -p $(DESTDIR)/etc/destination/
        cp file.conf $(DESTDIR)/etc/destination/
  • no seu debian/rules , basta executar dh :
%:
        dh $@
    
por 24.06.2015 / 18:56