From 75cbb7be90aaf1a95c769687b5c720dfd2fecb62 Mon Sep 17 00:00:00 2001 From: jenkins Date: Tue, 18 Oct 2022 16:57:25 +0000 Subject: [PATCH] app-emulation/qemu-guest-agent: Import from Gentoo Upstream commit 18974c258b2fe62ef81dd0287c34d86ac712c11a --- .../app-emulation/qemu-guest-agent/Manifest | 1 + .../files/qemu-ga-systemd.service | 11 +++ .../files/qemu-ga-systemd.udev | 2 + .../qemu-guest-agent/files/qemu-ga.conf-r1 | 11 +++ .../qemu-guest-agent/files/qemu-ga.init-r1 | 24 ++++++ .../qemu-guest-agent/files/qemu-ga.logrotate | 9 +++ .../qemu-guest-agent/metadata.xml | 24 ++++++ .../qemu-guest-agent-6.0.0.ebuild | 79 +++++++++++++++++++ 8 files changed, 161 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1 create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1 create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest new file mode 100644 index 0000000000..4e6705f488 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest @@ -0,0 +1 @@ +DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.service new file mode 100644 index 0000000000..51cd7b37ff --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga-systemd.udev new file mode 100644 index 0000000000..8a290abbd3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1 b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1 new file mode 100644 index 0000000000..a1a78df3de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1 b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1 new file mode 100644 index 0000000000..f08c082709 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-ga.logrotate new file mode 100644 index 0000000000..ffcc477d33 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml new file mode 100644 index 0000000000..74a4e7a083 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml @@ -0,0 +1,24 @@ + + + + + ajak@gentoo.org + John Helmert III + + + sam@gentoo.org + Sam James + + + tamiko@gentoo.org + Matthias Maier + + + zlogene@gentoo.org + Mikle Kolyada + + + virtualization@gentoo.org + Gentoo Virtualization Project + + diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild new file mode 100644 index 0000000000..755c49bd5d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7..10} ) + +inherit systemd toolchain-funcs udev python-any-r1 + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" +KEYWORDS="amd64 ~ppc ~ppc64 x86" + +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}" + +src_configure() { + tc-export AR LD OBJCOPY RANLIB + + local myconf=( + --prefix=/usr + --sysconfdir=/etc + --libdir="/usr/$(get_libdir)" + --localstatedir=/ + --disable-bsd-user + --disable-linux-user + --disable-system + --disable-strip + --enable-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_install() { + dobin build/qga/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" + udev_reload +} + +pkg_postrm() { + udev_reload +}