dpkg.postinst 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/sh
  2. # See deb-postinst(5).
  3. set -e
  4. # Create the database files if they don't already exist
  5. create_database() {
  6. admindir=${DPKG_ADMINDIR:-/var/lib/dpkg}
  7. for file in diversions statoverride status; do
  8. if [ ! -f "$admindir/$file" ]; then
  9. touch "$admindir/$file"
  10. fi
  11. done
  12. }
  13. # Move the info directory from /usr/info to /usr/share/info
  14. move_info_directory() {
  15. if [ -d /usr/info ] && [ ! -L /usr/info ] \
  16. && [ -f /usr/info/dir ] && [ ! -L /usr/info/dir ]
  17. then
  18. echo "Moving /usr/info/dir to /usr/share/info/dir ..."
  19. mv /usr/info/dir /usr/share/info/dir
  20. if [ -f /usr/info/dir.old ]; then
  21. mv /usr/info/dir.old /usr/share/info/dir.old
  22. fi
  23. fi
  24. }
  25. # Remove the /usr/info symlinks we used to generate
  26. remove_info_symlink() {
  27. if [ -L /usr/info ]; then
  28. echo "Removing /usr/info symlink ..."
  29. rm /usr/info
  30. elif [ -L /usr/info/dir ]; then
  31. echo "Removing /usr/info/dir symlink ..."
  32. rm /usr/info/dir
  33. fi
  34. }
  35. # Create log file and set default permissions if possible
  36. create_logfile() {
  37. logfile=/var/log/dpkg.log
  38. touch $logfile
  39. chmod 644 $logfile
  40. chown root:root $logfile 2>/dev/null || chown 0:0 $logfile
  41. }
  42. case "$1" in
  43. configure)
  44. create_database
  45. create_logfile
  46. move_info_directory
  47. remove_info_symlink
  48. ;;
  49. abort-upgrade|abort-deconfigure|abort-remove)
  50. ;;
  51. *)
  52. echo "$0 called with unknown argument '$1'" 1>&2
  53. exit 1
  54. ;;
  55. esac
  56. #DEBHELPER#
  57. exit 0