[libvirt] [PATCH] libvirt.spec.in: soft-static allocation of qemu and kvm groups

Jaroslav Suchanek jsuchane at redhat.com
Mon Jul 11 11:04:21 UTC 2016


On Fri, Jul 08, 2016 at 07:08:05PM +0200, Andrea Bolognani wrote:
> On Thu, 2016-07-07 at 17:41 +0200, Jaroslav Suchanek wrote:
> > Follow the same logic for adding qemu user also for kvm and qemu groups. As
> > is described in https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> > document there should be preallocated UIDs and GIDs for libvirt. A check for
> > required group id was added prior groupadd execution.
>> > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1351792
> > ---
> >  libvirt.spec.in | 16 ++++++++++++++--
> >  1 file changed, 14 insertions(+), 2 deletions(-)
>> > diff --git a/libvirt.spec.in b/libvirt.spec.in
> > index 2b98836..3dc3193 100644
> > --- a/libvirt.spec.in
> > +++ b/libvirt.spec.in
> > @@ -1464,8 +1464,20 @@ fi
> >  # We want soft static allocation of well-known ids, as disk images
> >  # are commonly shared across NFS mounts by id rather than name; see
> >  # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> > -getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
> > -getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
> > +if ! getent group kvm >/dev/null; then
> > +  if ! getent group 36 >/dev/null; then
> > +    groupadd -f -g 36 -r kvm
> > +  else
> > +    groupadd -f -r kvm
> > +  fi
> > +fi
> > +if ! getent group qemu >/dev/null; then
> > +  if ! getent group 107 >/dev/null; then
> > +    groupadd -f -g 107 -r qemu
> > +  else
> > +    groupadd -f -r qemu
> > +  fi
> > +fi
> >  if ! getent passwd qemu >/dev/null; then
> >    if ! getent passwd 107 >/dev/null; then
> >      useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
> 
> There's no need to do that, as groupadd's -f flag already
> does what you want in this situation:
> 
>   When used with -g, and the specified GID already exists,
>   another (unique) GID is chosen
> 
> The commit that fixed the allocation issue is
> 
>   commit a2584d58f6f7d941b960f996c8e26df8294b79b9
>   Author: Eric Blake <eblake at redhat.com>
>   Date:   Wed May 1 14:28:43 2013 -0600
> 
>       spec: proper soft static allocation of qemu uid
> 
>       https://bugzilla.redhat.com/show_bug.cgi?id=924501 tracks a
>       problem that occurs if uid 107 is already in use at the time
>       libvirt is first installed.  In response that problem, Fedora
>       packaging guidelines were recently updated.  This fixes the
>       spec file to comply with the new guidelines:
>       https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> 
>       * libvirt.spec.in (daemon): Follow updated Fedora guidelines.
> 
>       Signed-off-by: Eric Blake <eblake at redhat.com>
> 
>   v1.0.5-35-ga2584d5
> 
> which has been backported to the v0.10.2-maint branch as
> well. So downstream just need to pick up that commit :)
> 
> NACK

    Argh, my bad. Thanks Andrea for your precise review... ;)

J.




More information about the libvir-list mailing list