diff options
Diffstat (limited to 'app-emulation/qemu-guest-agent')
12 files changed, 400 insertions, 77 deletions
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index 79b21e4711ad..44032f6790ed 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -1,3 +1,6 @@ -DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef SHA512 2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56 -DIST qemu-5.0.0.tar.xz 62426192 BLAKE2B 785d02ef79c95b5c4f0556186054885f9893d4e8a9f4b4f2d6199a4e1ae9c31d7c79dd900305469217f85d61bbe74134b601d5c6c1b0eee2b74792d010f1fd63 SHA512 21ef0cbe107c468a40f0fa2635db2a40048c8790b629dfffca5cd62bb1b502ea8eb133bfc40df5ecf1489e2bffe87f6829aee041cb8a380ff04a8afa23b39fcf DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 +DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f +DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda6409673b4de9461a25ee060cfd03968a16ddeadc21d48b9262e53aa6d4e5eb645376969f97c65807fad19607b04f SHA512 1f31d1e653dec2d35f1b7a5468ee3f471553b48eca8c8afafffcf9243c6b2260e78a5b73da3fe567f9b85d4133573eebd397747b3aec501fb24076263eb07b27 +DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a +DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3 +DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c diff --git a/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch b/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch new file mode 100644 index 000000000000..b6ef6214af55 --- /dev/null +++ b/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch @@ -0,0 +1,10 @@ +This gets confused by python-any-r1 and tries to find sphinx-build in ${T}. +--- a/docs/meson.build ++++ b/docs/meson.build +@@ -1,5 +1,4 @@ +-sphinx_build = find_program(fs.parent(python.full_path()) / 'sphinx-build', +- required: get_option('docs')) ++sphinx_build = find_program('sphinx-build', required: get_option('docs')) + + # Check if tools are available to build documentation. + build_docs = false diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch deleted file mode 100644 index f69781694f1d..000000000000 --- a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qemu-4.2.0/qga/commands-posix.c.orig 2020-03-23 11:15:05.972610989 +0300 -+++ qemu-4.2.0/qga/commands-posix.c 2020-03-23 11:15:39.676015087 +0300 -@@ -108,7 +108,7 @@ - reopen_fd_to_null(1); - reopen_fd_to_null(2); - -- execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0", -+ execle("/sbin/shutdown", "shutdown", "-h", "now", shutdown_flag, "+0", - "hypervisor initiated shutdown", (char*)NULL, environ); - _exit(EXIT_FAILURE); - } else if (pid < 0) { diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch deleted file mode 100644 index 94b6a2c8bb3f..000000000000 --- a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch +++ /dev/null @@ -1,17 +0,0 @@ -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 -@@ -118,6 +118,10 @@ extern int daemon(int, int); - #include <setjmp.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/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch new file mode 100644 index 000000000000..dff62304a5c7 --- /dev/null +++ b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch @@ -0,0 +1,85 @@ +From 33ab5f24913db8d5590fe4155829bd38e7902506 Mon Sep 17 00:00:00 2001 +Message-Id: <33ab5f24913db8d5590fe4155829bd38e7902506.1666164897.git.mprivozn@redhat.com> +From: Michal Privoznik <mprivozn@redhat.com> +Date: Fri, 14 Oct 2022 09:30:15 +0200 +Subject: [PATCH] configure: Avoid using strings binary + +When determining the endiandness of the target architecture we're +building for a small program is compiled, which in an obfuscated +way declares two strings. Then, we look which string is in +correct order (using strings binary) and deduct the endiandness. +But using the strings binary is problematic, because it's part of +toolchain (strings is just a symlink to +x86_64-pc-linux-gnu-strings or llvm-strings). And when +(cross-)compiling, it requires users to set the symlink to the +correct toolchain. + +Fortunately, we have a better alternative anyways. We can mimic +what compiler.h is already doing: comparing __BYTE_ORDER__ +against values for little/big endiandness. + +Bug: https://bugs.gentoo.org/876933 +Signed-off-by: Michal Privoznik <mprivozn@redhat.com> +Message-Id: <d6d9c7043cfe6d976d96694f2b4ecf85cf3206f1.1665732504.git.mprivozn@redhat.com> +Cc: qemu-stable@nongnu.org +Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> +--- + configure | 35 ++++++++++++++++++----------------- + 1 file changed, 18 insertions(+), 17 deletions(-) + +diff --git a/configure b/configure +index f9ec050bf8..81561be7c1 100755 +--- a/configure ++++ b/configure +@@ -1423,30 +1423,31 @@ if test "$tcg" = "enabled"; then + git_submodules="$git_submodules tests/fp/berkeley-softfloat-3" + fi + +-# --- ++########################################## + # big/little endian test + cat > $TMPC << EOF +-#include <stdio.h> +-short big_endian[] = { 0x4269, 0x4765, 0x4e64, 0x4961, 0x4e00, 0, }; +-short little_endian[] = { 0x694c, 0x7454, 0x654c, 0x6e45, 0x6944, 0x6e41, 0, }; +-int main(int argc, char *argv[]) +-{ +- return printf("%s %s\n", (char *)big_endian, (char *)little_endian); +-} ++#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++# error LITTLE ++#endif ++int main(void) { return 0; } + EOF + +-if compile_prog ; then +- if strings -a $TMPE | grep -q BiGeNdIaN ; then +- bigendian="yes" +- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then +- bigendian="no" +- else +- echo big/little test failed +- exit 1 +- fi ++if ! compile_prog ; then ++ bigendian="no" + else ++ cat > $TMPC << EOF ++#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++# error BIG ++#endif ++int main(void) { return 0; } ++EOF ++ ++ if ! compile_prog ; then ++ bigendian="yes" ++ else + echo big/little test failed + exit 1 ++ fi + fi + + ########################################## +-- +2.37.3 + diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml index 74a4e7a083f8..8995a7240036 100644 --- a/app-emulation/qemu-guest-agent/metadata.xml +++ b/app-emulation/qemu-guest-agent/metadata.xml @@ -13,10 +13,6 @@ <email>tamiko@gentoo.org</email> <name>Matthias Maier</name> </maintainer> - <maintainer type="person"> - <email>zlogene@gentoo.org</email> - <name>Mikle Kolyada</name> - </maintainer> <maintainer type="project"> <email>virtualization@gentoo.org</email> <name>Gentoo Virtualization Project</name> diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild index 4a6994942754..e1c778871839 100644 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit systemd toolchain-funcs udev python-any-r1 @@ -11,7 +11,7 @@ MY_PN="qemu" MY_P="${MY_PN}-${PV}" SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" -KEYWORDS="amd64 ~ppc ~ppc64 ~x86" +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" @@ -71,4 +71,9 @@ src_install() { 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 } diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-4.2.0-r1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild index 9318ba4a519e..89b3517badc9 100644 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-4.2.0-r1.ebuild +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild @@ -1,35 +1,33 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 -PYTHON_COMPAT=( python3_{7,8} ) +PYTHON_COMPAT=( python3_{9..11} ) -inherit systemd toolchain-funcs udev python-any-r1 +inherit edo systemd toolchain-funcs python-any-r1 udev 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" +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" LICENSE="GPL-2 BSD-2" SLOT="0" -IUSE="" +KEYWORDS="amd64 ~ppc ~ppc64 x86" RDEPEND="dev-libs/glib" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + app-alternatives/ninja" S="${WORKDIR}/${MY_P}" PATCHES=( - "${FILESDIR}"/${PN}-4.2.0-sysmacros.patch #580924 - "${FILESDIR}"/${PN}-4.2.0-fix-shutdown.patch #681874 + "${FILESDIR}"/${PN}-7.1.0-configure-Avoid-using-strings-binary.patch ) src_configure() { @@ -44,7 +42,7 @@ src_configure() { --disable-linux-user --disable-system --disable-strip - --disable-tools + --enable-tools --disable-werror --enable-guest-agent --python="${PYTHON}" @@ -52,16 +50,12 @@ src_configure() { --cxx="$(tc-getCXX)" --host-cc="$(tc-getBUILD_CC)" ) - echo "./configure ${myconf[*]}" - ./configure "${myconf[@]}" || die -} -src_compile() { - emake V=1 qemu-ga + edo ./configure "${myconf[@]}" } src_install() { - dobin qemu-ga + dobin build/qga/qemu-ga # Normal init stuff newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent @@ -80,4 +74,9 @@ src_install() { 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 } diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-5.0.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild index 9318ba4a519e..4b64963e345a 100644 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-5.0.0.ebuild +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild @@ -1,35 +1,32 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 -PYTHON_COMPAT=( python3_{7,8} ) +PYTHON_COMPAT=( python3_{9..11} ) -inherit systemd toolchain-funcs udev python-any-r1 +inherit edo systemd toolchain-funcs python-any-r1 udev 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" +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" LICENSE="GPL-2 BSD-2" SLOT="0" -IUSE="" +KEYWORDS="amd64 ~ppc ~ppc64 x86" RDEPEND="dev-libs/glib" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + app-alternatives/ninja" S="${WORKDIR}/${MY_P}" PATCHES=( - "${FILESDIR}"/${PN}-4.2.0-sysmacros.patch #580924 - "${FILESDIR}"/${PN}-4.2.0-fix-shutdown.patch #681874 ) src_configure() { @@ -44,7 +41,7 @@ src_configure() { --disable-linux-user --disable-system --disable-strip - --disable-tools + --enable-tools --disable-werror --enable-guest-agent --python="${PYTHON}" @@ -52,16 +49,12 @@ src_configure() { --cxx="$(tc-getCXX)" --host-cc="$(tc-getBUILD_CC)" ) - echo "./configure ${myconf[*]}" - ./configure "${myconf[@]}" || die -} -src_compile() { - emake V=1 qemu-ga + edo ./configure "${myconf[@]}" } src_install() { - dobin qemu-ga + dobin build/qga/qemu-ga # Normal init stuff newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent @@ -80,4 +73,9 @@ src_install() { 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 } diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild new file mode 100644 index 000000000000..cbca89288f83 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit edo systemd toolchain-funcs python-any-r1 udev + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +RDEPEND="dev-libs/glib" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + app-alternatives/ninja" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( +) + +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)" + ) + + edo ./configure "${myconf[@]}" +} + +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 +} diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild new file mode 100644 index 000000000000..86f9742a3e18 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit edo systemd toolchain-funcs python-any-r1 udev + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~ppc64 x86" + +RDEPEND="dev-libs/glib" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + app-alternatives/ninja" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( +) + +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 + --without-default-features + --enable-guest-agent + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + ) + + edo ./configure "${myconf[@]}" +} + +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 +} diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild new file mode 100644 index 000000000000..3002f6df679d --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit edo systemd toolchain-funcs python-any-r1 udev + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" + +RDEPEND="dev-libs/glib" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + app-alternatives/ninja" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/qemu-8.1.0-find-sphinx.patch +) + +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 + --without-default-features + --enable-guest-agent + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + ) + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && myconf+=( --cross-prefix="${CHOST}-" ) + + edo ./configure "${myconf[@]}" +} + +src_test() { + # qga only uses generic code covered by qobject tests, + # the full test suite requires at least one softmmu binary + emake check-unit +} + +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 +} |