dpkg.postrm 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/sh
  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> <new-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> <new-version>
  25. #
  26. # If preinst fails during upgrade:
  27. # <new-postrm> abort-upgrade <old-version> <new-version>
  28. set -e
  29. # Remove log file when dpkg is purged
  30. remove_logfile() {
  31. rm -f /var/log/dpkg.log /var/log/dpkg.log.* 2>/dev/null
  32. }
  33. # Cleanup multiarch infodb leftovers
  34. cleanup_multiarch_infodb()
  35. {
  36. admindir=${DPKG_ADMINDIR:-/var/lib/dpkg}
  37. pkgadmindir=$admindir/info
  38. echo "Cleaning up the multiarch dpkg control files database ..."
  39. ls $pkgadmindir | grep : | while read oldfile; do
  40. rm "$pkgadmindir/$oldfile"
  41. done
  42. rm -f $pkgadmindir/format
  43. }
  44. case "$1" in
  45. remove)
  46. ;;
  47. purge)
  48. remove_logfile
  49. ;;
  50. upgrade)
  51. # Downgrade the multiarch db to a “monoarch” db layout
  52. if dpkg --compare-versions "$2" lt 1.16.2; then
  53. cleanup_multiarch_infodb
  54. fi
  55. ;;
  56. failed-upgrade|disappear|abort-install|abort-upgrade)
  57. ;;
  58. *)
  59. echo "$0 called with unknown argument '$1'" 1>&2
  60. exit 1
  61. ;;
  62. esac
  63. #DEBHELPER#
  64. exit 0