Debian conffiles alternative

2

Eu mantenho um pacote Debian nativo que instala um aplicativo e um banco de dados SQLite inicial. Espero que o aplicativo edite o banco de dados.

Como evito que as atualizações substituam o banco de dados?

Pensei que conffiles seria a solução, mas o guia do mantenedor do Debian diz :

If your program uses configuration files but also rewrites them on its own, it's best not to make them conffiles because dpkg will then prompt users to verify the changes all the time.

Qual é a melhor alternativa?

    
por Stewart 27.11.2018 / 12:54

1 resposta

2

Se você está realmente falando sobre o envio de um banco de dados, e não os arquivos de configuração para acessar um banco de dados, a resposta está um pouco na declaração do problema: um banco de dados não é um arquivo de configuração.

A melhor alternativa (na minha opinião) é instalar o banco de dados nos scripts do mantenedor, não diretamente como um arquivo instalado no pacote. Dessa forma, seus scripts de mantenedor podem lidar com as várias situações que podem surgir, incluindo

  • instalação inicial sem banco de dados;
  • atualizar com um banco de dados existente que deve ser preservado como está;
  • atualize com um banco de dados existente que precisa ser migrado.

Você enviaria o banco de dados em um local temporário em seu pacote, em algum lugar abaixo de /usr/share/yourpackage , e somente o movesse para o local real, se necessário. Não envie em /tmp e não tente "cancelar o registro" do arquivo. Veja também Para onde vão os arquivos temporários durante a instalação de um pacote .deb?

Para ganhar pontos extras, você pode ver dbconfig-common .

    
por 27.11.2018 / 13:00