1 |
Author: vapier |
2 |
Date: 2008-02-23 00:57:06 +0000 (Sat, 23 Feb 2008) |
3 |
New Revision: 9369 |
4 |
|
5 |
Modified: |
6 |
main/trunk/bin/emerge-webrsync |
7 |
Log: |
8 |
cleanup main option parsing |
9 |
|
10 |
Modified: main/trunk/bin/emerge-webrsync |
11 |
=================================================================== |
12 |
--- main/trunk/bin/emerge-webrsync 2008-02-22 23:53:08 UTC (rev 9368) |
13 |
+++ main/trunk/bin/emerge-webrsync 2008-02-23 00:57:06 UTC (rev 9369) |
14 |
@@ -1,5 +1,5 @@ |
15 |
#!/bin/bash |
16 |
-# Copyright 1999-2006 Gentoo Foundation |
17 |
+# Copyright 1999-2008 Gentoo Foundation |
18 |
# Distributed under the terms of the GNU General Public License v2 |
19 |
# $Id$ |
20 |
# Author: Karl Trygve Kalleberg <karltk@g.o> |
21 |
@@ -14,7 +14,10 @@ |
22 |
# gpg --homedir /etc/portage/gnupg --edit-key $KEY_ID trust |
23 |
# |
24 |
|
25 |
-type portageq > /dev/null || exit $? |
26 |
+if ! type portageq > /dev/null ; then |
27 |
+ echo "$0: could not find 'portageq'; aborting" 1>&2 |
28 |
+ exit 1 |
29 |
+fi |
30 |
eval $(portageq envvar -v FEATURES FETCHCOMMAND GENTOO_MIRRORS \ |
31 |
PORTAGE_BIN_PATH PORTAGE_GPG_DIR PORTAGE_INST_UID PORTAGE_INST_GID \ |
32 |
PORTAGE_NICENESS PORTAGE_RSYNC_EXTRA_OPTS PORTAGE_TMPDIR PORTDIR \ |
33 |
@@ -310,42 +313,50 @@ |
34 |
return "${r}" |
35 |
} |
36 |
|
37 |
+usage() { |
38 |
+ cat <<-EOF |
39 |
+ Usage: $0 [options] |
40 |
+ |
41 |
+ Options: |
42 |
+ --revert=yyyymmdd Revert to snapshot |
43 |
+ -q, --quiet Only output errors |
44 |
+ -v, --verbose Enable verbose output |
45 |
+ -x, --debug Enable debug output |
46 |
+ -h, --help This help screen (duh!) |
47 |
+ EOF |
48 |
+ if [[ -n $* ]] ; then |
49 |
+ printf "\nError: %s\n" "$*" 1>&2 |
50 |
+ exit 1 |
51 |
+ else |
52 |
+ exit 0 |
53 |
+ fi |
54 |
+} |
55 |
+ |
56 |
main() { |
57 |
local arg |
58 |
- local do_revert=0 |
59 |
local revert_date |
60 |
|
61 |
[ ! -d "${DISTDIR}" ] && mkdir -p "${DISTDIR}" |
62 |
cd "${DISTDIR}" |
63 |
|
64 |
- for arg in $*; do |
65 |
+ for arg in "$@" ; do |
66 |
local v=${arg#*=} |
67 |
case ${arg} in |
68 |
- --help) |
69 |
- echo "usage: $0 [options]" |
70 |
- echo " --verbose (-v) - verbose" |
71 |
- echo " --revert=yyyymmdd - revert to snapshot" |
72 |
- exit 0 |
73 |
- ;; |
74 |
- --verbose|-v) |
75 |
- do_verbose=1 |
76 |
- ;; |
77 |
- --revert=*) |
78 |
- do_revert=1 |
79 |
- revert_date=${v} |
80 |
- ;; |
81 |
- *) |
82 |
- echo "Error: Invalid arguments" |
83 |
- exit 1 |
84 |
- ;; |
85 |
+ -h|--help) usage ;; |
86 |
+ -q|--quiet) do_quiet=1 ;; |
87 |
+ -v|--verbose) do_verbose=1 ;; |
88 |
+ -x|--debug) do_debug=1 ;; |
89 |
+ --revert=*) revert_date=${v} ;; |
90 |
+ *) usage "Invalid option '${arg}'" ;; |
91 |
esac |
92 |
done |
93 |
+ [[ ${do_debug} -eq 1 ]] && set -x |
94 |
|
95 |
- if [ ${do_revert} != 0 ]; then |
96 |
+ if [[ -n ${revert_date} ]] ; then |
97 |
do_snapshot 1 "${revert_date}" |
98 |
else |
99 |
do_latest_snapshot |
100 |
fi |
101 |
} |
102 |
|
103 |
-main $* |
104 |
+main "$@" |
105 |
|
106 |
-- |
107 |
gentoo-commits@l.g.o mailing list |