10

We use Ubuntu at work and I will need to make the same configuration changes to many systems so I am packaging these. One of the configuration changes I need to make is setting lightdm to autologin. For me to package this change it seems I will need to clobber the existing /etc/lightdm/lightdm.conf and replace it with the my customized lightdm.conf. This seems like a bad idea.

How can I do this in a way that is won't cause breakage and is inline with how the rest of the community is working?

1 Answers1

15

This is often done by creating a package that uses dpkg-divert in its maintainer scripts to move the old config file aside:

  • In your preinst, divert the file away.

    dpkg-divert --add --package $your_package_name --rename \
        --divert /path/to/file.disabled \
        /path/to/file
    
  • In your postrm, divert the file back.

    dpkg-divert --remove --package $your_package_name --rename \
        /path/to/file
    

See: http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html

One solution that helps abstract dpkg-divert is the config-package-dev package created and maintained by MIT's Debathena project. They have a thorough tutorial.