[meta-virtualization] [PATCH] libvirt: Fix conditional dependencies on polkit
Bruce Ashfield
bruce.ashfield at gmail.com
Mon Apr 24 19:51:55 PDT 2017
merged.
Bruce
On Wed, Apr 19, 2017 at 10:42 AM, Rob Woolley <rob.woolley at windriver.com>
wrote:
> The DIRFILES variable was a temporary workaround to resolve a do_rootfs
> RPM package conflict between libvirt and polkit.
>
> This happened because of the different permissions and ownership that the
> packages placed on ${datadir}/usr/share/polkit-1/rules.d.
>
> The behaviour is now conditional based on how PACKAGECONFIG is set. The
> polkit rules will be removed from the package if polkit is not enabled.
> If polkit is enabled the permissions and ownership are set to match those
> set by the polkit recipe.
>
> This uses the useradd enhancements for RSS. It requires that shadow-native
> be included as a DEPENDS to provide the useradd command in the native
> sysroot.
>
> Signed-off-by: Rob Woolley <rob.woolley at windriver.com>
> ---
> recipes-extended/libvirt/libvirt_1.3.5.bb | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/recipes-extended/libvirt/libvirt_1.3.5.bb
> b/recipes-extended/libvirt/libvirt_1.3.5.bb
> index 7b55ead..a8e6f3f 100644
> --- a/recipes-extended/libvirt/libvirt_1.3.5.bb
> +++ b/recipes-extended/libvirt/libvirt_1.3.5.bb
> @@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=
> b234ee4d69f5fce4486a80fdaf4a4263 \
> SECTION = "console/tools"
>
> DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap
> util-linux e2fsprogs pm-utils \
> - iptables dnsmasq readline libtasn1 libxslt-native acl"
> + iptables dnsmasq readline libtasn1 libxslt-native acl \
> + ${@bb.utils.contains('PACKAGECONFIG', 'polkit',
> 'shadow-native', '', d)}"
>
> # libvirt-guests.sh needs gettext.sh
> #
> @@ -22,8 +23,6 @@ RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode"
> #connman blocks the 53 port and libvirtd can't start its DNS service
> RCONFLICTS_${PN}_libvirtd = "connman"
>
> -DIRFILES = ""
> -
> SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \
> file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch
> \
> file://libvirtd.sh \
> @@ -120,7 +119,8 @@ FILES_${PN}-libvirtd = " \
> FILES_${PN}-virsh = "${bindir}/virsh"
> FILES_${PN} += "${libdir}/libvirt/connection-driver \
> ${datadir}/augeas \
> - ${datadir}/polkit-1"
> + ${@bb.utils.contains('PACKAGECONFIG', 'polkit',
> '${datadir}/polkit-1', '', d)} \
> + "
>
> FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug
> ${libdir}/libvirt/lock-driver/.debug"
> FILES_${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a
> ${libdir}/libvirt/lock-driver/*.a"
> @@ -254,6 +254,15 @@ do_install_append() {
> echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
> >> ${D}${sysconfdir}/default/volatiles/99_libvirt
>
> + # Manually set permissions and ownership to match polkit recipe
> + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true',
> 'false', d)}; then
> + install -d -m 0700 ${D}/${datadir}/polkit-1/rules.d
> + chown polkitd ${D}/${datadir}/polkit-1/rules.d
> + chgrp root ${D}/${datadir}/polkit-1/rules.d
> + else
> + rm -rf ${D}/${datadir}/polkit-1
> + fi
> +
> # Add hook support for libvirt
> mkdir -p ${D}/etc/libvirt/hooks
>
> -- 2.11.0
>
>
--
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20170424/fc5f8bb0/attachment.html>
More information about the meta-virtualization
mailing list