On Sun, 2008-11-09 at 18:43 +0100, Andreas Metzler wrote: > Frank Lin PIAT wrote: > [....] > > I have question which is directly related: shouldn't a package own and > > declare all the configuration files that it uses, even if it doesn't > > install or modify it? > [...] > > No. Not all configuration files can be managed as dpkg conffiles.
I did not wrote that all configuration file should be conffiles : I wrote that all (well known) configuration files should be tracked. Some configuration files are used by packages but they aren't declared anywhere. Also, as I mentioned, those file aren't necessarily removed by the package when it is purged. For example, on my laptop I've used a quick script to check if /etc/default/* files are declared by the scripts located in /etc/{init.d,cron.*}... as you can see, almost half of them don't belong to any package. apache2.2-common uses /etc/default/apache2 owned by apache2.2-common exim4-base uses /etc/default/exim4 NOT OWNED live-helper uses /etc/default/live-helper_autobuild owned by live-helper acpid uses /etc/default/acpid owned by acpid apache2.2-common uses /etc/default/apache2 owned by apache2.2-common apt-proxy uses /etc/default/apt-proxy owned by apt-proxy atftpd uses /etc/default/atftpd NOT OWNED avahi-daemon uses /etc/default/avahi-daemon owned by avahi-daemon bluez-utils uses /etc/default/bluetooth owned by bluez-utils initscripts uses /etc/default/bootlogd owned by initscripts clamav-daemon uses /etc/default/clamav-daemon owned by clamav-daemon console-tools uses /etc/default/locale NOT OWNED cpufrequtils uses /etc/default/cpufrequtils owned by cpufrequtils cron uses /etc/default/cron owned by cron cron uses /etc/default/locale NOT OWNED cups uses /etc/default/cups owned by cups dbus uses /etc/default/dbus owned by dbus dhcp3-server uses /etc/default/dhcp3-server NOT OWNED dnsmasq uses /etc/default/dnsmasq owned by dnsmasq exim4-base uses /etc/default/exim4 NOT OWNED gdm uses /etc/default/locale NOT OWNED hal uses /etc/default/hal owned by hal initscripts uses /etc/default/halt owned by initscripts hdparm uses /etc/default/hdparm owned by hdparm ifupdown uses /etc/default/ifupdown owned by ifupdown ifupdown uses /etc/default/ifupdown owned by ifupdown irda-utils uses /etc/default/irda-utils NOT OWNED console-common uses /etc/default/locale NOT OWNED klogd uses /etc/default/klogd owned by klogd cpufrequtils uses /etc/default/loadcpufreq NOT OWNED cpufrequtils uses /etc/default/powernowd NOT OWNED initscripts uses /etc/default/locale NOT OWNED initscripts uses /etc/default/devpts owned by initscripts initscripts uses /etc/default/tmpfs owned by initscripts initscripts uses /etc/default/tmpfs owned by initscripts initscripts uses /etc/default/mountoverflowtmp NOT OWNED initscripts uses /etc/default/devpts owned by initscripts initscripts uses /etc/default/tmpfs owned by initscripts network-manager uses /etc/default/NetworkManagerDispatcher NOT OWNED network-manager uses /etc/default/NetworkManager NOT OWNED nfs-common uses /etc/default/nfs-common NOT OWNED nfs-kernel-server uses /etc/default/nfs-kernel-server NOT OWNED openbsd-inetd uses /etc/default/openbsd-inetd NOT OWNED partimage-server uses /etc/default/partimaged owned by partimage-server pcmciautils uses /etc/default/pcmciautils NOT OWNED portmap uses /etc/default/portmap NOT OWNED rsync uses /etc/default/rsync owned by rsync sane-utils uses /etc/default/saned owned by sane-utils sl-modem-daemon uses /etc/default/slmodemd NOT OWNED sl-modem-daemon uses /etc/default/sl-modem-daemon owned by sl-modem-daemon openssh-server uses /etc/default/ssh owned by openssh-server sysklogd uses /etc/default/syslogd owned by sysklogd udftools uses /etc/default/udftools owned by udftools acpi-support uses /etc/default/acpi-support owned by acpi-support ---- The scriptlet I used: for x in $(grep --binary-files=without-match -R -E "/etc/default/[^ $].*[^~]" /etc/{init.d,cron.*} | sed -e 's#\([^:]*\):.* \(/etc/default/[[:alnum:]_-]*\).*#\1:\2#' | sort -u | grep -v ':/etc/default/rcS' ) ; do script="${x##*:}"; cfg="${x%%:*}" ; pkg= $(dpkg -S "$cfg" | sed -e 's/:.*//') ; owner=$(dpkg -S $script 2>/dev/null | sed -e 's/:.*//' ) ; echo -n "$pkg uses ${x##*:} " ; if [ "$owner" ] ; then echo "owned by $owner" ; else echo "NOT OWNED" ; fi ; done -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]