[libvirt] [PATCH 1/3] virt-xml-validate: add --help/--version option

Guan Nan Ren gren at redhat.com
Tue Aug 20 01:42:51 UTC 2013


ACK

----- Original Message -----
From: "Eric Blake" <eblake at redhat.com>
To: libvir-list at redhat.com
Sent: Monday, August 19, 2013 6:43:13 PM
Subject: [libvirt] [PATCH 1/3] virt-xml-validate: add --help/--version option

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 at 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

--
libvir-list mailing list
libvir-list at redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list