From b2e465d6d32d2dc884f58b94acb7e35f671a87fe Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:56:32 +0000 Subject: Join with aliencode Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode --- debian/preinst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 debian/preinst (limited to 'debian/preinst') diff --git a/debian/preinst b/debian/preinst new file mode 100755 index 000000000..141db6e45 --- /dev/null +++ b/debian/preinst @@ -0,0 +1,28 @@ +#! /bin/sh + +# dpkg does this for us while we are upgrading.. +#if [ "$1" = "upgrade" -a -L /var/state/apt -a -e /var/lib/apt -a ! -L /var/state/apt ] && dpkg --compare-versions "$2" ">=" "0.4.10"; then +# rm /var/state/apt +#fi + +if [ "$1" = "upgrade" -o "$1" = "install" -a "$2" != "" ]; then + if [ ! -e /var/lib/apt -a -e /var/state/apt ]; then + # upgrading from /var/state/apt using apt. + # it's probably running now so we want to ensure /var/state/apt + # is still valid afterwards. and since we're upgrading + + if [ -x /usr/bin/perl -a -d /var/state/apt -a ! -L /var/state/apt ] && + perl -e 'exit 1 if ((stat("/var/lib"))[0] != (stat("/var/state/apt"))[0])' + then + # same fs, we can mv it + mv /var/state/apt /var/lib/apt + ln -s ../lib/apt /var/state/apt + # note that this symlink (/var/state/apt) will be removed when + # dpkg finishes unpacking the apt we're about to install; this is okay + else + # scary, let's just symlink it and hope + ln -s /var/state/apt /var/lib/apt + fi + fi + touch /var/lib/apt/lists/partial/.delete-me-later || true +fi -- cgit v1.2.3-70-g09d2