pkgdelta: adopt parseopts for option parsing
Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
9d9c12e4e2
commit
ceb2362209
2 changed files with 26 additions and 15 deletions
|
@ -83,7 +83,8 @@ pacman-optimize: \
|
||||||
|
|
||||||
pkgdelta: \
|
pkgdelta: \
|
||||||
$(srcdir)/pkgdelta.sh.in \
|
$(srcdir)/pkgdelta.sh.in \
|
||||||
$(srcdir)/library/output_format.sh
|
$(srcdir)/library/output_format.sh \
|
||||||
|
$(srcdir)/library/parseopts.sh
|
||||||
|
|
||||||
repo-add: \
|
repo-add: \
|
||||||
$(srcdir)/repo-add.sh.in \
|
$(srcdir)/repo-add.sh.in \
|
||||||
|
|
|
@ -40,6 +40,7 @@ max_delta_size=70
|
||||||
# ensure we have a sane umask set
|
# ensure we have a sane umask set
|
||||||
umask 0022
|
umask 0022
|
||||||
|
|
||||||
|
m4_include(library/parseopts.sh)
|
||||||
m4_include(library/output_format.sh)
|
m4_include(library/output_format.sh)
|
||||||
|
|
||||||
# print usage instructions
|
# print usage instructions
|
||||||
|
@ -155,22 +156,32 @@ create_xdelta()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
declare -a args
|
OPT_SHORT='hqV'
|
||||||
|
OPT_LONG=('help' 'quiet' 'max-delta-size:' 'min-pkg-size:')
|
||||||
|
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
set -- "${OPTRET[@]}"
|
||||||
|
unset OPT_SHORT OPT_LONG OPTRET
|
||||||
|
|
||||||
# parse arguments
|
# parse arguments
|
||||||
while (( $# )); do
|
while :; do
|
||||||
case "$1" in
|
case $1 in
|
||||||
-h|--help) usage; exit 0 ;;
|
-h|--help)
|
||||||
-V|--version) version; exit 0 ;;
|
usage
|
||||||
-q|--quiet) QUIET=1;;
|
exit 0 ;;
|
||||||
|
-V|--version)
|
||||||
|
version
|
||||||
|
exit 0 ;;
|
||||||
|
-q|--quiet)
|
||||||
|
QUIET=1;;
|
||||||
--min-pkg-size)
|
--min-pkg-size)
|
||||||
if ! isnumeric "$2"; then
|
if ! isnumeric "$2"; then
|
||||||
echo "invalid argument '$2' for option -- '$1'"
|
echo "invalid argument '$2' for option -- '$1'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
min_pkg_size=$2
|
min_pkg_size=$2
|
||||||
shift
|
shift ;;
|
||||||
;;
|
|
||||||
--max-delta-size)
|
--max-delta-size)
|
||||||
arg=$(echo "$2" | awk '{print $1 * 100}')
|
arg=$(echo "$2" | awk '{print $1 * 100}')
|
||||||
if ! isnumeric "$arg" || (($arg > 200)); then
|
if ! isnumeric "$arg" || (($arg > 200)); then
|
||||||
|
@ -178,21 +189,20 @@ while (( $# )); do
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
max_delta_size=$arg
|
max_delta_size=$arg
|
||||||
|
shift ;;
|
||||||
|
--)
|
||||||
shift
|
shift
|
||||||
;;
|
break 2 ;;
|
||||||
--) shift; args+=("$@"); break 2 ;;
|
|
||||||
-*) echo "invalid option -- '$1'"; usage; exit 1 ;;
|
|
||||||
*) args+=("$1");;
|
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
if (( ${#args[@]} != 2 )); then
|
if (( $# != 2 )); then
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for i in "${args[@]}"; do
|
for i in "$@"; do
|
||||||
if [[ ! -f $i ]]; then
|
if [[ ! -f $i ]]; then
|
||||||
error "$(gettext "File '%s' does not exist")" "$i"
|
error "$(gettext "File '%s' does not exist")" "$i"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue