Re: [PATCH] qemu: Add sysusers config file for qemu & kvm user/groups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 02, 2024 at 18:59:44 -0000, tim@xxxxxxxx wrote:
> Install a systemd sysusers config file for the qemu & kvm user/groups.
> 
> We can not use the sysusers_create_compat macro in the RPM specfile to
> create those users as we want to keep the specfile standalone and not
> relying on additionnal files.
> 
> Update the specfile to make the commands closer to what is generated by
> the current macro.
> 
> See: https://src.fedoraproject.org/rpms/libvirt/pull-request/22
> See: https://gitlab.com/libvirt/libvirt/-/merge_requests/319
> See: https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/

IMO we should also mention:
https://bugzilla.redhat.com/show_bug.cgi?id=2095429

> 
> Based on previous work by: Peter Krempa <pkrempa@xxxxxxxxxx>
> Signed-off-by: Timothée Ravier <tim@xxxxxxxx>
> ---
>  libvirt.spec.in                     | 21 +++++++++++++--------
>  src/qemu/libvirt-qemu.sysusers.conf |  4 ++++
>  src/qemu/meson.build                |  7 +++++++
>  3 files changed, 24 insertions(+), 8 deletions(-)
>  create mode 100644 src/qemu/libvirt-qemu.sysusers.conf

I've tested that 'rpmbuild -tb libvirt*.tar.xz' works properly after
this patch.

Note that in the way you've posted this patch the authorship looks like:

commit 746e7b69bf57631ceb2be93e8a0b9db4b4b50e5f
Author: tim@xxxxxxxx <tim@xxxxxxxx>
Date:   Fri Feb 2 18:59:44 2024 +0000

    qemu: Add sysusers config file for qemu & kvm user/groups

Is this what you've wanted? Or should I update it using the spelling
from the sign off?

> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 8413e3c19a..a411ac6515 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in

[...]

> @@ -1834,16 +1835,19 @@ exit 0
>  %pre daemon-driver-qemu
>  %libvirt_sysconfig_pre virtqemud
>  %libvirt_systemd_unix_pre virtqemud
> +
>  # 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 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
> +# are commonly shared across NFS mounts by id rather than name.
> +# See https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/
> +# We can not use the sysusers_create_compat macro here as we want to keep the
> +# specfile standalone and not relying on additionnal files.
> +getent group 'kvm' >/dev/null || groupadd -f -g '36' -r 'kvm' || :
> +getent group 'qemu' >/dev/null || groupadd -f -g '107' -r 'qemu' || :
> +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' || :
>    else
> -    useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
> +    useradd -r -g 'qemu' -G 'kvm' -d '/' -s '/sbin/nologin' -c 'qemu user' 'qemu' || :
>    fi
>  fi
>  exit 0

The quoting changes are okay and result in identical commands, but I'm
not that much sold on the discarding of errors (' || : ') which we
didn't do before. Why would we want to ignore errors here?

Other than that:

Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>

You don't need to re-send but I want to know the reason for dropping the
errors first. I can update the patch before pushing.
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux