[libvirt] [PATCHv3 2/2] spec: don't use chkconfig --list

Laine Stump laine at laine.org
Thu Dec 8 00:50:13 UTC 2011


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.




More information about the libvir-list mailing list