Hello,

I've looked at this issue. Peter, you are modifying dma.conf it postinst
to include configuration settings grabbed through debconf, e.g.:

 16     db_get dma/relayhost
 17     if [ -n "$RET" ]; then
 18         sed -i -re
's@^[[:space:]]*(#+[[:space:]]*)?SMARTHOST([[:space:]]+.*)?$@SMARTHOST
'"$RET@" /etc/dma/dma.conf
 19     else
 20         sed -i -re
's@^[[:space:]]*(#+[[:space:]]*)?SMARTHOST([[:space:]]+.*)?$@#SMARTHOST@' 
/etc/dma/dma.conf
 21     fi


As Andreas pointed out this is a policy violation. Maintainer scripts
must not modify conffiles (note conffiles and configuration files mean
different things, in a Debian context). The alternative way to work
around this, is *not* to ship the configuration file as a conffile and
complying with the policy by other means.

I suggest:

* not to mark /etc/dma/dma.conf as conffile (i.e. override
dh_installdeb's standard behavior by using a package.conffiles file) or
do not ship it at all, but generate it at postinst time.
* depend on ucf, do a policy compliant preservation of user changes
through it, continue to prompt using debconf
* You may need to use of dpkg-maintscript-helper's conffile removal
assistant, but please make sure to preserve user changes. Otherwise dpkg
will ignore newer versions of the file, if it is not present in the
newer version.


-- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to