summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2012-07-28 22:00:05 +0000
committerDoug Goldstein <cardoe@gentoo.org>2012-07-28 22:00:05 +0000
commit564ea54a665b417f48fe9831774ebdcd7e81af22 (patch)
treef4383b37ef003ead344344f769341a07cceb9805 /app-emulation/qemu-guest-agent
parentRemove CONFIG_PREEMPT_VOLUNTARY restriction (diff)
downloadgentoo-2-564ea54a665b417f48fe9831774ebdcd7e81af22.tar.gz
gentoo-2-564ea54a665b417f48fe9831774ebdcd7e81af22.tar.bz2
gentoo-2-564ea54a665b417f48fe9831774ebdcd7e81af22.zip
Add separate ebuild for the QEMU guest agent so it can be used when Gentoo is a guest instead of installing the all of QEMU for just the guest.
(Portage version: 2.1.10.65/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation/qemu-guest-agent')
-rw-r--r--app-emulation/qemu-guest-agent/ChangeLog13
-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.conf7
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga.init29
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-ga.logrotate9
-rw-r--r--app-emulation/qemu-guest-agent/metadata.xml9
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-1.1.1.ebuild69
8 files changed, 149 insertions, 0 deletions
diff --git a/app-emulation/qemu-guest-agent/ChangeLog b/app-emulation/qemu-guest-agent/ChangeLog
new file mode 100644
index 000000000000..158b725e7b4f
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for app-emulation/qemu-guest-agent
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/ChangeLog,v 1.1 2012/07/28 22:00:05 cardoe Exp $
+
+*qemu-guest-agent-1.1.1 (28 Jul 2012)
+
+ 28 Jul 2012; Doug Goldstein <cardoe@gentoo.org>
+ +qemu-guest-agent-1.1.1.ebuild, +files/qemu-ga.conf, +files/qemu-ga.init,
+ +files/qemu-ga.logrotate, +files/qemu-ga-systemd.service,
+ +files/qemu-ga-systemd.udev, +metadata.xml:
+ Add separate ebuild for the QEMU guest agent so it can be used when Gentoo is
+ a guest instead of installing the all of QEMU for just the guest.
+
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..ce5819597877
--- /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 b/app-emulation/qemu-guest-agent/files/qemu-ga.conf
new file mode 100644
index 000000000000..228c0325444d
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.conf
@@ -0,0 +1,7 @@
+# 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"
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.init b/app-emulation/qemu-guest-agent/files/qemu-ga.init
new file mode 100644
index 000000000000..599673574b65
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.init
@@ -0,0 +1,29 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/files/qemu-ga.init,v 1.1 2012/07/28 22:00:05 cardoe Exp $
+
+depend() {
+
+}
+
+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 /var/run/qemu-ga.pid \
+ --exec /usr/bin/qemu-ga -- -m ${GA_METHOD} -p ${GA_PATH} \
+ -l /var/log/qemu-ga.log -d
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping QEMU Guest Agent"
+
+ start-stop-daemon --stop --pidfile /var/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/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml
new file mode 100644
index 000000000000..a33a278324be
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qemu</herd>
+ <use>
+ <flag name='systemd'>Install SystemD init script instead of OpenRC</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-1.1.1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-1.1.1.ebuild
new file mode 100644
index 000000000000..31da731f9b1d
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-1.1.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/qemu-guest-agent-1.1.1.ebuild,v 1.1 2012/07/28 22:00:05 cardoe Exp $
+
+EAPI=4
+
+inherit systemd
+
+MY_PN="qemu-kvm"
+MY_P="${MY_PN}-${PV}"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
+ inherit git-2
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/kvm/${MY_PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+fi
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="http://wiki.qemu.org/Features/QAPI/GuestAgent"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+IUSE="systemd"
+
+DEPEND=">=dev-libs/glib-2.22"
+RDEPEND="${DEPEND}
+ !app-emulation/qemu
+ !<app-emulation/qemu-kvm-1.1.1-r1"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ ./configure
+}
+
+src_compile() {
+ emake qemu-ga
+}
+
+src_install() {
+ dobin qemu-ga
+
+ if ! use systemd; then
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf" qemu-guest-agent
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+ else
+ # systemd stuff
+ insinto /lib/udev/rules.d/
+ newins "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+ fi
+}
+
+pkg_postinst() {
+ if ! use systemd; then
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+ fi
+}