Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh -e
- . /usr/share/debconf/confmodule
- db_version 2.0
- db_capb backup
- license=sun-dlj-v1-1
- errmsg()
- {
- echo >&2 ''
- echo >&2 "$@"
- echo >&2 "try 'dpkg-reconfigure debconf' to select a frontend other than noninteractive"
- echo >&2 ''
- }
- db_get shared/accepted-$license
- if [ "$RET" = "true" ]; then
- echo "$license license has already been accepted" >&2
- exit 0
- fi
- # facilitate backup capability per debconf-devel(7)
- STATE=1
- while true; do
- case "$STATE" in
- 0) # ensure going back from license presentment is harmless
- STATE=1
- continue
- ;;
- 1) # present license
- db_fset shared/present-$license seen false
- if ! db_input critical shared/present-$license ; then
- errmsg "$license license could not be presented"
- exit 2
- fi
- db_fset shared/accepted-$license seen false
- if ! db_input critical shared/accepted-$license ; then
- errmsg "$license agree question could not be asked"
- exit 2
- fi
- ;;
- 2) # determine users' choice
- db_get shared/accepted-$license
- if [ "$RET" = "true" ]; then
- # license accepted
- exit 0
- fi
- # error on decline license (give user chance to back up)
- db_input critical shared/error-$license
- ;;
- 3) # user has confirmed declining license
- echo "user did not accept the $license license" >&2
- exit 1
- ;;
- *) # unknown state
- echo "$license license state unknown: $STATE" >&2
- exit 2
- ;;
- esac
- if db_go; then
- STATE=$(($STATE + 1))
- else
- STATE=$(($STATE - 1))
- fi
- done
- # proper exit (0 or 1) above
- errmsg "$license license could not be presented / was not accepted"
- exit 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement