parent
ca3fb576fc
commit
26846cf5dc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST tar-1.31.tar.bz2 2946047 BLAKE2B c85c17740e4cd3e8c93d10d93b070cd80629b7f052d020c0513cdddd377f3f90e229a6fa10dfbb43e1006f8202c674f2df854b864c0947f49339a52964d65c1c SHA512 0f4d00e08d56a8f8c32aac0afa2845397efb8ad72eaa6af47334cef9612adb1a4b91406bdc2c3a2cf1b9cc8b92c12735a331e0d137b24f66703f6af6219464f6
|
||||
DIST tar-1.32.tar.bz2 2947264 BLAKE2B 4e380a9a2f84a2af5130464e1b298ae6acf02ee459cbca20dd0991c2859785e5aac789d57b87b32e8b45d89985b6414af9dd37161385da9568d6030c5aa42c0e SHA512 3139e87112123269ee0600243b3ea081687cc93667bef5832bfe3c785c1be622f520f00fcfbdf44ad1d3247866d0ecfe347a85bbfec38eb38fa1014baef566f6
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 85c005ee1345c342f707f3c55317daf6cb050603 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Poznyakoff <gray@gnu.org.ua>
|
||||
Date: Thu, 10 Jan 2019 18:18:49 +0200
|
||||
Subject: Remove erroneous abort() call
|
||||
|
||||
The call was introduced by commit ccef8581. It caused tar to abort
|
||||
on perfectly normal operations, like untarring archives containing
|
||||
./ with the -U option,
|
||||
|
||||
See http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00019.html
|
||||
for details.
|
||||
|
||||
* src/extract.c (maybe_recoverable): Remove misplaced call to abort().
|
||||
---
|
||||
src/extract.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/extract.c b/src/extract.c
|
||||
index 090b866..8276f8f 100644
|
||||
--- a/src/extract.c
|
||||
+++ b/src/extract.c
|
||||
@@ -787,7 +787,7 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made)
|
||||
case UNLINK_FIRST_OLD_FILES:
|
||||
break;
|
||||
}
|
||||
- abort (); /* notreached */
|
||||
+ FALLTHROUGH;
|
||||
|
||||
case ENOENT:
|
||||
/* Attempt creating missing intermediate directories. */
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
@ -1,81 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="Use this to make tarballs :)"
|
||||
HOMEPAGE="https://www.gnu.org/software/tar/"
|
||||
SRC_URI="mirror://gnu/tar/${P}.tar.bz2
|
||||
mirror://gnu-alpha/tar/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="acl elibc_glibc minimal nls selinux static userland_GNU xattr"
|
||||
|
||||
LIB_DEPEND="acl? ( virtual/acl[static-libs(+)] )"
|
||||
|
||||
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
selinux? ( sys-libs/libselinux )"
|
||||
DEPEND="${RDEPEND}
|
||||
nls? ( >=sys-devel/gettext-0.10.35 )
|
||||
static? ( ${LIB_DEPEND} )
|
||||
xattr? ( elibc_glibc? ( sys-apps/attr ) )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-remove-erroneous-abort-call.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if ! use userland_GNU ; then
|
||||
sed -i \
|
||||
-e 's:/backup\.sh:/gbackup.sh:' \
|
||||
scripts/{backup,dump-remind,restore}.in \
|
||||
|| die "sed non-GNU"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
local myeconfargs=(
|
||||
--bindir="${EPREFIX%/}"/bin
|
||||
--enable-backup-scripts
|
||||
--libexecdir="${EPREFIX%/}"/usr/sbin
|
||||
$(usex userland_GNU "" "--program-prefix=g")
|
||||
$(use_with acl posix-acls)
|
||||
$(use_enable nls)
|
||||
$(use_with selinux)
|
||||
$(use_with xattr xattrs)
|
||||
)
|
||||
FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
local p=$(usex userland_GNU "" "g")
|
||||
if [[ -z ${p} ]] ; then
|
||||
# a nasty yet required piece of baggage
|
||||
exeinto /etc
|
||||
doexe "${FILESDIR}"/rmt
|
||||
fi
|
||||
|
||||
# autoconf looks for gtar before tar (in configure scripts), hence
|
||||
# in Prefix it is important that it is there, otherwise, a gtar from
|
||||
# the host system (FreeBSD, Solaris, Darwin) will be found instead
|
||||
# of the Prefix provided (GNU) tar
|
||||
if use prefix ; then
|
||||
dosym tar /bin/gtar
|
||||
fi
|
||||
|
||||
mv "${ED%/}"/usr/sbin/${p}backup{,-tar} || die
|
||||
mv "${ED%/}"/usr/sbin/${p}restore{,-tar} || die
|
||||
|
||||
if use minimal ; then
|
||||
find "${ED%/}"/etc "${ED%/}"/*bin/ "${ED%/}"/usr/*bin/ \
|
||||
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
|
||||
-delete || die
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST libvirt-snmp-0.0.3.tar.gz 161186 BLAKE2B 1b43e7e81a43d4e969e2e30d7d62776743b3c5fb19929fb1606850946c665ad1ca662bee88743f60f202cd92fc42be1cc2cc94e99bf1d137df61bec09850de93 SHA512 6ffda3594ddc513e05e31e7d347a12e371dca3cc698ca790a70e2d01b2ceac6acb5dd6e3cd19723817b41aa62e0c0a49c01c47cb9ce379ac491856a7e88e5a08
|
||||
DIST libvirt-snmp-0.0.4.tar.gz 157859 BLAKE2B e2c8fcdd97ba9b55bd4d318c63f7738024c1360ee10aa4e685c2ea6ca02478206febff30f3e1a82eb1a2dadaa52a377cfbce538e12e33f4ea2fe10b1a089945d SHA512 dbf47e7983f9bd6fcff205fffd1f6006268cca774cf427d39dec84dc7de37b545c0dfcbb2c6f171f55d73487cdec13341097137e24de2dea58ce90494d281162
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="Provides SNMP functionality for libvirt"
|
||||
HOMEPAGE="http://libvirt.org"
|
||||
SRC_URI="http://www.libvirt.org/sources/snmp/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-emulation/libvirt
|
||||
net-analyzer/net-snmp"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_install() {
|
||||
default
|
||||
newinitd "${FILESDIR}/libvirt-snmp.initd-r1" "${PN}"
|
||||
newconfd "${FILESDIR}/libvirt-snmp.confd" "${PN}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "This daemon runs as an AgentX sub-daemon for snmpd. You should therefore"
|
||||
elog "enable the AgentX functionality in snmpd by specifying the following"
|
||||
elog "in /etc/snmp/snmpd.conf:"
|
||||
elog " master agentx"
|
||||
elog "It is further recommended to send traps to the localhost as well using"
|
||||
elog "this option:"
|
||||
elog " trap2sink localhost"
|
||||
elog "More information is available here:"
|
||||
elog " http://wiki.libvirt.org/page/Libvirt-snmp"
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST libvirt-4.9.0.tar.xz 14744184 BLAKE2B 03ddefc8f505c8688ad506b81ea9b37ee085e4c9c429834c6b6f338981bfc3c6034a5455a79feca604fb36e658de766ee6104aeed690c682ae596d10eb5632a9 SHA512 3cfada940f9de6cc4b0504e089f41aa03d9986f0163344dd3b3ab8e6c4eb556a56996dc8f24bca913b036862c75b256628ea9ab7674ef0a57b87f47c58689e90
|
||||
DIST libvirt-5.0.0.tar.xz 14832576 BLAKE2B 8839a10e4ec8de012ca17e348efd75cbd94cc3b1cf378c867d958b61079105d6eb4f98d8d4b89dd5a6a368a3d9ea41f30498e44b7e039cdf8931ae6de8fa47b3 SHA512 d93042f49d2550d14577b5257c548d7108462fe1ad69420c128acf094ffd3e80deb744db13d4c3d5fbe5e4c1826d13131be12e3413710711a2d8cba6cb5a9db9
|
||||
DIST libvirt-5.1.0.tar.xz 14893608 BLAKE2B 76e46c19b09203e7875576185d533d1af4abb5c2b1d229d0215e189d3584cbd213decc15b96128a928e0120dab01bf502d304fed2bf748852cd37c9df54c2ea0 SHA512 ca64d7be683614bdeb20a8865655fe80f911cf13c00aed2334db3a2e4131e1dd6fe5e9663a24e6f82161ad5aa53f1a2637cd21730eed46e4764b7eebced94f3f
|
||||
DIST libvirt-5.2.0.tar.xz 14992888 BLAKE2B d68aedb634a70063a116e112689f252d3fc2fe5369a4cdde8cacd392e806203bf277406bb10c751bae27f34f27a38355fde84573b6221fc4843393f9ae60ae5c SHA512 378dc1552263cce746117487abc0a1f3411e5be149331717158ba23825734ceae7ca474290264d71de798fdd089ad9672026bcb242fa5b3aef87294284d06f04
|
||||
|
@ -0,0 +1,392 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6,7} )
|
||||
|
||||
inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://libvirt.org/git/libvirt.git"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
SLOT="0"
|
||||
else
|
||||
# Versions with 4 numbers are stable updates:
|
||||
if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
|
||||
SRC_URI="https://libvirt.org/sources/stable_updates/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz"
|
||||
fi
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="http://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE="
|
||||
apparmor audit +caps +dbus firewalld fuse glusterfs iscsi iscsi-direct
|
||||
+libvirtd lvm libssh lxc +macvtap nfs nls numa openvz parted pcap phyp
|
||||
policykit +qemu rbd sasl selinux +udev +vepa virtualbox virt-network
|
||||
wireshark-plugins xen zeroconf zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
policykit? ( dbus )
|
||||
qemu? ( libvirtd )
|
||||
vepa? ( macvtap )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
# 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="
|
||||
app-misc/scrub
|
||||
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/dmidecode
|
||||
>=sys-apps/util-linux-2.17
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dbus? ( sys-apps/dbus )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( >=sys-fs/fuse-2.8.6:= )
|
||||
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(-)] )
|
||||
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? ( >=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]
|
||||
)
|
||||
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
|
||||
wireshark-plugins? ( net-analyzer/wireshark:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/udev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zeroconf? ( >=net-dns/avahi-0.6[dbus] )
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch
|
||||
"${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-5.0.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use qemu; then
|
||||
enewgroup qemu 77
|
||||
enewuser qemu 77 -1 -1 "qemu,kvm"
|
||||
fi
|
||||
|
||||
use policykit && enewgroup libvirt
|
||||
|
||||
# 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 macvtap && CONFIG_CHECK+="
|
||||
~MACVTAP"
|
||||
|
||||
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"
|
||||
|
||||
default
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Reinitialize submodules as this is required for gnulib's bootstrap
|
||||
git submodule init
|
||||
# git checkouts require bootstrapping to create the configure script.
|
||||
# Additionally the submodules must be cloned to the right locations
|
||||
# bug #377279
|
||||
./bootstrap || die "bootstrap failed"
|
||||
(
|
||||
git submodule status .gnulib | awk '{ print $1 }'
|
||||
git hash-object bootstrap.conf
|
||||
git ls-tree -d HEAD gnulib/local | awk '{ print $3 }'
|
||||
) >.git-module-status
|
||||
fi
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \
|
||||
-e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \
|
||||
-e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_with apparmor)
|
||||
$(use_with apparmor apparmor-profiles)
|
||||
$(use_with audit)
|
||||
$(use_with caps capng)
|
||||
$(use_with dbus)
|
||||
$(use_with firewalld)
|
||||
$(use_with fuse)
|
||||
$(use_with glusterfs)
|
||||
$(use_with glusterfs storage-gluster)
|
||||
$(use_with iscsi storage-iscsi)
|
||||
$(use_with iscsi-direct storage-iscsi-direct)
|
||||
$(use_with libvirtd)
|
||||
$(use_with libssh)
|
||||
$(use_with lvm storage-lvm)
|
||||
$(use_with lvm storage-mpath)
|
||||
$(use_with lxc)
|
||||
$(use_with macvtap)
|
||||
$(use_enable nls)
|
||||
$(use_with numa numactl)
|
||||
$(use_with numa numad)
|
||||
$(use_with openvz)
|
||||
$(use_with parted storage-disk)
|
||||
$(use_with pcap libpcap)
|
||||
$(use_with phyp)
|
||||
$(use_with policykit polkit)
|
||||
$(use_with qemu)
|
||||
$(use_with qemu yajl)
|
||||
$(use_with rbd storage-rbd)
|
||||
$(use_with sasl)
|
||||
$(use_with selinux)
|
||||
$(use_with udev)
|
||||
$(use_with vepa virtualport)
|
||||
$(use_with virt-network network)
|
||||
$(use_with wireshark-plugins wireshark-dissector)
|
||||
$(use_with xen libxl)
|
||||
$(use_with zeroconf avahi)
|
||||
$(use_with zfs storage-zfs)
|
||||
|
||||
--without-hal
|
||||
--without-netcf
|
||||
--without-sanlock
|
||||
|
||||
--with-esx
|
||||
--with-init-script=systemd
|
||||
--with-qemu-group=$(usex caps qemu root)
|
||||
--with-qemu-user=$(usex caps qemu root)
|
||||
--with-remote
|
||||
--with-storage-fs
|
||||
--with-vmware
|
||||
|
||||
--disable-static
|
||||
--disable-werror
|
||||
|
||||
--with-html-subdir=${PF}/html
|
||||
--localstatedir=/var
|
||||
)
|
||||
|
||||
if use virtualbox && has_version app-emulation/virtualbox-ose; then
|
||||
myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
|
||||
else
|
||||
myeconfargs+=( $(use_with virtualbox vbox) )
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Restore gnulib's config.sub and config.guess
|
||||
# bug #377279
|
||||
(cd .gnulib && git reset --hard > /dev/null)
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
# remove problematic tests, bug #591416, bug #591418
|
||||
sed -i -e 's#commandtest$(EXEEXT) # #' \
|
||||
-e 's#virfirewalltest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterebiptablestest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \
|
||||
tests/Makefile
|
||||
|
||||
export VIR_TEST_DEBUG=1
|
||||
HOME="${T}" emake check || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" \
|
||||
SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
systemd_install_serviced \
|
||||
"${FILESDIR}"/libvirtd.service.conf libvirtd.service
|
||||
|
||||
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd || die
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die
|
||||
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
|
||||
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2")
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST qemu-2.12.0.tar.bz2 41196232 BLAKE2B f258e570558249ea647c3571908f90b8bacdcef9a1814009b98571cf0e96406194d44aa041fd0a97c9b673f39a9eaae8d873824745509778a6784cd85f8398b0 SHA512 91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346
|
||||
DIST qemu-3.1.0.tar.xz 36070104 BLAKE2B 9ed7d1b3256d84f2b73d61763e20f5e4bc5b47d56e4e0d56cf4c29cd25669457b0f08e90d7255589c9666400bb310df3dba3b9290232cad18057b20f08013a3b SHA512 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe
|
||||
|
@ -1,82 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
|
||||
|
||||
inherit eutils systemd udev python-any-r1
|
||||
|
||||
MY_PN="qemu"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2"
|
||||
KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
|
||||
DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
|
||||
HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
|
||||
|
||||
LICENSE="GPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-libs/glib"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch #580924
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
local myconf=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir="/usr/$(get_libdir)"
|
||||
--localstatedir=/
|
||||
--disable-bsd-user
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-strip
|
||||
--disable-tools
|
||||
--disable-werror
|
||||
--enable-guest-agent
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
)
|
||||
echo "./configure ${myconf[*]}"
|
||||
./configure "${myconf[@]}" || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 qemu-ga
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin qemu-ga
|
||||
|
||||
# Normal init stuff
|
||||
newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
|
||||
newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
|
||||
|
||||
# systemd stuff
|
||||
udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
|
||||
|
||||
systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
|
||||
qemu-guest-agent.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You should add 'qemu-guest-agent' to the default runlevel."
|
||||
elog "e.g. rc-update add qemu-guest-agent default"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST qemu-3.1.0-patches-r1.tar.xz 2292 BLAKE2B 0861dcf2eebd7f1f6dd495035fc39a14e44eb8e437127b22105ea2374e5068613c4c3f41227e97e0093062f9448ded2d956dc6c40ae6c64c7258c3dcf87c59c3 SHA512 6eca3f4ec6e62c7a24af15405147d266f8fb77462eb8797da8d7f9e40805160d9431478428baece5b5744fc1edecff988b44c512ae1fbf8f2cc3632ea14962cc
|
||||
DIST qemu-3.1.0.tar.xz 36070104 BLAKE2B 9ed7d1b3256d84f2b73d61763e20f5e4bc5b47d56e4e0d56cf4c29cd25669457b0f08e90d7255589c9666400bb310df3dba3b9290232cad18057b20f08013a3b SHA512 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe
|
||||
|
@ -1,813 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
FIRMWARE_ABI_VERSION="2.11.1-r50"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo-r1 pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
|
||||
# Gentoo specific patchsets:
|
||||
#SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.tar.xz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug
|
||||
+fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
|
||||
pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy
|
||||
spice ssh static static-user systemtap tci test usb usbredir vde
|
||||
+vhost-net virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
RESTRICT=strip
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
|
||||
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
|
||||
sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
|
||||
lm32 moxie tricore unicore32"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
||||
tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
static? ( static-user !alsa !gtk !opengl !pulseaudio !snappy )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
x11-libs/libxkbcommon[static-libs(+)]
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
capstone? ( dev-libs/capstone:= )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? (
|
||||
sys-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[static-libs(+)]
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
sys-libs/ncurses:0=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-2017_p20180211[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20180211[binary]
|
||||
~sys-firmware/seabios-1.11.0[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC64_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.11.0[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-3.1.0-CVE-2018-20123.patch
|
||||
"${FILESDIR}"/${PN}-3.1.0-CVE-2019-3812.patch
|
||||
#"${WORKDIR}"/patches
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/hppa-firmware.img
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
default
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
|
||||
# Remove bundled copy of libfdt
|
||||
rm -r dtc || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
--disable-bluez
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser png vnc-png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh2)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
conf_opts+=(
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use sdl && conf_opts+=( --with-sdlabi=2.0 )
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
if [[ -e check-report.html ]]; then
|
||||
docinto html
|
||||
dodoc check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
# PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
[[ -f ${D}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,22 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=HAARG
|
||||
MODULE_VERSION=0.12
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION='Returns the equivalent of ${^GLOBAL_PHASE} eq DESTRUCT for older perls'
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86 ~ppc-aix ~x86-fbsd ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=dev-perl/Sub-Exporter-Progressive-0.1.11"
|
||||
DEPEND="
|
||||
>=virtual/perl-ExtUtils-CBuilder-0.27.0
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
SRC_TEST="do parallel"
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=HAARG
|
||||
MODULE_VERSION=0.12
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION='Returns the equivalent of ${^GLOBAL_PHASE} eq DESTRUCT for older perls'
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm hppa ~ppc ~ppc64 ~x86 ~ppc-aix ~x86-fbsd ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/Sub-Exporter-Progressive-0.1.11
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=virtual/perl-ExtUtils-CBuilder-0.270.0
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
"
|
||||
|
||||
SRC_TEST="do parallel"
|
@ -1,2 +1 @@
|
||||
DIST Devel-GlobalDestruction-0.12.tar.gz 7803 BLAKE2B f8717c72ae9ec5e1bf43ca02903ad65030c3577ddce35c36030a420625c8180ebf15b2d986337007802ad946f65ed9f45e715a3f8fb74ed723797934bac3e38a SHA512 f1e259003aad8b654a7d1922cae7c3603527a6d674222069c1b8e9c7bd831549d8477acf7cc61d550991fd479e1cd5e092ea2e8e6f5b42066f5033c143ee7aa4
|
||||
DIST Devel-GlobalDestruction-0.14.tar.gz 10041 BLAKE2B e803218cba1e95f459934907d27983c42e5657e95d75877482c6a9b5a654e5df563f32fba68de745f92d99772b6387e026af847c421a0b991970277bf51c71e7 SHA512 75c346feae98897fb202dea0295f0225bf3cac59f21915da5dd1cdcf845052f4f8bcd0362d357020fb0facb6358175112b3685860ca1c1f173421c7c6a54f45d
|
||||
|
@ -1,20 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MAKAMAKA
|
||||
MODULE_VERSION=0.96
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl implementation of JSON-RPC 1.1 protocol"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-perl/libwww-perl
|
||||
>=dev-perl/JSON-2.21"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
SRC_TEST="do"
|
@ -1,2 +1 @@
|
||||
DIST JSON-RPC-0.96.tar.gz 14206 BLAKE2B 22adb7e453bddc884d0a8cc147fe93983b502239e498319f43c564932eafe0bd2a81a43239cbd6dbf6332fb4d9c0848c37bedd321ae5c672ba329cdfdf50012a SHA512 2137d8d645c672fc176acc7c8b8dc50f6fc7215fcecc8c6465ddac9e1c4cffdf8f04d0a8222267cfb5ac79c04448444d6aa7ca1beac96c809986569f79cec6c9
|
||||
DIST JSON-RPC-1.06.tar.gz 36034 BLAKE2B c39891fef72d3306e2077dfff99213f5533e4d2a23578a67caff4d24f0486debb8ac7ca45ebb61b08ae8409d38abfdaaf76e745b74adbe3ecf5f6b92432cdfd9 SHA512 541d4e7045d7ae86d1f061976c4c1b4e501de5712dcdc2de63e3a317a0d6ee4d2a8461a4af61f855e533cb22bd90953ad6192e58dcdab36978e25cb9fea5869c
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST libvirt-python-4.9.0.tar.gz 191922 BLAKE2B 272f0827faa7083e4896b34cea81554505e38733313df556d608fbf0e2ab935088ec5d57e9678c7679e172ff99a619939abe8cbd828b49655de70daf11d20efe SHA512 7d1345693c87f11be9dc751212820f4c4a519a467703f0ea2fcafd0e66d39941686cf7c84c2c68e8639889da1bfbc9176a72cf1059c87d76a49b2c74a7b05c0e
|
||||
DIST libvirt-python-5.0.0.tar.gz 192726 BLAKE2B 1ab4d4430254a1288714db32d76baf4a78f733bd82d33cf9f6a40aadcfac9c1dd73db91d38326a68ad04b8454f4c6417a16f07f9ecdfe8ccabcb0eccc9d13060 SHA512 318ae32f4c59b6cd278c8d07566e5e5f34759167084d4c722687d3cbf19efecea3a0c2a4ee37f42e58aa3f42f07fdd50bd9dd0539002388a7f79b138ad434dff
|
||||
DIST libvirt-python-5.1.0.tar.gz 193081 BLAKE2B 7dc0914743257f53a285ae794c64e360af72085db532deb552925d68f5be07f20d3b2ff242b8d475e40ea6ede06bd9abe790f3bcbf4ab8b7aba2a9c6120aa236 SHA512 980bcb1723ea5bf0677a1c7de9fc8f23cd4495df3c861e2c0c865c53c30eb7cb1db4c6c369c593206378f2e80211bf4542304f73e8953bfe513b80b7ed013e74
|
||||
DIST libvirt-python-5.2.0.tar.gz 193270 BLAKE2B fecd1a07091746779a91e0cfeb9c3068048ee7e51d2f79064b4ee529a19b78d04ba53a5abab68182a1fa9c4a82f459fa9e971c33fcd10b42fe7011be17f7c6e2 SHA512 afee2dcaf08d530e6298fdf2db674af217b9e4115941258b5815aba00087d96db6eb421c9854d7dca0f9dfe24069df72aadd969c924545e72be216f01bc173cc
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} )
|
||||
|
||||
MY_P="${P/_rc/-rc}"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://libvirt.org/git/libvirt-python.git"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
RDEPEND="app-emulation/libvirt:=[-python(-)]"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
RDEPEND="app-emulation/libvirt:0/${PV}"
|
||||
fi
|
||||
S="${WORKDIR}/${P%_rc*}"
|
||||
|
||||
DESCRIPTION="libvirt Python bindings"
|
||||
HOMEPAGE="https://www.libvirt.org"
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="0"
|
||||
IUSE="examples test"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
test? ( dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}] )"
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use examples; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} pypy )
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST PyYAML-3.12.tar.gz 253011 BLAKE2B 530f2910acb757af9e2a738d93ace45daee3fc5764f19fbc758508e873f05ebfa2486c4f82800540e5e405e7f114f06f963e5011908fd15014ca8b8afb3a76aa SHA512 e16d8b7f4f026b6a95b11fb59c54ec5f114f6f516294eaa95e718abdf5d37c17a9c4b5e0a0a61fca04e801792d9b7fb801087cf849ff22b9581f6af204b1883a
|
||||
DIST PyYAML-3.13.tar.gz 270607 BLAKE2B f365f63587b911234497426c9796f98b85f5de052abd88ea434137a4eb8a4c1e08f9ee1982a30df1934dadb615145f4af8fcff577d3d4e52058e7a8843aa8604 SHA512 93642286d0317e2fe970632c36d38ce6030f7cabcf971f28e3a1054f07390fcee5baaf7f167e7c9690dbd7b2adc61f5b7d75a218ace0abca34ff8815486cfdd7
|
||||
DIST PyYAML-5.1.tar.gz 274244 BLAKE2B ea8cc4b56b9fc70bc7b01f8c654ceb8b73c82dcc936c939cba3c3654df04fe32fc46c7df322a38869d28ad5a58f6134b35cbe43924df3b4d5f3e54e33700dc73 SHA512 8f27f92bdfa310a99dd6d83947332cc033fa18f0011998bb585ad5c4340a2da20d8c20bfdb53beaae15651198d1240c986818379b0a05b230f74d1f30f53e7fd
|
||||
|
@ -0,0 +1,40 @@
|
||||
diff --git a/lib/yaml/__init__.py b/lib/yaml/__init__.py
|
||||
index e7a419d..5f80761 100644
|
||||
--- a/lib/yaml/__init__.py
|
||||
+++ b/lib/yaml/__init__.py
|
||||
@@ -106,6 +106,7 @@ def load(stream, Loader=None):
|
||||
and produce the corresponding Python object.
|
||||
"""
|
||||
if Loader is None:
|
||||
+ raise RuntimeError("Unsafe load() call disabled by Gentoo. See bug #659348")
|
||||
load_warning('load')
|
||||
Loader = FullLoader
|
||||
|
||||
@@ -121,6 +122,7 @@ def load_all(stream, Loader=None):
|
||||
and produce corresponding Python objects.
|
||||
"""
|
||||
if Loader is None:
|
||||
+ raise RuntimeError("Unsafe load() call disabled by Gentoo. See bug #659348")
|
||||
load_warning('load_all')
|
||||
Loader = FullLoader
|
||||
|
||||
diff --git a/lib3/yaml/__init__.py b/lib3/yaml/__init__.py
|
||||
index 5df0bb5..6952ba5 100644
|
||||
--- a/lib3/yaml/__init__.py
|
||||
+++ b/lib3/yaml/__init__.py
|
||||
@@ -106,6 +106,7 @@ def load(stream, Loader=None):
|
||||
and produce the corresponding Python object.
|
||||
"""
|
||||
if Loader is None:
|
||||
+ raise RuntimeError("Unsafe load() call disabled by Gentoo. See bug #659348")
|
||||
load_warning('load')
|
||||
Loader = FullLoader
|
||||
|
||||
@@ -121,6 +122,7 @@ def load_all(stream, Loader=None):
|
||||
and produce corresponding Python objects.
|
||||
"""
|
||||
if Loader is None:
|
||||
+ raise RuntimeError("Unsafe load() call disabled by Gentoo. See bug #659348")
|
||||
load_warning('load_all')
|
||||
Loader = FullLoader
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P="PyYAML-${PV}"
|
||||
|
||||
DESCRIPTION="YAML parser and emitter for Python"
|
||||
HOMEPAGE="https://pyyaml.org/wiki/PyYAML https://pypi.org/project/PyYAML/"
|
||||
SRC_URI="https://pyyaml.org/download/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
IUSE="examples libyaml"
|
||||
|
||||
RDEPEND="libyaml? ( dev-libs/libyaml )"
|
||||
DEPEND="${RDEPEND}
|
||||
libyaml? ( $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]' python2_7 'python3*') )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
# bug #659348
|
||||
"${FILESDIR}/${PN}-5.1-cve-2017-18342.patch"
|
||||
)
|
||||
|
||||
python_configure_all() {
|
||||
mydistutilsargs=( $(use_with libyaml) )
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
if use examples; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
fi
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Pure python SSH tunnels"
|
||||
HOMEPAGE="https://pypi.python.org/pypi/sshtunnel"
|
||||
SRC_URI="mirror://pypi/s/sshtunnel/${P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? ( dev-python/tox[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue