From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1242198-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 791CD13835A
	for <garchives@archives.gentoo.org>; Sun, 17 Jan 2021 04:34:39 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 909B1E0844;
	Sun, 17 Jan 2021 04:34:38 +0000 (UTC)
Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 5F42DE084E
	for <gentoo-commits@lists.gentoo.org>; Sun, 17 Jan 2021 04:34:38 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id E415F340A9D
	for <gentoo-commits@lists.gentoo.org>; Sun, 17 Jan 2021 04:34:36 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 35E41309
	for <gentoo-commits@lists.gentoo.org>; Sun, 17 Jan 2021 04:34:35 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1610858069.f6936bffc32ecec1ab4f4784dd52a16e9429e556.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/libvirt/
X-VCS-Repository: repo/gentoo
X-VCS-Files: app-emulation/libvirt/Manifest app-emulation/libvirt/libvirt-7.0.0.ebuild
X-VCS-Directories: app-emulation/libvirt/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: f6936bffc32ecec1ab4f4784dd52a16e9429e556
X-VCS-Branch: master
Date: Sun, 17 Jan 2021 04:34:35 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 21ade5dd-e5e3-457b-9850-5b0bc1939304
X-Archives-Hash: 0d1dba54bfbac9078e83a73cefbacd31

commit:     f6936bffc32ecec1ab4f4784dd52a16e9429e556
Author:     Jonathan Davies <jpds <AT> protonmail <DOT> com>
AuthorDate: Fri Jan 15 14:39:02 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 04:34:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6936bff

app-emulation/libvirt: Version updated to 7.0.0, with changes:

