The package has been broken by the 5.1 and 5.2 SRUs, Ccing Nicolas and
Tobias who did those changes.

* The package before -5.1 were handling those conffiles by doing

debian/rules

    # Don't overwrite existing config files.
    for f in lircd.conf lircmd.conf irexec.lircrc lirc_options.conf; do \
        mv debian/tmp/etc/lirc/$$f debian/tmp/etc/lirc/$$f.dist; \
    done

debian/postinst

for f in lircd.conf lircmd.conf irexec.lircrc lirc_options.conf; do
    test -e /etc/lirc/$f || cp /etc/lirc/${f}.dist /etc/lirc/$f || :
done

The special handling seems to come from the fact that the format changed
from old lirc versions


* Nicolas in -5.1 replaces the special handling by restoring them as
conffiles and removed the postinst/rules hacks and added a .maintscript

* Tobias did another SRU in -5.2 removing the .maintscript to avoid
conffile prompts and restored the debian/rules hack renoming those
.conf, but he didn't restore the postinst snippet than assured the files
existed on new installations, leading to configurations files not
existing and lircd segfaulting


There are a few possible options there now that I can see
- restore the .postinst 'test -e /etc/lirc/$f || cp /etc/lirc/${f}.dist
/etc/lirc/$f || :' calls
- reverse the logic, and ship the conffile with the normal name but move
old existing pre 0.10 ones to .old or something in the preinst
- restore the 'prompt for conffile change even when no change' bug, it's
not ideal but better than just segfaulting and failing installation


Thoughts?

Cheers,
Sebastien Bacher

Reply via email to