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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
#! /bin/sh
# -*- Mode: Sh -*-
# preinst ---
# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com )
# Created On : Fri Nov 14 12:12:04 2003
# Created On Node : glaurung.green-gryphon.com
# Last Modified By : Manoj Srivastava
# Last Modified On : Thu Dec 4 02:55:01 2003
# Last Machine Used: glaurung.green-gryphon.com
# Update Count : 5
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
#
# arch-tag: d6a3672d-acb3-4f6c-9984-bad17d8ce0aa
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Abort if any command returns an error value
set -e
package_name=flex
if [ -z "$package_name" ]; then
print >&2 "Internal Error. Please report a bug."
exit 1;
fi
# This script is called before this version of this package is installed.
# When this script is called, the package's files have not been unpacked
# yet.
# This package uses debconf to ask a question, so source the debconf
# confmodule as early as possible. However, it does not depend on debconf,
# so debconf may not be installed.
if [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
db_capb
fi
ask_upgrade () {
if [ -e /usr/share/debconf/confmodule ]; then
db_fget flex/upgrade/pre_2.5.5 seen
if [ "$RET" = true ]; then
# The user saw and answered the question using debconf.
db_get flex/upgrade/pre_2.5.5
if [ "$RET" = "false" ]; then
# Allow the same question to be displayed again on
# another upgrade run.
db_fset flex/upgrade/pre_2.5.5 seen false || true
exit 1
fi
else
# Debconf did not display the question to the user.
:
fi
else
# Debconf is not available so ask the upgrade question by hand.
echo "This version of Flex is a major upgrade from previous"
echo "versions. There have been extensive changes. Flex scanners"
echo "are now reenterant, you may have multiple scanners in"
echo "the same program with differing sets of defaults, and"
echo "they play nicer with modern C and C++ compilers. The Flip"
echo "side is that Flex no longer conforms to the POSIX lex"
echo "behaviour, and the scanners require conforming"
echo "implementations when flex is used in ANSI C mode. The package"
echo "flex-old provides the same behaviour as version 2.5.4a of Flex."
echo ""
echo "Please abort if you are not prepared for these changes in Flex."
answer=""
echo -n "Are you sure you wish to proceed?[y/N]: "
read answer
case $answer in
[Yy]*) nop=
;;
*) exit 1
;;
esac
fi
}
case "$1" in
install)
# About to install this package.
:
# Add a diversion. This is one of the few things which may be done
# before installing any files from the package.
##: dpkg-divert --package foo --add --rename \
##: --divert /usr/bin/other.real /usr/bin/other
# There are two sub-cases:
if test "${2+set}" = set; then
# The configuration files from version $2 of this package are
# still on the system.
if dpkg --compare-versions $2 lt 2.5.5; then
ask_upgrade
fi
else
# There is no existing configuration; install from scratch.
:
fi ;;
upgrade)
# About to upgrade this package from version $2 TO THIS VERSION.
# "prerm upgrade" has already been called for the old version of
# this package.
if dpkg --compare-versions $2 lt 2.5.5; then
ask_upgrade
fi
;;
abort-upgrade)
# Back out of an attempt to upgrade this package FROM THIS VERSION to
# version $2. Undo the effects of "postrm upgrade $2".
:
;;
*) echo "$0: didn't understand being called with \`$1'" 1>&2
exit 0;;
esac
exit 0
|