diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2012-07-28 22:00:05 +0000 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2012-07-28 22:00:05 +0000 |
commit | 564ea54a665b417f48fe9831774ebdcd7e81af22 (patch) | |
tree | f4383b37ef003ead344344f769341a07cceb9805 /app-emulation/qemu-guest-agent | |
parent | Remove CONFIG_PREEMPT_VOLUNTARY restriction (diff) | |
download | gentoo-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')
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 +} |