* Moved acct-*/* dependencies to RDEPEND:
  Closes: https://bugs.gentoo.org/762631
* Removed 6.10.0-Fix-segfault-when-parsing-mdev-types.patch: applied
  upstream.

Signed-off-by: Jonathan Davies <jpds <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/19066
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/libvirt/Manifest             |   1 +
 app-emulation/libvirt/libvirt-7.0.0.ebuild | 331 +++++++++++++++++++++++++++++
 2 files changed, 332 insertions(+)

diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index 467d5d9b454..1206b444fc7 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,3 +1,4 @@
 DIST libvirt-6.10.0.tar.xz 8462796 BLAKE2B f1188cc869768682bdcb7ab763465705413ebc4fe418e37d4f5ef6a861507c4104a1844cd533fce905e24847918eba6e4e4f054f66b112e9fb54ee19a3653dfc SHA512 42e77a3542e9f15c3aeaab1639a80ee6539cb0f09a1e8324aa0059a8f6041acf20263a9556ac65c9a7a14693b0756020231085e4556ff54cf8329110018a2485
 DIST libvirt-6.8.0.tar.xz 8412092 BLAKE2B c118ca6b263054bb6941c62f3d1415f7ed1a3f29a35294272d04bc726643247ee5691e0310a1bf013faeba856d7aadd00a90fe8dbdca6ff4c7eb480e94d92fa2 SHA512 9b69f3dcceb5e40470a78908654faf51b643f6793e556f3115daa4bfe08743af290882dd51f15eb27c38d589eb210d495de7c44a40b363420ab4f4d3a6393cc9
 DIST libvirt-6.9.0.tar.xz 8432360 BLAKE2B 5cf577017158bab3ec5ad55e8e5944f4efd88cb3eb5460355ad0bfc1a30dba5c607b5b3523b8f9095552c494129ccb19bb89a6a0791469d5d47052c2375fa940 SHA512 ca9aed93589e91d383f9a5bddf5ba9fa20b849ba3b302017d625ba4910a0f942d1531006ddeaaa2622d121808105dec6e9bcb0c867f62e2fc546ce043675e175
+DIST libvirt-7.0.0.tar.xz 8567648 BLAKE2B 0c0b360c371a14b6d82dc6bef4b228bf7a4a17db1a8425d1354128b0705365a04440217ed0862761b2a8eaf81d81494177d777e734a9045bbc87fc613b56eb05 SHA512 dd6db5ec4971cf4c6059795fd81d5a3a889b10740e34c3c92271eda1c683c99df2c8f923398065d8a7c4f987a20eb1da617d5297ba8ea5a31f154412af50c343

diff --git a/app-emulation/libvirt/libvirt-7.0.0.ebuild b/app-emulation/libvirt/libvirt-7.0.0.ebuild
new file mode 100644
index 00000000000..1bb2cf3a7fc
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-7.0.0.ebuild
@@ -0,0 +1,331 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
+
+if [[ ${PV} = *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
+	SRC_URI=""
+	SLOT="0"
+else
+	SRC_URI="https://libvirt.org/sources/${P}.tar.xz"
+	KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+	SLOT="0/${PV}"
+fi
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="https://www.libvirt.org/"
+LICENSE="LGPL-2.1"
+IUSE="
+	apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
+	iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
+	parted pcap policykit +qemu rbd sasl selinux +udev
+	virtualbox +virt-network wireshark-plugins xen zfs
+"
+
+REQUIRED_USE="
+	firewalld? ( virt-network )
+	libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
+	lxc? ( caps libvirtd )
+	openvz? ( libvirtd )
+	qemu? ( libvirtd )
+	virt-network? ( libvirtd )
+	virtualbox? ( libvirtd )
+	xen? ( libvirtd )"
+
+BDEPEND="
+	app-text/xhtml1
+	dev-lang/perl
+	dev-libs/libxslt
+	dev-perl/XML-XPath
+	dev-python/docutils
+	virtual/pkgconfig"
+
+# gettext.sh command is used by the libvirt command wrappers, and it's
+# non-optional, so put it into RDEPEND.
+# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
+# package will use 3 by default. Since we don't have slot pinning in an API,
+# we must go with the most recent
+RDEPEND="
+	acct-user/qemu
+	app-misc/scrub
+	>=dev-libs/glib-2.48.0
+	dev-libs/libgcrypt:0
+	dev-libs/libnl:3
+	>=dev-libs/libxml2-2.7.6
+	>=net-analyzer/openbsd-netcat-1.105-r1
+	>=net-libs/gnutls-1.0.25:0=
+	net-libs/libssh2
+	net-libs/libtirpc
+	net-libs/rpcsvc-proto
+	>=net-misc/curl-7.18.0
+	sys-apps/dbus
+	sys-apps/dmidecode
+	sys-devel/gettext
+	sys-libs/ncurses:0=
+	sys-libs/readline:=
+	apparmor? ( sys-libs/libapparmor )
+	audit? ( sys-process/audit )
+	caps? ( sys-libs/libcap-ng )
+	dtrace? ( dev-util/systemtap )
+	firewalld? ( >=net-firewall/firewalld-0.6.3 )
+	fuse? ( sys-fs/fuse:0= )
+	glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
+	iscsi? ( sys-block/open-iscsi )
+	iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
+	libssh? ( net-libs/libssh )
+	lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+	lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+	nfs? ( net-fs/nfs-utils )
+	numa? (
+		>sys-process/numactl-2.0.2
+		sys-process/numad
+	)
+	parted? (
+		>=sys-block/parted-1.8[device-mapper]
+		sys-fs/lvm2[-device-mapper-only(-)]
+	)
+	pcap? ( >=net-libs/libpcap-1.0.0 )
+	policykit? (
+		acct-group/libvirt
+		>=sys-auth/polkit-0.9
+	)
+	qemu? (
+		>=app-emulation/qemu-1.5.0
+		dev-libs/yajl
+	)
+	rbd? ( sys-cluster/ceph )
+	sasl? ( dev-libs/cyrus-sasl )
+	selinux? ( >=sys-libs/libselinux-2.0.85 )
+	virt-network? (
+		net-dns/dnsmasq[script]
+		net-firewall/ebtables
+		>=net-firewall/iptables-1.4.10[ipv6]
+		net-misc/radvd
+		sys-apps/iproute2[-minimal]
+	)
+	wireshark-plugins? ( net-analyzer/wireshark:= )
+	xen? (
+		>=app-emulation/xen-4.6.0
+		app-emulation/xen-tools:=
+	)
+	udev? (
+		virtual/libudev
+		>=x11-libs/libpciaccess-0.10.9
+	)
+	zfs? ( sys-fs/zfs )"
+
+DEPEND="${BDEPEND}
+	${RDEPEND}
+	${PYTHON_DEPS}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
+	"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
+	"${FILESDIR}"/${PN}-6.7.0-doc-path.patch
+	"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
+)
+
+pkg_setup() {
+	# Check kernel configuration:
+	CONFIG_CHECK=""
+	use fuse && CONFIG_CHECK+="
+		~FUSE_FS"
+
+	use lvm && CONFIG_CHECK+="
+		~BLK_DEV_DM
+		~DM_MULTIPATH
+		~DM_SNAPSHOT"
+
+	use lxc && CONFIG_CHECK+="
+		~BLK_CGROUP
+		~CGROUP_CPUACCT
+		~CGROUP_DEVICE
+		~CGROUP_FREEZER
+		~CGROUP_NET_PRIO
+		~CGROUP_PERF
+		~CGROUPS
+		~CGROUP_SCHED
+		~CPUSETS
+		~IPC_NS
+		~MACVLAN
+		~NAMESPACES
+		~NET_CLS_CGROUP
+		~NET_NS
+		~PID_NS
+		~POSIX_MQUEUE
+		~SECURITYFS
+		~USER_NS
+		~UTS_NS
+		~VETH
+		~!GRKERNSEC_CHROOT_MOUNT
+		~!GRKERNSEC_CHROOT_DOUBLE
+		~!GRKERNSEC_CHROOT_PIVOT
+		~!GRKERNSEC_CHROOT_CHMOD
+		~!GRKERNSEC_CHROOT_CAPS"
+
+	kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
+		~DEVPTS_MULTIPLE_INSTANCES"
+
+	use virt-network && CONFIG_CHECK+="
+		~BRIDGE_EBT_MARK_T
+		~BRIDGE_NF_EBTABLES
+		~NETFILTER_ADVANCED
+		~NETFILTER_XT_CONNMARK
+		~NETFILTER_XT_MARK
+		~NETFILTER_XT_TARGET_CHECKSUM
+		~IP_NF_FILTER
+		~IP_NF_MANGLE
+		~IP_NF_NAT
+		~IP_NF_TARGET_MASQUERADE
+		~IP6_NF_FILTER
+		~IP6_NF_MANGLE
+		~IP6_NF_NAT"
+	# Bandwidth Limiting Support
+	use virt-network && CONFIG_CHECK+="
+		~BRIDGE_EBT_T_NAT
+		~IP_NF_TARGET_REJECT
+		~NET_ACT_POLICE
+		~NET_CLS_FW
+		~NET_CLS_U32
+		~NET_SCH_HTB
+		~NET_SCH_INGRESS
+		~NET_SCH_SFQ"
+
+	# Handle specific kernel versions for different features
+	kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
+	if kernel_is ge 3 6; then
+		CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP "
+		kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM "
+	fi
+
+	ERROR_USER_NS="Optional depending on LXC configuration."
+
+	if [[ -n ${CONFIG_CHECK} ]]; then
+		linux-info_pkg_setup
+	fi
+}
+
+src_prepare() {
+	touch "${S}/.mailmap" || die
+
+	default
+
+	# Tweak the init script:
+	cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
+	sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
+		-i "${S}/libvirtd.init" || die "sed failed"
+}
+
+src_configure() {
+	local emesonargs=(
+		$(meson_feature apparmor)
+		$(meson_use apparmor apparmor_profiles)
+		$(meson_feature audit)
+		$(meson_feature caps capng)
+		$(meson_feature dtrace)
+		$(meson_feature firewalld)
+		$(meson_feature fuse)
+		$(meson_feature glusterfs)
+		$(meson_feature glusterfs storage_gluster)
+		$(meson_feature iscsi storage_iscsi)
+		$(meson_feature iscsi-direct storage_iscsi_direct)
+		$(meson_feature libvirtd driver_libvirtd)
+		$(meson_feature libssh)
+		$(meson_feature lvm storage_lvm)
+		$(meson_feature lvm storage_mpath)
+		$(meson_feature lxc driver_lxc)
+		$(meson_feature nls)
+		$(meson_feature numa numactl)
+		$(meson_feature numa numad)
+		$(meson_feature openvz driver_openvz)
+		$(meson_feature parted storage_disk)
+		$(meson_feature pcap libpcap)
+		$(meson_feature policykit polkit)
+		$(meson_feature qemu driver_qemu)
+		$(meson_feature qemu yajl)
+		$(meson_feature rbd storage_rbd)
+		$(meson_feature sasl)
+		$(meson_feature selinux)
+		$(meson_feature udev)
+		$(meson_feature virt-network driver_network)
+		$(meson_feature virtualbox driver_vbox)
+		$(meson_feature wireshark-plugins wireshark_dissector)
+		$(meson_feature xen driver_libxl)
+		$(meson_feature zfs storage_zfs)
+
+		-Dnetcf=disabled
+		-Dsanlock=disabled
+
+		-Ddriver_esx=enabled
+		-Dinit_script=systemd
+		-Dqemu_user=$(usex caps qemu root)
+		-Dqemu_group=$(usex caps qemu root)
+		-Ddriver_remote=enabled
+		-Dstorage_fs=enabled
+		-Ddriver_vmware=enabled
+
+		--localstatedir="${EPREFIX}/var"
+		-Drunstatedir="${EPREFIX}/run"
+	)
+
+	meson_src_configure
+}
+
+src_test() {
+	export VIR_TEST_DEBUG=1
+	meson_src_test
+}
+
+src_install() {
+	meson_src_install
+
+	# Remove bogus, empty directories. They are either not used, or
+	# libvirtd is able to create them on demand
+	rm -rf "${D}"/etc/sysconfig || die
+	rm -rf "${D}"/var || die
+	rm -rf "${D}"/run || die
+
+	newbashcomp "${S}/tools/bash-completion/vsh" virsh
+	bashcomp_alias virsh virt-admin
+
+	use libvirtd || return 0
+	# From here, only libvirtd-related instructions, be warned!
+
+	systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
+
+	newinitd "${S}/libvirtd.init" libvirtd
+	newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
+	newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
+	newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
+
+	newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
+	newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
+
+	DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
+	DISABLE_AUTOFORMATTING=true
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# we only ever want to generate this once
+	if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+		rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml || die
+	fi
+}
+
+pkg_postinst() {
+	if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+		touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
+	fi
+
+	use libvirtd || return 0
+	# From here, only libvirtd-related instructions, be warned!
+
+	readme.gentoo_print_elog
+}