On Sat, Oct 07, 2000 at 02:00:24PM +0200, Gregor Hoffleit wrote:
> With the next revision of masqmail, I'd like to move the conffile
> /etc/masqmail.conf to /etc/masqmail/masqmail.conf. What's the best way to do
> this ?
I'm sure my way is not the best way, but it is more careful than yours.
> Is it okay if I just change the position in conffiles and then include this
> in the preinst script, or do I have to make more efforts (e.g. announce this
> to the user via debconf) ?
No. You have to make more efforts. Here's what I do in X, and so far I
have yet to receive a bug report that claims I got someone's conffile lost
(this, of course, is now the cue for 500 reports against my packages
claiming exactly that :-P).
> # move config file to new location
> if [ -e /etc/masqmail.conf ]; then
> if [ ! -d /etc/masqmail ]; then
> mkdir /etc/masqmail
> fi
> mv -f /etc/masqmail.conf /etc/masqmail/
> fi
(Simplifed a bit for pedagogical purposes:)
preinst:
if dpkg --compare-versions "$2" lt "4.0"; then
# /etc/X11/xfs dir renamed to /etc/X11/fs in 4.x
if [ -d /etc/X11/xfs -a ! -e /etc/X11/fs ]; then
echo "Note: Moving X font server configuration directory /etc/X11/xfs to /etc/X11/fs."
mv /etc/X11/xfs /etc/X11/fs
touch /etc/X11/xfs.moved-by-preinst
fi
fi
(Yes, I know I should use debconf instead.)
postinst:
# now safe to finish migration started in preinst
if [ -e /etc/X11/xfs.moved-by-preinst ]; then
rm /etc/X11/xfs.moved-by-preinst
fi
(Yes, I know I can use rm -f; I guess I just like my if statements.)
postrm:
(This is the part most people overlook, because they forget that, yes,
maintainer scripts or package unpacking can fail:)
cleanup () {
if [ -e /etc/X11/xfs.moved-by-preinst -a -d /etc/X11/fs -a ! -e /etc/X11/xfs ]; then
mv /etc/X11/fs /etc/X11/xfs
rm /etc/X11/xfs.moved-by-preinst
fi;
}
case "$1" in
remove) ;;
purge)
update-rc.d xfs remove > /dev/null 2>&1
if [ -d /etc/X11/xfs ]; then
rm -r /etc/X11/xfs
fi
;;
abort-install|abort-upgrade)
cleanup
exit 0
;;
upgrade|failed-upgrade|disappear) exit 0 ;;
esac
--
G. Branden Robinson | I am sorry, but what you have mistaken
Debian GNU/Linux | for malicious intent is nothing more
branden@debian.org | than sheer incompetence!
http://www.debian.org/~branden/ | -- J. L. Rizzo II
Attachment:
pgp1X8h1LjPBq.pgp
Description: PGP signature