summaryrefslogtreecommitdiff
path: root/update-conf.in
diff options
context:
space:
mode:
Diffstat (limited to 'update-conf.in')
-rw-r--r--update-conf.in40
1 files changed, 25 insertions, 15 deletions
diff --git a/update-conf.in b/update-conf.in
index 6a8ab16..c3ba366 100644
--- a/update-conf.in
+++ b/update-conf.in
@@ -10,14 +10,16 @@ init_tmpdir TMPD
LBUCACHE="$TMPD/lbucache"
usage() {
- echo "$PROGRAM $VERSION
-Usage: $PROGAM [-aihl]
+ cat >&2 << __EOF__
+$PROGRAM $VERSION
+Usage: $PROGRAM [-a|--all] [-i|--initd] [-l|--list] [-h|--help]
+Options:
+ -a, --all Select all updated files
+ -i, --initd Use all new init.d scripts
+ -l, --list List updated files
+ -h, --help Show this help
- -a Select all updated files.
- -h Show this help.
- -i Use all new init.d scripts.
- -l List updated files.
-"
+__EOF__
}
@@ -31,15 +33,23 @@ is_initd() {
echo "$1" | grep etc/init.d/ > /dev/null
}
-while getopts "alih" opt ; do
- case "$opt" in
- a) aflag="-a" ;;
- i) iflag="-i" ;;
- l) lflag="-l" ;;
- h|*) usage;;
- esac
+args=`getopt -o ailh --long all,initd,list,help -n "$PROGRAM" -- "$@"`
+if [ $? -ne 0 ]; then
+ usage
+ exit 2
+fi
+eval set -- "$args"
+while true; do
+ case $1 in
+ -a|--all) aflag="-a";;
+ -i|--initd) iflag="-i";;
+ -l|--list) lflag="-l";;
+ -h|--help) usage; exit;;
+ --) shift; break;;
+ *) exit 1;; # getopt error
+ esac
+ shift
done
-shift `expr $OPTIND - 1`
for apknew in $(find "$ROOT/etc" -name '*.apk-new') ; do
p="${apknew%.apk-new}"