[libvirt] [PATCH] portability fixes to tools/virt-pki-validate.in

Eric Blake eblake at redhat.com
Wed Apr 21 23:09:31 UTC 2010


From: Dustin Kirkland <kirkland at canonical.com>

A few fixes will help make tools/virt-pki-validate.in useful on Debian
and Ubuntu.  And one fix should be useful to everyone (see #3).

 1) note our gnutls-bin package (in addition to your gnutls-utils
package) in the no-certtool error text

 2) fix a bashism, == should be = in the case where /bin/sh is a symlink
to dash

 3) $(SYSCONFDIR) cannot evaluate; set a single shell SYSCONFDIR
variable to the autoconf @SYSCONFDIR@ value, and use $SYSCONFDIR
everywhere

Bug report:
 * https://bugs.edge.launchpad.net/ubuntu/+source/libvirt/+bug/562266

Signed-off-by: Dustin Kirkland <kirkland at canonical.com>
Signed-off-by: Eric Blake <eblake at redhat.com>
---

The following is the uncontroversial parts (at least, IMO) of your
patch; leaving only the change for the regexp, which should be in a
separate patch anyways.

 tools/virt-pki-validate.in |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/tools/virt-pki-validate.in b/tools/virt-pki-validate.in
index ee7b79d..64579b0 100755
--- a/tools/virt-pki-validate.in
+++ b/tools/virt-pki-validate.in
@@ -16,8 +16,8 @@ PORT=16514
 CERTOOL=`which certtool 2>/dev/null`
 if [ ! -x $CERTOOL ]
 then
-    echo Could not locate the certtool program
-    echo make sure the gnutls-utils package is installed
+    echo "Could not locate the certtool program"
+    echo "make sure the gnutls-utils (or gnutls-bin) package is installed"
     exit 1
 fi
 echo Found $CERTOOL
@@ -25,7 +25,8 @@ echo Found $CERTOOL
 #
 # Check the directory structure
 #
-PKI="@SYSCONFDIR@/pki"
+SYSCONFDIR="@SYSCONFDIR@"
+PKI="$SYSCONFDIR/pki"
 if [ ! -d $PKI ]
 then
     echo the $PKI directory is missing, it is usually
@@ -129,8 +130,8 @@ then
     echo "as root do: chmod 644 $CA/cacert.pem"
     exit 1
 fi
-ORG=`$CERTOOL -i --infile $CA/cacert.pem | grep Issuer | sed 's+Issuer: CN=++'`
-if [ "$ORG" == "" ]
+ORG=`$CERTOOL -i --infile $CA/cacert.pem | sed -n '/Issuer/ s+Issuer: CN=++p'`
+if [ "$ORG" = "" ]
 then
     echo the CA certificate $CA/cacert.pem does not define the organization
     echo it should probably regenerated
@@ -240,19 +241,24 @@ fi

 if [ "$SERVER" = "1" ]
 then
-    if [ -r $(SYSCONFDIR)/sysconfig/libvirtd ]
+    if [ -r "$SYSCONFDIR"/sysconfig/libvirtd ]
     then
-        if [ "`grep '^LIBVIRTD_ARGS' $(SYSCONFDIR)/sysconfig/libvirtd | grep -- '--listen'`" = "" ]
+        if grep "^LIBVIRTD_ARGS.*--listen" "$SYSCONFDIR"/sysconfig/libvirtd \
+            >/dev/null 2>&1
 	then
-	    echo Make sure $(SYSCONFDIR)/sysconfig/libvirtd is setup to listen to
+            :
+        else
+	    echo Make sure "$SYSCONFDIR"/sysconfig/libvirtd is setup to listen to
 	    echo TCP/IP connections and restart the libvirtd service
 	fi
     fi
-    if [ -r $(SYSCONFDIR)/sysconfig/iptables ]
+    if [ -r "$SYSCONFDIR"/sysconfig/iptables ]
     then
-        if [ "`grep $PORT $(SYSCONFDIR)/sysconfig/iptables`" = "" ]
+        if grep $PORT "$SYSCONFDIR"/sysconfig/iptables >/dev/null 2>&1
 	then
-	    echo Make sure $(SYSCONFDIR)/sysconfig/iptables is setup to allow
+            :
+        else
+	    echo Make sure "$SYSCONFDIR"/sysconfig/iptables is setup to allow
 	    echo incoming TCP/IP connections on port $PORT and
 	    echo restart the iptables service
 	fi
-- 
1.6.6.1




More information about the libvir-list mailing list