summaryrefslogtreecommitdiff
path: root/app-emulation/qemu-guest-agent
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/qemu-guest-agent')
-rw-r--r--app-emulation/qemu-guest-agent/Manifest11
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service11
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev2
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga.conf-r111
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga.init-r124
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga.logrotate9
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-guest-agent-2.5.0-sysmacros.patch17
-rw-r--r--app-emulation/qemu-guest-agent/metadata.xml12
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild83
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild82
10 files changed, 262 insertions, 0 deletions
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest
new file mode 100644
index 000000000000..09b74ab5708a
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/Manifest
@@ -0,0 +1,11 @@
+AUX qemu-ga-systemd.service 227 BLAKE2B 648d4d17c17fe1c8b2b1bbc809dfbb2596962cf9f9c17db6acbdc093a0fe1d3fe85de089c52d0fa2fc8561907f500a343db6337e71abe0ebbcff2c59763f088c SHA512 73e3d531aa3de794bc851dcccc6c1f0495a7c94070bd3c1499abbc98dcd8a5017bc1a77f357ff7b81c2abfb8c0378d1b4da2f832a3e45725fab19bcd07216ad1
+AUX qemu-ga-systemd.udev 130 BLAKE2B 3bd450476eb4e7b31e3c21a231b83219def32481110933027944b914a981fc3ea8c2c63a0c946d3f485ce7a2124d690630695537dfe43d67d81cb07a1a4fedd8 SHA512 1035035a98790eead4ead347026baaf33b15eff37155210c6755ca9fa490f5dd276c4769f6d5626d6e42e99cbb3a5e2c13d8417a726830234327e83b0449667a
+AUX qemu-ga.conf-r1 452 BLAKE2B 546799fefad91644acc0cee1e5c3f4adfb3f12cf48831a6138bf23aaf9a7b36604a651107236f9cb08fb44b3a055b5bc01b34243dadd6dc6dde8c0478bdaa38f SHA512 c339ddad3e94e1cd009d9f6819b7fbaddda0c8d5ad7736704cdf8efd0f802df9b905c3529ecd2a1e5831bc8e9e6e7be94ac816097f97c92deb6a3816328dba39
+AUX qemu-ga.init-r1 624 BLAKE2B 79416a272a89349e4174a4238fc7763fc1f116c7c4a2e7c4d41ba2bb8d0a41a2db1abb2053e307a257519af3163e3d603280d45f20e259ec1a1a9b090a9891fd SHA512 820ae4b04b9eeb2c8ac6128544f764af67b4462cc98377ceb37708130a5cae118bd3ed892a945fb25234a8d73fb98e60dbf5da3a44861fc56f97b66a3f12532e
+AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a0679a90805919aa4b7afac4f1d0c3bac72fcc5c7c0e0d87b227be8b1697338b827c890c56be77b07db SHA512 0fb39dd7ee528b36d8e837fbc53ba69476ba83947a4df10a9df03a02861a37d21f53865adbd3050c24aad72ec8a8bee1fb33f7382213d855884aff109f3c3789
+AUX qemu-guest-agent-2.5.0-sysmacros.patch 365 BLAKE2B 0468e23b64612b0a9375ab6d47bd40447003f151d7f9421d1338d66663af390d69af6a8f9233eab66a69b7d38868e9735a19eefd16dd65f42853e4919ed27046 SHA512 a608a3d96f03c54fcccb7bcb354f0deec4bcb570f03b8ac9044ca5c6ee7a6252ae7cac05fb142d7c95feecfbb17e0499bbc1d6935c3e3e9ea7db319c4c11f6ad
+DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354
+DIST qemu-2.12.0.tar.bz2 41196232 BLAKE2B f258e570558249ea647c3571908f90b8bacdcef9a1814009b98571cf0e96406194d44aa041fd0a97c9b673f39a9eaae8d873824745509778a6784cd85f8398b0 SHA512 91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346
+EBUILD qemu-guest-agent-2.11.1.ebuild 1732 BLAKE2B 15ad8c35a7178c60d8c588f3e7fbfa81612f72447e597f8b4061a96c20bacad118cf9d7d459eb887c5c27c7a25c326015972260aa5ff07e09e82913db2e3ff0a SHA512 9d4431c543eb33672b9581f995e3cd8c7a02a50bc9701506ffe250eb4aed6f71ab88d6245be4175c130e7a7bb5b45b04d4510ee7495f0dec4185d24f7cea6024
+EBUILD qemu-guest-agent-2.12.0-r1.ebuild 1731 BLAKE2B 91b6d9f6900240536bb92051217a2ca5b73ac631df6a06cac00089bb5e3f33482ac923d24bb2beeda03e05ec0418ad4c45e7bbc701bf94a962a66449a3b79841 SHA512 bab85f27d0a2fb6ba46d52fb565b3c34e37040a750c0d2704c75c742d5e5ec1b3560e45840a9bc3ae2da5391e3f4a9b80b8ba9d217ef18c4f7f532d4d1c65664
+MISC metadata.xml 379 BLAKE2B d27991e18ed82ad5892cd44e50c965f8eacef9e8f2e11a6655306cf6913ec8e6d871c898cc8763140d5fd7d2be97ea7b4fc6377a0cab1978113a311dffaecdb4 SHA512 ee5deeb07591c7adb54bee8b80ea5a35e6047c308265d5363d239ed067416967c87cba01d6369bb5f2cd7792d1b65b9d0f1e7068b362ff5a2bad35232e272f05
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service b/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service
new file mode 100644
index 000000000000..51cd7b37ff79
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=QEMU Guest Agent
+BindTo=dev-virtio\x2dports-org.qemu.guest_agent.0.device
+After=dev-virtio\x2dports-org.qemu.guest_agent.0.device
+
+[Service]
+ExecStart=-/usr/bin/qemu-ga
+Restart=always
+RestartSec=0
+
+[Install]
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev b/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev
new file mode 100644
index 000000000000..8a290abbd3e3
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev
@@ -0,0 +1,2 @@
+SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
+ TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1 b/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1
new file mode 100644
index 000000000000..a1a78df3dea0
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1
@@ -0,0 +1,11 @@
+# Specifies the transport method used to communicate to QEMU on the host side
+# Default: virtio-serial
+#GA_METHOD="virtio-serial"
+
+# Specifies the device path for the communications back to QEMU on the host
+# Default: /dev/virtio-ports/org.qemu.guest_agent.0
+#GA_PATH="/dev/virtio-ports/org.qemu.guest_agent.0"
+
+# Additional options to qemu-guest-agent such as --fsfreeze-hook
+# See qemu-ga --help for more info
+#GA_OPTIONS="-F/etc/qemu/fsfreeze-hook"
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1 b/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1
new file mode 100644
index 000000000000..f08c082709b3
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+start() {
+ GA_METHOD=${GA_METHOD:-virtio-serial}
+ GA_PATH=${GA_PATH:-/dev/virtio-ports/org.qemu.guest_agent.0}
+
+ ebegin "Starting QEMU Guest Agent"
+
+ start-stop-daemon --start --pidfile /run/qemu-ga.pid \
+ --exec /usr/bin/qemu-ga -- -m ${GA_METHOD} -p ${GA_PATH} \
+ -l /var/log/qemu-ga.log -d -f /run/qemu-ga.pid -t /run ${GA_OPTIONS}
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping QEMU Guest Agent"
+
+ start-stop-daemon --stop --pidfile /run/qemu-ga.pid
+
+ eend $?
+}
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate b/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate
new file mode 100644
index 000000000000..ffcc477d3358
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate
@@ -0,0 +1,9 @@
+/var/log/qemu-ga.log {
+ weekly
+ missingok
+ rotate 4
+ compress
+ delaycompress
+ copytruncate
+ minsize 100k
+}
diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-2.5.0-sysmacros.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-2.5.0-sysmacros.patch
new file mode 100644
index 000000000000..4d5690c59ae4
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-2.5.0-sysmacros.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/580924
+
+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
diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml
new file mode 100644
index 000000000000..88bcd95b4c70
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild
new file mode 100644
index 000000000000..b34558adc4a8
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils systemd udev python-any-r1
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/glib
+ x11-libs/pixman"
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch #580924
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --disable-tools
+ --disable-werror
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+ echo "./configure ${myconf[*]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_compile() {
+ emake V=1 qemu-ga
+}
+
+src_install() {
+ dobin qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild
new file mode 100644
index 000000000000..ec4616852a89
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit eutils systemd udev python-any-r1
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/glib"
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch #580924
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --disable-tools
+ --disable-werror
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+ echo "./configure ${myconf[*]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_compile() {
+ emake V=1 qemu-ga
+}
+
+src_install() {
+ dobin qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+}