dpkg.postrm 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/sh -e
  2. # This script can be called in the following ways:
  3. #
  4. # After the package was removed:
  5. # <postrm> remove
  6. #
  7. # After the package was purged:
  8. # <postrm> purge
  9. #
  10. # After the package was upgraded:
  11. # <old-postrm> upgrade <new-version>
  12. # if that fails:
  13. # <new-postrm> failed-upgrade <old-version>
  14. #
  15. #
  16. # After all of the packages files have been replaced:
  17. # <postrm> disappear <overwriting-package> <version>
  18. #
  19. #
  20. # If preinst fails during install:
  21. # <new-postrm> abort-install
  22. #
  23. # If preinst fails during upgrade of removed package:
  24. # <new-postrm> abort-install <old-version>
  25. #
  26. # If preinst fails during upgrade:
  27. # <new-postrm> abort-upgrade <old-version>
  28. # Remove log file when dpkg is purged
  29. remove_logfile() {
  30. rm -f /var/log/dpkg.log /var/log/dpkg.log.* 2>/dev/null
  31. }
  32. # Cleanup multiarch infodb leftovers
  33. cleanup_multiarch_infodb()
  34. {
  35. admindir=${DPKG_ADMINDIR:-/var/lib/dpkg}
  36. pkgadmindir=$admindir/info
  37. echo "Cleaning up the multiarch dpkg control files database ..."
  38. ls $pkgadmindir | grep : | while read oldfile; do
  39. rm "$pkgadmindir/$oldfile"
  40. done
  41. rm -f $pkgadmindir/format
  42. }
  43. case "$1" in
  44. remove)
  45. ;;
  46. purge)
  47. remove_logfile
  48. ;;
  49. upgrade)
  50. # Downgrade the multiarch db to a “monoarch” db layout
  51. if dpkg --compare-versions "$2" lt 1.16.2~; then
  52. cleanup_multiarch_infodb
  53. fi
  54. ;;
  55. failed-upgrade|disappear|abort-install|abort-upgrade)
  56. ;;
  57. *)
  58. echo "$0 called with unknown argument \`$1'" 1>&2
  59. exit 1
  60. ;;
  61. esac
  62. #DEBHELPER#
  63. exit 0