summaryrefslogtreecommitdiff
path: root/debian/preinst
diff options
context:
space:
mode:
authorIan Jackson <ian@chiark.chu.cam.ac.uk>1996-08-06 02:31:52 +0100
committerIan Jackson <ian@chiark.chu.cam.ac.uk>1996-08-06 02:31:52 +0100
commita9fe21f068524faa2e32a76c412a29371bba08da (patch)
treebe5a5f5e1811b6d9dea4e473d7c9c788a3a2c9db /debian/preinst
parentc496eb18f7cffdb660c341d4b4c1f62fb39d4426 (diff)
downloaddpkg-a9fe21f068524faa2e32a76c412a29371bba08da.tar.gz
dpkg (1.3.0) experimental; urgency=LOW
* dpkg can install named pipes. * dpkg-deb supports directory for destination, generates filename. * dpkg-{source,gencontrol,genchanges,parsechangelog,buildpackage}, dpkg-distaddfile scripts to support new source package format. * a.out build no longer supported. * Changed to new source package format. -- Ian Jackson <ian@chiark.chu.cam.ac.uk> Tue, 6 Aug 1996 02:31:52 +0100
Diffstat (limited to 'debian/preinst')
-rwxr-xr-xdebian/preinst86
1 files changed, 86 insertions, 0 deletions
diff --git a/debian/preinst b/debian/preinst
new file mode 100755
index 000000000..b7a3b21bf
--- /dev/null
+++ b/debian/preinst
@@ -0,0 +1,86 @@
+#!/bin/sh -
+
+if [ "$1" != "upgrade" ]; then exit 0; fi
+
+set -e
+# i386elf: dpkg --assert-support-predepends
+
+oldver="$2"
+
+case "$oldver" in
+ 0.93.[01234]* | - ) ;;
+ * ) exit 0 ;;
+esac
+
+echo '
+contemplating upgrade of dpkg from pre-0.93.50 version ...'
+
+trap 'es=$?; rm -f /tmp/bp.$$; exit $es' 0
+
+perl -000 -ne 'print $x if m/^Package:\s+(\S+\n)/im &&
+ ($x=$1) ne "dpkg\n" &&
+ m/^Status:.*(unpacked|postinst)/im' \
+ /var/lib/dpkg/status >/tmp/bp.$$
+
+if test -s /tmp/bp.$$
+then
+ echo '
+
+WARNING - have you read the release notes for this upgrade ?
+
+The following packages have been unpacked but not yet configured:'
+ echo '' `cat /tmp/bp.$$`
+ echo -n '
+If you proceed with the dpkg upgrade with these packages in this state
+you will LOSE ANY CONFIGURATION CHANGES that have been made to their
+configuration files. I recommend that you back out of the upgrade
+now (see below) and then configure each of these packages using:
+ dpkg --configure --force-hold <package>
+
+If you do this and it fails for some packages they are broken anyway, in
+which case you probably don'"'"'t have that much to lose by going ahead
+with the upgrade.
+
+Type "yes" to confirm that you really want to do the upgrade in
+spite of my warning above; if you give any other response we'"'"'ll back
+off the upgrade to give you a chance to fix things.
+
+Continue with upgrade despite probable loss of config data ? '
+ read response
+ case "$response" in
+ [Yy][Ye][Ss] ) echo OK ... ;;
+ * ) echo 'Aborting dpkg upgrade.'; exit 1 ;;
+ esac
+fi
+
+echo -n '
+IMPORTANT - you must install this upgrade on its own, not together in
+the same dpkg run as any other packages. Otherwise you risk losing
+configuration information.
+
+If you say "no" to the question below we'"'"'ll back off the upgrade now,
+and you can then do it later using:
+ dpkg --install dpkg-0.93.51.deb
+If you'"'"'re not sure what to do, say "no", and then run that command
+(with the appropriate dpkg-*.deb filename) from a root shell prompt.
+
+Are you installing only the dpkg upgrade in this dpkg run ? [y/n] '
+read response
+case "$response" in
+[yY]* | '' )
+ echo 'OK, going ahead.'
+ ;;
+* )
+ echo '
+Aborting dpkg upgrade (you will see error messages from dpkg about this).'
+ exit 1
+ ;;
+esac
+
+if [ -d /usr/lib/dpkg/methods/hd ]
+then
+ echo 'Removing obsolete /usr/lib/dpkg/methods/hd ...'
+ rm -r /usr/lib/dpkg/methods/hd
+fi
+
+exit 0