On 12/06/2011 06:47 PM, Eric Blake wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=694403 reports that
the specfile is incorrectly checking for a running libvirt-guests
service.  For example,

$ LC_ALL=es_ES chkconfig --list libvirt-guests
libvirt-guests    0:desactivado          1:desactivado     2:desactivado     
3:activo    4:activo  5:activo         6:desactivado

will fail to find 5:on, even though it is active.  But chkconfig
already has a mode where you can silently use the exit status to
check for an active service.

* libvirt.spec.in (%post): Use simpler chkconfig options, to avoid
issues with localization.
---

v3: new patch

  libvirt.spec.in |    6 ++----
  1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/libvirt.spec.in b/libvirt.spec.in
index c2c926d..ecaeee4 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -887,8 +887,7 @@ getent passwd qemu>/dev/null || \
  # We want to install the default network for initial RPM installs
  # or on the first upgrade from a non-network aware libvirt only.
  # We check this by looking to see if the daemon is already installed
-/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
-if test $? != 0&&  test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml
+if ! /sbin/chkconfig&&  test ! -f 
%{_sysconfdir}/libvirt/qemu/networks/default.xml
  then
      UUID=`/usr/bin/uuidgen`
      sed -e "s,</name>,</name>\n<uuid>$UUID</uuid>," \
@@ -1021,8 +1020,7 @@ fi
  /sbin/chkconfig --add libvirt-guests
  if [ $1 -ge 1 ]; then
      level=$(/sbin/runlevel | /bin/cut -d ' ' -f 2)
-    if /sbin/chkconfig --list libvirt-guests 2>/dev/null \
-        | /bin/grep -q $level:on ; then
+    if /sbin/chkconfig --levels $level libvirt-guests; then
          # this doesn't do anything but allowing for libvirt-guests to be
          # stopped on the first shutdown
          /sbin/service libvirt-guests start>  /dev/null 2>&1 || true

ACK.

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

Reply via email to