[libvirt] [PATCHv3 2/2] spec: don't use chkconfig --list
Daniel Veillard
veillard at redhat.com
Thu Dec 8 04:02:18 UTC 2011
On Wed, Dec 07, 2011 at 07:58:40PM -0700, Eric Blake wrote:
> On 12/07/2011 07:53 PM, Daniel Veillard wrote:
> >>>> # 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
> >>
> >> Actually, in my testing, I realized this has to be '/bin/chkconfig
> >> libvirtd', not '/sbin/chkconfig'.
> >>
> >>>
> >>> ACK.
> >>
> >> I'll push the corrected version.
> >
> > Humm ... here on Fedora 14 it's definitely /sbin/chkconfig there
> > is no /bin/chkconfig,
> >
>
> Aargh - I typo'd my typo correction.
>
> > let's wait after the release to get a definitive fix,
>
> /sbin/chkconfig is what is actually in the commit, and I see no reason
> to defer it. For the record, here's the patch that I actually tested
> (rather than fat-fingering my email):
>
> commit c4a387fdd8f3d86df7815d9a8bfca57baa3f14f1
> Author: Eric Blake <eblake at redhat.com>
> Date: Tue Dec 6 16:16:34 2011 -0700
>
> spec: don't use chkconfig --list
>
> 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.
>
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index c2c926d..3a5363d 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 libvirtd && 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,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list