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
|
#!/bin/sh
# Summary of how this script is called:
# . new-preinst install
# . new-preinst install old-version
# . new-preinst upgrade old-version
debug()
{
if [ -n "$DEBIAN_BUGZILLA_DEBUG" ]; then
echo "$1" >&2
fi
}
# Use the same order as for mv
replace_file()
{
file_source="$1"
file_dest="$2"
if [ ! -e $file_source ]; then
debug "$file_source has already been moved"
else
if [ ! -e $file_dest ]; then
mv $file_source $file_dest || exit 10
debug "mv $file_source $file_dest"
else
cp $file_dest ${file_dest}.old
debug "ucf $file_source $file_dest"
ucf $file_source $file_dest || exit 11
fi
chown www-data:www-data $file_dest
#rm -f $file_source
fi
}
upgrade_params_file()
{
file="$1"
if [ -e $file ]; then
debug "Moving $file"
replace_file $file /etc/bugzilla3/params
fi
}
##############################################################
# Main
#############################################################
set -e
mode="$1"
version="$2"
if [ "$mode" = "upgrade" ]; then
# Upgrade the 2.16 packages and older
params_216="/var/lib/bugzilla3/data/params"
if [ -n "$version" ] && dpkg --compare-versions $version lt 2.16.7-6; then
debug "Upgrading $version"
upgrade_params_file $params_216
fi
# Upgrade previous 2.18 packages
params_218="/usr/share/bugzilla3/web/data/params"
if [ -n "$version" ] && dpkg --compare-versions "$version" lt 2.18-4; then
debug "Upgrading $version"
upgrade_params_file $params_218
fi
# Upgrade previous 2.22 package
params_222="/usr/share/bugzilla3/debian/params"
if [ -n "$version" ] && dpkg --compare-versions "$version" lt 2.22.1; then
debug "Upgrading $version"
upgrade_params_file $params_222
fi
fi
#DEBHELPER#
|