home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / etc / init.d / apport < prev    next >
Encoding:
Text File  |  2006-08-16  |  2.2 KB  |  106 lines

  1. #! /bin/sh -e
  2.  
  3. ### BEGIN INIT INFO
  4. # Provides:          apport
  5. # Required-Start:    $local_fs $remote_fs
  6. # Required-Stop:     $local_fs $remote_fs
  7. # Default-Start:     2 3 4 5
  8. # Default-Stop:      S 0 1 6
  9. # Short-Description: automatic crash report generation
  10. ### END INIT INFO
  11.  
  12. PATH=/bin
  13. DESC="automatic crash report generation"
  14. NAME=apport
  15. AGENT=/usr/share/apport/apport
  16. SCRIPTNAME=/etc/init.d/$NAME
  17. PROCFILE=/proc/sys/kernel/crashdump-helper
  18.  
  19. # Exit if the package is not installed
  20. [ -x "$AGENT" ] || exit 0
  21.  
  22. # Exit if we do not use a kernel which provides the hook
  23. [ -e "$PROCFILE" ] || exit 0
  24.  
  25. # read default file
  26. enabled=1
  27. [ -e /etc/default/$NAME ] && . /etc/default/$NAME || true
  28.  
  29. [ "$enabled" = "1" ] || exit 0
  30.  
  31. # Define LSB log_* functions.
  32. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
  33. . /lib/lsb/init-functions
  34.  
  35. #
  36. # Function that starts the daemon/service
  37. #
  38. do_start()
  39. {
  40.     # Return
  41.     #   0 if daemon has been started
  42.     #   1 if daemon was already running
  43.     #   2 if daemon could not be started
  44.     if [ "`cat $PROCFILE`" = "$AGENT" ]; then
  45.         return 1
  46.     else
  47.         echo $AGENT > $PROCFILE || return 2
  48.         return 0
  49.     fi
  50. }
  51.  
  52. #
  53. # Function that stops the daemon/service
  54. #
  55. do_stop()
  56. {
  57.     # Return
  58.     #   0 if daemon has been stopped
  59.     #   1 if daemon was already stopped
  60.     #   2 if daemon could not be stopped
  61.     #   other if a failure occurred
  62.     if [ -z "`cat $PROCFILE`" ]; then
  63.         return 1
  64.     else
  65.         echo '' > $PROCFILE || return 3
  66.         return 0
  67.     fi
  68. }
  69.  
  70. # Set max core dump size, if specified in the default file
  71. set_maxsize()
  72. {
  73.     if [ -n "$maxsize" ] && [ -e /proc/sys/kernel/crashdump-size ]; then
  74.     echo "$maxsize" > /proc/sys/kernel/crashdump-size
  75.     fi
  76. }
  77.  
  78. case "$1" in
  79.   start)
  80.     [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC:" "$NAME"
  81.     do_start
  82.     set_maxsize
  83.     case "$?" in
  84.         0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  85.         2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  86.     esac
  87.     ;;
  88.   stop)
  89.     [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC:" "$NAME"
  90.     do_stop
  91.     case "$?" in
  92.         0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  93.         2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  94.     esac
  95.     ;;
  96.   restart|reload|force-reload)
  97.     set_maxsize
  98.     ;;
  99.   *)
  100.     echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
  101.     exit 3
  102.     ;;
  103. esac
  104.  
  105. :
  106.