Advertisement
Guest User

preinst

a guest
Nov 13th, 2011
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.83 KB | None | 0 0
  1. #!/bin/sh -e
  2.  
  3. . /usr/share/debconf/confmodule
  4. db_version 2.0
  5. db_capb backup
  6.  
  7. license=sun-dlj-v1-1
  8.  
  9. errmsg()
  10. {
  11.     echo >&2 ''
  12.     echo >&2 "$@"
  13.     echo >&2 "try 'dpkg-reconfigure debconf' to select a frontend other than noninteractive"
  14.     echo >&2 ''
  15. }
  16.  
  17. db_get shared/accepted-$license
  18. if [ "$RET" = "true" ]; then
  19.     echo "$license license has already been accepted" >&2
  20.     exit 0
  21. fi
  22.  
  23. # facilitate backup capability per debconf-devel(7)
  24. STATE=1
  25. while true; do
  26.     case "$STATE" in
  27.     0)  # ensure going back from license presentment is harmless
  28.         STATE=1
  29.         continue
  30.         ;;  
  31.     1)  # present license
  32.         db_fset shared/present-$license seen false
  33.         if ! db_input critical shared/present-$license ; then
  34.             errmsg "$license license could not be presented"
  35.         exit 2
  36.         fi
  37.         db_fset shared/accepted-$license seen false
  38.         if ! db_input critical shared/accepted-$license ; then
  39.             errmsg "$license agree question could not be asked"
  40.         exit 2
  41.         fi
  42.         ;;      
  43.     2)  # determine users' choice
  44.         db_get shared/accepted-$license
  45.         if [ "$RET" = "true" ]; then
  46.         # license accepted
  47.             exit 0
  48.         fi
  49.         # error on decline license (give user chance to back up)
  50.         db_input critical shared/error-$license
  51.         ;;      
  52.     3)  # user has confirmed declining license
  53.         echo "user did not accept the $license license" >&2
  54.         exit 1
  55.         ;;  
  56.     *)  # unknown state
  57.         echo "$license license state unknown: $STATE" >&2
  58.         exit 2
  59.         ;;  
  60.     esac
  61.     if db_go; then
  62.         STATE=$(($STATE + 1))
  63.     else
  64.         STATE=$(($STATE - 1))
  65.     fi
  66. done
  67.  
  68.  
  69.  
  70. # proper exit (0 or 1) above
  71. errmsg "$license license could not be presented / was not accepted"
  72. exit 2
  73.  
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement