preinst is in inn2 2.6.0-2.
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 | #!/bin/sh -e
convert_from_non_lfs() {
# is this the inn2 or inn2-lfs package?
if [ "$DPKG_MAINTSCRIPT_PACKAGE" != 'inn2' ]; then return 1; fi
if [ "$1" = 'upgrade' ]; then
# only consider upgrades from releases older than 2.5.4-1
if dpkg --compare-versions $2 ge 2.5.4-1; then return 1; fi
# did this architecture have a non-LFS inn2 package?
case "$DPKG_MAINTSCRIPT_ARCH" in
alpha|arm|hppa|i386|mips|mipsel|powerpc|s390|sparc) : ;;
*) return 1 ;;
esac
elif [ "$1" = 'install' ]; then
# if we are replacing inn2-lfs then prevent it from deleting the spool
local inn2_lfs_postrm=$(dpkg-query --control-path inn2-lfs postrm 2> /dev/null || true)
if [ "$inn2_lfs_postrm" ]; then
perl -i -pe 's/purge/purge-DISABLED-BY-inn2/' "$inn2_lfs_postrm"
fi
return 1
else
return 1
fi
# has the administrator agreed to continue?
if [ -e /etc/news/convert-inn-data ]; then
rm /etc/news/convert-inn-data
return 0
fi
# This will be relevant for only a limited number of users, so I would
# rather not introduce debconf just for asking the question. --Md
cat <<END
You are trying to upgrade inn2 on a 32-bit system where an old inn2 package
without Large File Support is currently installed.
Since INN 2.5.4, Debian has stopped providing a 32-bit inn2 package and a
LFS-enabled inn2-lfs package and now only this LFS-enabled inn2 package is
supported.
This will require rebuilding the history index and the overview database,
but the postinst script will attempt to do it for you.
BEWARE: the timecaf spool format is not compatible between 32 and 64 bit
systems and no conversion tool is available.
A possible solution may involve manually feeding the articles to the new
server by using the old innxmit binary in a chroot environment containing
the old spool, history and /etc/news/.
Please create an empty /etc/news/convert-inn-data file and then try again
upgrading inn2 if you want to proceed.
END
# fail to stop the installation
exit 1
}
# this should be checked before everything else in the script
if convert_from_non_lfs "$@"; then
echo "Will rebuild the history and overview databases."
: > /var/lib/news/must-rebuild-history-index
: > /var/lib/news/must-rebuild-overview
fi
# #690128: if the old MOTD file has been amended by the admin from default,
# then copy it to the new non-conffile nnrpd MOTD file.
# If not then remove the old MOTD conffile, being sure to cater for rollback.
dpkg-maintscript-helper rm_conffile /etc/news/motd.news 2.5.3-1~ -- "$@"
dpkg-maintscript-helper mv_conffile /etc/news/radius.conf /etc/news/inn-radius.conf 2.5.3-3~ -- "$@"
exit 0
|