summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-30 14:08:22 +0000
committerSam James <sam@gentoo.org>2024-11-30 14:08:22 +0000
commit5dd4d782d490e339d3ff2b1a5934981952b2acaf (patch)
tree7707f822139a447402d7573ed4b6a37702392ed9 /app-emulation
parentdev-scheme/guile: drop 1.8.8-r5, 2.2.7-r1, 2.2.7-r2, 3.0.10 (diff)
downloadgentoo-5dd4d782d490e339d3ff2b1a5934981952b2acaf.tar.gz
gentoo-5dd4d782d490e339d3ff2b1a5934981952b2acaf.tar.bz2
gentoo-5dd4d782d490e339d3ff2b1a5934981952b2acaf.zip
app-emulation/libvirt: drop 10.0.0-r5, 10.2.0-r3
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/libvirt/Manifest4
-rw-r--r--app-emulation/libvirt/libvirt-10.0.0-r5.ebuild393
-rw-r--r--app-emulation/libvirt/libvirt-10.2.0-r3.ebuild391
3 files changed, 0 insertions, 788 deletions
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index 3bff8bca7ffb..5122eb9a2ca3 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,9 +1,5 @@
-DIST libvirt-10.0.0.tar.xz 9395076 BLAKE2B bfbea7805a949999481293a31e52a5511bcf86db2c96486cbc3b9cb776719ec973b1208cfcb4a8ae2c9220d1d68053980eaf68893f7919c3ef354efbd1abf642 SHA512 4ab28539ff0e9a78ac231b11b4ec88b91d76ff2607cabd0226f04aaece73b05cab4aa9cfcf05073cd257ea270a377cd5d2cb915971583dbec04dadf2cf7ad252
-DIST libvirt-10.0.0.tar.xz.asc 833 BLAKE2B e6377fe80a96025fe643d9bb14b3d64da3cf7f53000d8ee55606b4bc635d735943c4a7baa3796cbb7ce5812f03e2efd700aeef72e5bfcce68938b873aeca3f1f SHA512 08681d45c39695b07c88b27fddc471284ed66caa091a73ea3957e42ec92776d435ecb4dc71b6bb18a825322468fccb09263f612aa1bde53deea3d6c5305313d8
DIST libvirt-10.1.0.tar.xz 9444244 BLAKE2B bfdce9d067e3a319b81d867d27f1a6b4e724ab6aaa25d19d7383c9be26ad7dc92b3c0aaa92894b772f09e20c3c2eb0ea0a8707feee4c63be58578fa22854305f SHA512 08e73ae15de5681430b62db85ec9901242dca5e9a4ca9685614f4a67092c6e28f27f9187144b3ceb18ad6b40e6eb1a90b1a4b056b0888724d04a62002ee2bc48
DIST libvirt-10.1.0.tar.xz.asc 833 BLAKE2B 1046403fb6ee084eb68e081a0fa4a1cfbf30378faf2f54591917ab6a4648a4c2a23da055cfe2577ec7ec80922c29ca7a918386259f747f052abfdfc420ff7749 SHA512 40ec184b4c33f21bf99d38fec0722e165854f723017f3cddaef63120cdf8dcf6df0c03b7e4aea5c3706f65d46f5335db667321b1ece1c123d9517fcd303b2bd8
-DIST libvirt-10.2.0.tar.xz 9466588 BLAKE2B 7ee6f4bdbb6a22f1b3c5c0326d41e269e8a5a07e41bc4f9a17fd023f3e33e46735066656dffa3004e1f36d46324270351593c89f60106933042e8a19a2aa64e6 SHA512 65faf2346e66bdba606ba99b9e4da2be8bd94ef42ac49c2801f9e9253ceea10f5fe772d5c7ada59f48aa34ff528726719b690c3acfd3e63a5c3580db17b023ae
-DIST libvirt-10.2.0.tar.xz.asc 833 BLAKE2B 34031ed3c1896d3bb86d05b3efc158a48a70084bd6ea0308df779c351142e0f04395f62d62b4bb225c731a6f259f7ccb950428292691a656799eed06ecb2c3b2 SHA512 d366b0b64642f3358bdaee0ed5e06c4c3eba8b5ce2d1791f3d83d74c139a00282e45d7382af26706657c18e32ab956761d26f5b8595e32ad545c2f27f214fb76
DIST libvirt-10.3.0.tar.xz 9476852 BLAKE2B 8c47840113904d72aeb1e9bf900a99a8b0e3d41391c9a8fee4277f2793f18fefc50d113e8cbea52dedfd03b93f430416bcd25fe90ee6820c95ac6f468b84212f SHA512 dd2b151a19877e57e11b582b1c11542319f8b7b7cd3d7d51304442aa7d5eb1a8490d2887d340191c3ecc561320ea453773763083364579de0a40ada9c244fc59
DIST libvirt-10.3.0.tar.xz.asc 833 BLAKE2B 4d54a3701a15383464e1be5155344f783cd2fe297f2a7cfd4ef9ead7cef9267122e91e16d08329e2448ffe77f10625a3fa3443bbeab97ba8fc83ec6e4ec250dd SHA512 d32bbc2a36b03eccfc931c3e5accae2d4ed5a59e4d40fc44f8fb269684201097ea03e0afcf6eae124efac7b8c43d32e4e79d276c13ea81809acd40b97ef3ceb9
DIST libvirt-10.5.0.tar.xz 9530296 BLAKE2B 59b6b114e6d4c4752839775ec22b17f530ac86f0252647b312b7f98e9ba856d949727eed5cb47b6b92589e2ce2587fe02505d6653a4e7ba3a3685b5c81a8ebc0 SHA512 e4976849cff7bdae0b7fda0644490f0ca743efc11c35a2fae45bb0f6f467b85644c1d04d1f3d1b10affdc6d9b8dcc0a3c255e527e0bdd73cdd4d1c81d5c418e7
diff --git a/app-emulation/libvirt/libvirt-10.0.0-r5.ebuild b/app-emulation/libvirt/libvirt-10.0.0-r5.ebuild
deleted file mode 100644
index 7bceefec30e3..000000000000
--- a/app-emulation/libvirt/libvirt-10.0.0-r5.ebuild
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{10..13} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://download.libvirt.org/${P}.tar.xz
- verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-IUSE="
- apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
- iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
- openvz parted pcap policykit +qemu rbd sasl selinux test +udev
- virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
-"
-RESTRICT="!test? ( test )"
-
-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
- bash-completion? ( >=app-shells/bash-completion-2.0 )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )"
-
-# 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.56.0
- dev-libs/libgcrypt
- dev-libs/libnl:3
- >=dev-libs/libxml2-2.9.1
- >=net-analyzer/openbsd-netcat-1.105-r1
- >=net-libs/gnutls-3.2.0:=
- net-libs/libtirpc:=
- >=net-misc/curl-7.18.0
- sys-apps/dbus
- sys-apps/dmidecode
- sys-devel/gettext
- >=sys-libs/readline-7.0:=
- virtual/acl
- apparmor? ( sys-libs/libapparmor )
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-debug/systemtap )
- firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:= )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( >=sys-block/open-iscsi-1.18.0 )
- iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( >=net-libs/libssh-0.8.1:= )
- libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
- lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
- nbd? (
- sys-block/nbdkit
- sys-libs/libnbd
- )
- 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[lvm]
- )
- pcap? ( >=net-libs/libpcap-1.8.0 )
- policykit? (
- acct-group/libvirt
- >=sys-auth/polkit-0.9
- )
- qemu? (
- >=app-emulation/qemu-4.2
- app-crypt/swtpm
- >=dev-libs/yajl-2.0.3:=
- )
- rbd? ( sys-cluster/ceph )
- sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
- selinux? ( >=sys-libs/libselinux-2.0.85 )
- virt-network? (
- net-dns/dnsmasq[dhcp,ipv6(+),script]
- net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
- net-misc/radvd
- sys-apps/iproute2[-minimal]
- )
- virtiofsd? ( app-emulation/virtiofsd )
- virtualbox? ( <app-emulation/virtualbox-7.1.0 )
- wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
- xen? (
- >=app-emulation/xen-4.9.0
- app-emulation/xen-tools:=
- )
- udev? (
- virtual/libudev:=
- >=x11-libs/libpciaccess-0.10.9
- )
- zfs? ( sys-fs/zfs )
- kernel_linux? ( sys-apps/util-linux )"
-DEPEND="
- ${BDEPEND}
- ${RDEPEND}
- ${PYTHON_DEPS}
- test? (
- $(python_gen_any_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-# The 'circular' dependency on dev-python/libvirt-python is because of
-# virt-qemu-qmp-proxy.
-PDEPEND="
- qemu? ( dev-python/libvirt-python )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
- "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
- "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
-)
-
-python_check_deps() {
- if use test; then
- python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- fi
-}
-
-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
- ~IP6_NF_FILTER
- ~IP6_NF_MANGLE
- ~IP6_NF_NAT"
-
- # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
- if use virt-network ; then
- if kernel_is -lt 5 2 ; then
- CONFIG_CHECK+="
- ~IP_NF_TARGET_MASQUERADE"
- else
- CONFIG_CHECK+="
- ~NETFILTER_XT_TARGET_MASQUERADE"
- fi
- fi
-
- # 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"
-
- ERROR_USER_NS="Optional depending on LXC configuration."
-
- if [[ -n ${CONFIG_CHECK} ]]; then
- linux-info_pkg_setup
- fi
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- touch "${S}/.mailmap" || die
-
- default
- python_fix_shebang .
-
- # Skip fragile tests which relies on pristine environment
- # (Breaks because of sandbox environment variables)
- # bug #802876
- sed -i -e "/commandtest/d" tests/meson.build || die
-
- # 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_feature 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 libssh2)
- $(meson_feature lvm storage_lvm)
- $(meson_feature lvm storage_mpath)
- $(meson_feature lxc driver_lxc)
- $(meson_feature nbd nbdkit)
- $(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 test tests)
- $(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
- -Dopenwsman=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"
- -Dinitconfdir="${EPREFIX}/etc/systemd"
- -Drunstatedir="${EPREFIX}/run"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- )
-
- # Workaround for bug #938302
- if use dtrace && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- local native_file="${T}"/meson.${CHOST}.ini.local
- cat >> ${native_file} <<-EOF || die
- [binaries]
- dtrace='stap-dtrace'
- EOF
- emesonargs+=( --native-file "${native_file}" )
- fi
-
- meson_src_configure
-}
-
-src_test() {
- export VIR_TEST_DEBUG=1
- # Don't run the syntax check tests, they're fragile and not relevant
- # to us downstream anyway.
- # We also crank up the timeout (as Fedora does) just to preempt failures
- # on slower arches.
- meson_src_test --no-suite syntax-check --timeout-multiplier 10
-}
-
-src_install() {
- meson_src_install
-
- # Depending on configuration option, libvirt will create some bogus
- # directoreis. They are either not used, or libvirtd is able to create
- # them on demand, so let's remove them.
- #
- # Note, we are using -f here so that rm does not fail or warn if the
- # directory is nonexistent.
- rm -rf "${D}"/etc/sysconfig
- rm -rf "${D}"/var
- rm -rf "${D}"/run
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
-
- newtmpfiles "${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_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!
- tmpfiles_process libvirtd.conf
- readme.gentoo_print_elog
-}
diff --git a/app-emulation/libvirt/libvirt-10.2.0-r3.ebuild b/app-emulation/libvirt/libvirt-10.2.0-r3.ebuild
deleted file mode 100644
index 3d4bf8a49993..000000000000
--- a/app-emulation/libvirt/libvirt-10.2.0-r3.ebuild
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{10..13} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
-inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://download.libvirt.org/${P}.tar.xz
- verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-IUSE="
- apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
- iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
- openvz parted pcap policykit +qemu rbd sasl selinux test +udev
- virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
-"
-RESTRICT="!test? ( test )"
-
-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
- bash-completion? ( >=app-shells/bash-completion-2.0 )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )"
-
-# 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.56.0
- dev-libs/libgcrypt
- dev-libs/libnl:3
- >=dev-libs/libxml2-2.9.1
- >=net-analyzer/openbsd-netcat-1.105-r1
- >=net-libs/gnutls-3.2.0:=
- net-libs/libtirpc:=
- >=net-misc/curl-7.18.0
- sys-apps/dbus
- sys-apps/dmidecode
- sys-devel/gettext
- >=sys-libs/readline-7.0:=
- virtual/acl
- apparmor? ( sys-libs/libapparmor )
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-debug/systemtap )
- firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:= )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( >=sys-block/open-iscsi-1.18.0 )
- iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( >=net-libs/libssh-0.8.1:= )
- libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
- lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
- nbd? (
- sys-block/nbdkit
- sys-libs/libnbd
- )
- 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[lvm]
- )
- pcap? ( >=net-libs/libpcap-1.8.0 )
- policykit? (
- acct-group/libvirt
- >=sys-auth/polkit-0.9
- )
- qemu? (
- >=app-emulation/qemu-4.2
- app-crypt/swtpm
- >=dev-libs/yajl-2.0.3:=
- )
- rbd? ( sys-cluster/ceph )
- sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
- selinux? ( >=sys-libs/libselinux-2.0.85 )
- virt-network? (
- net-dns/dnsmasq[dhcp,ipv6(+),script]
- net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
- net-misc/radvd
- sys-apps/iproute2[-minimal]
- )
- virtiofsd? ( app-emulation/virtiofsd )
- virtualbox? ( <app-emulation/virtualbox-7.1.0 )
- wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
- xen? (
- >=app-emulation/xen-4.9.0
- app-emulation/xen-tools:=
- )
- udev? (
- virtual/libudev:=
- >=x11-libs/libpciaccess-0.10.9
- )
- zfs? ( sys-fs/zfs )
- kernel_linux? ( sys-apps/util-linux )"
-DEPEND="
- ${BDEPEND}
- ${RDEPEND}
- ${PYTHON_DEPS}
- test? (
- $(python_gen_any_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-# The 'circular' dependency on dev-python/libvirt-python is because of
-# virt-qemu-qmp-proxy.
-PDEPEND="
- qemu? ( dev-python/libvirt-python )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
-)
-
-python_check_deps() {
- if use test; then
- python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- fi
-}
-
-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
- ~IP6_NF_FILTER
- ~IP6_NF_MANGLE
- ~IP6_NF_NAT"
-
- # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
- if use virt-network ; then
- if kernel_is -lt 5 2 ; then
- CONFIG_CHECK+="
- ~IP_NF_TARGET_MASQUERADE"
- else
- CONFIG_CHECK+="
- ~NETFILTER_XT_TARGET_MASQUERADE"
- fi
- fi
-
- # 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"
-
- ERROR_USER_NS="Optional depending on LXC configuration."
-
- if [[ -n ${CONFIG_CHECK} ]]; then
- linux-info_pkg_setup
- fi
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- touch "${S}/.mailmap" || die
-
- default
- python_fix_shebang .
-
- # Skip fragile tests which relies on pristine environment
- # (Breaks because of sandbox environment variables)
- # bug #802876
- sed -i -e "/commandtest/d" tests/meson.build || die
-
- # 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_feature 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 libssh2)
- $(meson_feature lvm storage_lvm)
- $(meson_feature lvm storage_mpath)
- $(meson_feature lxc driver_lxc)
- $(meson_feature nbd nbdkit)
- $(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 test tests)
- $(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
- -Dopenwsman=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"
- -Dinitconfdir="${EPREFIX}/etc/systemd"
- -Drunstatedir="${EPREFIX}/run"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- )
-
- # Workaround for bug #938302
- if use dtrace && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- local native_file="${T}"/meson.${CHOST}.ini.local
- cat >> ${native_file} <<-EOF || die
- [binaries]
- dtrace='stap-dtrace'
- EOF
- emesonargs+=( --native-file "${native_file}" )
- fi
-
- meson_src_configure
-}
-
-src_test() {
- export VIR_TEST_DEBUG=1
- # Don't run the syntax check tests, they're fragile and not relevant
- # to us downstream anyway.
- # We also crank up the timeout (as Fedora does) just to preempt failures
- # on slower arches.
- meson_src_test --no-suite syntax-check --timeout-multiplier 10
-}
-
-src_install() {
- meson_src_install
-
- # Depending on configuration option, libvirt will create some bogus
- # directoreis. They are either not used, or libvirtd is able to create
- # them on demand, so let's remove them.
- #
- # Note, we are using -f here so that rm does not fail or warn if the
- # directory is nonexistent.
- rm -rf "${D}"/etc/sysconfig
- rm -rf "${D}"/var
- rm -rf "${D}"/run
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
-
- newtmpfiles "${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_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!
- tmpfiles_process libvirtd.conf
- readme.gentoo_print_elog
-}