Subject: common-lisp-controller: /etc/lisp-config.lisp not conforming to policy
From: Adam Di Carlo <[email-masked]>
To: Debian Bug Tracking System <[email-masked]>
Date: Mon, 07 Apr 2003 15:30:57 -0400

Package: common-lisp-controller
Version: 3.58
Severity: normal

/etc/lisp-config.lisp is listed as a package conffile, but it should
not be, because it is edited by the package postinst.

Quoting from Policy, 11.7.3 Behavior:

Configuration file handling must conform to the following behavior:

    * local changes must be preserved during a package upgrade, and
    * configuration files must be preserved when the package is removed,
    * and only deleted when the package is purged.

The easy way to achieve this behavior is to make the configuration file
a conffile. This is appropriate only if it is possible to distribute a
default version that will work for most installations, although some
system administrators may choose to modify it. This implies that the
default version will be part of the package distribution, and must not
be modified by the maintainer scripts during installation (or at any
other time).

In order to ensure that local changes are preserved correctly, no
package may contain or make hard links to conffiles.[45]

The other way to do it is via the maintainer scripts. In this case, the
configuration file must not be listed as a conffile and must not be part
of the package distribution. If the existence of a file is required for
the package to be sensibly configured it is the responsibility of the
package maintainer to provide maintainer scripts which correctly create,
update and maintain the file and remove it on purge.

....

We can also conclude from this that there is another policy violation,
since there is no way for user settings to be put and preserved 
in /etc/lisp-config.lisp.  Maybe something like this would work:

(if (probe-file "/etc/lisp-user-config.lisp")
    (load "/etc/lisp-user-config.lisp")

-- System Information
Debian Release: testing/unstable
Architecture: sparc
Kernel: Linux arroz 2.4.18 #2 Thu Apr 11 14:37:17 EDT 2002 sparc64
Locale: LANG=en_US, LC_CTYPE=en_US

Versions of packages common-lisp-controller depends on:
ii  adduser          3.49                    Add and remove users and groups
ii  bash             2.05b-7                 The GNU Bourne Again SHell
ii  cl-asdf          1.68                    Another System Definition Facility
ii  cl-defsystem3    3.3i+cvs.2003.03.20     Make system for Common Lisp Packag
ii  debconf          1.2.34                  Debian configuration management sy
ii  debianutils      2.4.1                   Miscellaneous utilities specific t
ii  libc6            2.3.1-16                GNU C Library: Shared libraries an
ii  mailx            1:8.1.2-0.20020411cvs-5 A simple mail user agent.
ii  netbase          4.09                    Basic TCP/IP networking system
ii  netkit-inetd     0.10-9                  The Internet Superserver
ii  realpath         1.9.1                   Return the canonicalized absolute