summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-19 20:42:48 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-19 20:42:48 +0100
commit0f6c54fe4f918b332671d5938048d977378cc7a0 (patch)
tree60d2bad4256f29ab1a09f1b85199be0e9700d073
parent5986ab5735b24557718ed7189cffd9e64c24d32a (diff)
app-emulation/qemu-guest-agent : fix xkeyboard-config-2.39 compatibility issues (https://bugs.gentoo.org/908699)
-rw-r--r--app-emulation/qemu-guest-agent/Manifest1
-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-xkeyboard-config-2.39-compat.patch11
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2-r1.ebuild82
-rw-r--r--metadata/md5-cache/app-emulation/qemu-guest-agent-8.0.2-r114
-rw-r--r--metadata/pkg_desc_index1
10 files changed, 166 insertions, 0 deletions
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest
new file mode 100644
index 00000000..a62ed812
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/Manifest
@@ -0,0 +1 @@
+DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a
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 00000000..51cd7b37
--- /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 00000000..8a290abb
--- /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 00000000..a1a78df3
--- /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 00000000..f08c0827
--- /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 00000000..ffcc477d
--- /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-xkeyboard-config-2.39-compat.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-xkeyboard-config-2.39-compat.patch
new file mode 100644
index 00000000..744e7f20
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-xkeyboard-config-2.39-compat.patch
@@ -0,0 +1,11 @@
+diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
+index bff30833137b1afe114b2fc75f3e5677d3ef437c..0bd8ce0077532d0756508c0dcba0f86ddf946a63 100644
+--- a/pc-bios/keymaps/meson.build
++++ b/pc-bios/keymaps/meson.build
+@@ -1,5 +1,5 @@
+ keymaps = {
+- 'ar': '-l ar',
++ 'ar': '-l ara',
+ 'bepo': '-l fr -v dvorak',
+ 'cz': '-l cz',
+ 'da': '-l dk',
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2-r1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2-r1.ebuild
new file mode 100644
index 00000000..e78e1111
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 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
+ dev-util/ninja"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-xkeyboard-config-2.39-compat.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
+ --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/metadata/md5-cache/app-emulation/qemu-guest-agent-8.0.2-r1 b/metadata/md5-cache/app-emulation/qemu-guest-agent-8.0.2-r1
new file mode 100644
index 00000000..59aa0fd9
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/qemu-guest-agent-8.0.2-r1
@@ -0,0 +1,14 @@
+BDEPEND=|| ( >=dev-lang/python-3.11.4:3.11 >=dev-lang/python-3.10.12:3.10 ) dev-lang/perl dev-util/ninja virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=configure install postinst postrm setup
+DEPEND=dev-libs/glib
+DESCRIPTION=QEMU Guest Agent (qemu-ga) for use when running inside a VM
+EAPI=8
+HOMEPAGE=https://wiki.qemu.org/Features/GuestAgent
+INHERIT=edo systemd toolchain-funcs python-any-r1 udev
+KEYWORDS=~amd64 ~ppc ~ppc64 ~x86
+LICENSE=GPL-2 BSD-2
+RDEPEND=dev-libs/glib
+SLOT=0
+SRC_URI=http://wiki.qemu.org/download/qemu-8.0.2.tar.xz
+_eclasses_=edo c0eb9cbe6b0bd01fcb4918f12598a4d3 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-any-r1 d2955aaac8daaaa69fcc6dc93ed19f29 python-utils-r1 a013e16d5d896b3d8be68dd2a0e846ea systemd 5f4bb0758df2e483babf68cd517078ca toolchain-funcs 513c31b3346458ed1f3878b57da6d61c udev eec0bbab06977f1cfc5597269c1fa152
+_md5_=73defb245c504892d7c0bf6a4b39d4ac
diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index
index a2b35313..89553425 100644
--- a/metadata/pkg_desc_index
+++ b/metadata/pkg_desc_index
@@ -4,6 +4,7 @@ app-admin/opensnitch 1.5.2-r1: Desktop application firewall
app-admin/vasile 2.1812.2: Versatile Advanced Script for ISO and Latest Enchantments
app-arch/unp 2.0_pre9-r1: Script for unpacking various file formats
app-backup/timeshift 22.11.1-r2: A system restore utility for Linux
+app-emulation/qemu-guest-agent 8.0.2-r1: QEMU Guest Agent (qemu-ga) for use when running inside a VM
app-emulation/steam 1.0.0.71-r2: Digital distribution client bootstrap package
app-emulation/virtualbox-modules 7.0.8: Kernel Modules for Virtualbox
app-misc/calamares-config-redcore 1.314.1337-r3: Redcore Linux Calamares modules config