Eu construo um pacote debian customizado com shuold sobrescrevendo configs de lightdm (autologin). Meu script de instalação (debian / install) contém as seguintes linhas:
lightdm/* /etc/lightdm/lightdm.conf.d/
Mas recebo o seguinte erro ao instalar meu pacote personalizado:
dpkg: error processing /var/cache/apt/archives/AAA (--unpack):
trying to overwrite '/etc/lightdm/lightdm.conf.d/20-lubuntu.conf', which is also in package CCC
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
AAA E: Sub-process /usr/bin/dpkg returned an error code (1)
Eu sei que posso usar o param -force-overwrite para instalar o pacote via dpkg. Mas eu quero instalá-lo como dependência de um outro pacote. Então, como posso permitir que meu pacote sobrescreva os arquivos de configuração de outros pacotes?
Eu tentei isso, mas não funciona (debian / rules):
#!/usr/bin/make -f
%:
dh $@
override_dh_command:
dh_command -- --force-overwrite
override_dh_installdeb:
dh_installdeb -- --force-overwrite
Eu entendi. Há apenas na coisa esquerda. Agora eu posso desviar o arquivo conf original. Mas o checksums do meu DEBIAN / conffile é inválido, então eu deletei. Meu arquivo debian / rules:
overrider dh_installdeb:
dh_installdeb
rm debian/mypackage-name/DEBIAN/conffiles
Eu recebo o seguinte aviso:
Configuration file '/etc/lightdm/lightdm.conf.d/20-ubuntu.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** bash.bashrc (Y/I/N/O/D/Z) [default=N] ?
Como posso remover a mensagem de aviso?
Este é o conteúdo do meu arquivo debian / preinst:
#!/bin/bash
dpkg-divert --add --package mypackage-name --rename --divert /etc/lightdm/lightdm.conf.d/20-lubuntu.conf.real /etc/lightdm/lightdm.conf.d/20-lubuntu.conf
Conteúdo do meu arquivo debian / install:
lightdm/* /etc/lightdm/lightdm.conf.d/
Conteúdo debian / rules:
#!/usr/bin/make -f
%:
dh $@
override_dh_builddeb:
dh_builddeb -- -z1
overrider dh_installdeb:
dh_installdeb
rm debian/mypackage-name/DEBIAN/conffiles
Obrigado.