preinst 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #! /bin/sh
  2. # dpkg does this for us while we are upgrading..
  3. #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
  4. # rm /var/state/apt
  5. #fi
  6. if [ "$1" = "upgrade" -o "$1" = "install" -a "$2" != "" ]; then
  7. if [ ! -e /var/lib/apt -a -e /var/state/apt ]; then
  8. # upgrading from /var/state/apt using apt.
  9. # it's probably running now so we want to ensure /var/state/apt
  10. # is still valid afterwards. and since we're upgrading
  11. if [ -x /usr/bin/perl -a -d /var/state/apt -a ! -L /var/state/apt ] &&
  12. perl -e 'exit 1 if ((stat("/var/lib"))[0] != (stat("/var/state/apt"))[0])'
  13. then
  14. # same fs, we can mv it
  15. mv /var/state/apt /var/lib/apt
  16. ln -s ../lib/apt /var/state/apt
  17. # note that this symlink (/var/state/apt) will be removed when
  18. # dpkg finishes unpacking the apt we're about to install; this is okay
  19. else
  20. # scary, let's just symlink it and hope
  21. ln -s /var/state/apt /var/lib/apt
  22. fi
  23. fi
  24. touch /var/lib/apt/lists/partial/.delete-me-later || true
  25. fi
  26. #DEBHELPER#