preinst is in etckeeper 1.9ubuntu2.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #!/bin/sh
set -e
# Prepare to move a conffile without triggering a dpkg question
prep_mv_conffile() {
PKGNAME="$1"
CONFFILE="$2"
if [ -e "$CONFFILE" ]; then
md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`"
if [ "$md5sum" = "$old_md5sum" ]; then
rm -f "$CONFFILE"
fi
fi
}
# Remove a no-longer used conffile
rm_conffile() {
PKGNAME="$1"
CONFFILE="$2"
if [ -e "$CONFFILE" ]; then
md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`"
if [ "$md5sum" != "$old_md5sum" ]; then
echo "Obsolete conffile $CONFFILE has been modified by you."
echo "Saving as $CONFFILE.dpkg-bak ..."
mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
else
echo "Removing obsolete conffile $CONFFILE ..."
rm -f "$CONFFILE"
fi
fi
}
case "$1" in
install|upgrade)
if dpkg --compare-versions "$2" le "0.7"; then
for c in README 50uncommitted-changes; do
prep_mv_conffile etckeeper "/etc/etckeeper/pre-apt.d/$c"
done
for c in README 10git-test 30git-add 40git-rm 50git-commit; do
prep_mv_conffile etckeeper "/etc/etckeeper/post-apt.d/$c"
done
for c in 40git-init 50git-ignore 50git-perm \
50git-pre-commit-hook 70git-add; do
prep_mv_conffile etckeeper "/etc/etckeeper/init.d/$c"
done
fi
if dpkg --compare-versions "$2" le "0.10"; then
for c in 10vcs-test 30git-add 30hg-addremove 40git-rm; do
prep_mv_conffile etckeeper "/etc/etckeeper/post-install.d/$c"
done
fi
if dpkg --compare-versions "$2" le "0.13"; then
for c in 20store-empty-directory 40rm-old-metadata; do
rm_conffile etckeeper "/etc/etckeeper/pre-commit.d/$c"
done
for c in 10restore-etckeeper 20restore-metadata; do
prep_mv_conffile etckeeper "/etc/etckeeper/init.d/$c"
done
fi
if dpkg --compare-versions "$2" le "0.15"; then
for c in 40bzr-rm 45bzr-precommit; do
rm_conffile etckeeper "/etc/etckeeper/commit.d/$c"
done
fi
if dpkg --compare-versions "$2" le "0.50"; then
for c in 20warn-hardlinks 20warn-special-file; do
rm_conffile etckeeper "/etc/etckeeper/pre-commit.d/$c"
done
fi
if dpkg --compare-versions "$2" le "0.61"; then
rm_conffile etckeeper "/etc/etckeeper/commit.d/40git-rm"
fi
# delete files the prerm stashes away to handle purging
rm -rf /var/cache/etckeeper/stash
esac
|