All good tools should have --help and --version output :)
* tools/virt-xml-validate.in: Add option parsing. Output errors
to stderr. Update documentation to match.
* tools/Makefile.am (virt-xml-validate): Substitute version.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
tools/Makefile.am | 5 +++--
tools/virt-xml-validate.in | 44 +++++++++++++++++++++++++++++++++++++++++---
2 files changed, 44 insertions(+), 5 deletions(-)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index f85c35c..03c9fd0 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -77,8 +77,9 @@ dist_man8_MANS = virt-sanlock-cleanup.8
endif
virt-xml-validate: virt-xml-validate.in Makefile
- $(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|' < $< > $@ \
- || (rm $@ && exit 1) && chmod +x $@
+ $(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
+ -e 's|[@]VERSION@|$(VERSION)|g' \
+ < $< > $@ || (rm $@ && exit 1) && chmod +x $@
virt-xml-validate.1: virt-xml-validate.in $(top_srcdir)/configure.ac
$(AM_V_GEN)$(POD2MAN) --name VIRT-XML-VALIDATE $< $(srcdir)/$@ \
diff --git a/tools/virt-xml-validate.in b/tools/virt-xml-validate.in
index 9c584ed..9744612 100644
--- a/tools/virt-xml-validate.in
+++ b/tools/virt-xml-validate.in
@@ -17,16 +17,39 @@
set -e
+case $1 in
+ -h | --h | --he | --hel | --help)
+ cat <<EOF
+Usage:
+ $0 XML-FILE [SCHEMA-NAME]
+ $0 OPTION
+
+Options:
+ -h | --help Display program help
+ -V | --version Display program version
+EOF
+ exit ;;
+ -V | --v | --ve | --ver | --vers | --versi | --versio | --version)
+ cat <<EOF
+$0 (libvirt) @VERSION@
+EOF
+ exit ;;
+ --) shift ;;
+ -*)
+ echo "$0: unrecognized option '$1'" >&2
+ exit 1 ;;
+esac
+
XMLFILE="$1"
TYPE="$2"
if [ -z "$XMLFILE" ]; then
- echo "syntax: $0 XMLFILE [TYPE]"
+ echo "syntax: $0 XMLFILE [TYPE]" >&2
exit 1
fi
if [ ! -f "$XMLFILE" ]; then
- echo "$0: document $XMLFILE does not exist"
+ echo "$0: document $XMLFILE does not exist" >&2
exit 2
fi
@@ -78,6 +101,7 @@ exit 0
=head1 SYNOPSIS
virt-xml-validate XML-FILE [SCHEMA-NAME]
+ virt-xml-validate OPTION
=head1 DESCRIPTION
@@ -117,6 +141,20 @@ The schema for the XML format used to declare driver capabilities
=back
+=head1 OPTIONS
+
+=over
+
+=item B<-h, --help>
+
+Display command line help usage then exit.
+
+=item B<-V, --version>
+
+Display version information then exit.
+
+=back
+
=head1 EXIT STATUS
Upon successful validation, an exit status of 0 will be set. Upon
@@ -134,7 +172,7 @@ Alternatively report bugs to your software distributor / vendor.
=head1 COPYRIGHT
-Copyright (C) 2009-2012 by Red Hat, Inc.
+Copyright (C) 2009-2013 by Red Hat, Inc.
Copyright (C) 2009 by Daniel P. Berrange
=head1 LICENSE
--
1.8.3.1