scripts/library: introduce parseopts
commit8679cd68d825bfe28ba0c833494c415bcfa6d8f6
authorDave Reisner <dreisner@archlinux.org>
Sun, 8 Apr 2012 16:32:17 +0000 (8 12:32 -0400)
committerDan McGee <dan@archlinux.org>
Tue, 24 Apr 2012 13:38:36 +0000 (24 08:38 -0500)
tree2da70a05c56a457262a4ff68446c788d3829131b
parent1eb6a9cbfef4f0ad5151b4850d81141b7a535be6
scripts/library: introduce parseopts

This will replace our current options parser used in pacman-key,
makepkg, and ideally elsewhere. It follows heuristics closer to that of
GNU getopt long (and thus pacman itself), with the exception that it
does not allow for options with optional arguments. Due to the way this
parser will be used, this sort of functionality will not be needed.

Instead of relying on eval+set, options are normalized into an array,
OPTRET, which callers should expect to be populated after returning from
parseopts. This avoids problems with quotes and spaces in arguments,
assuming that the user quotes properly when passing into the
application.

A new test harness for parseopts is added in test/scripts.

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Makefile.am
configure.ac
scripts/Makefile.am
scripts/library/README
scripts/library/parseopts.sh [new file with mode: 0644]
scripts/po/POTFILES.in
test/scripts/Makefile.am [new file with mode: 0644]
test/scripts/parseopts_test.sh [new file with mode: 0755]