From c9c8763b805561712d2ad38dc16cf8bb3704ea3e Mon Sep 17 00:00:00 2001 From: Federico Justus Denkena Date: Thu, 5 Dec 2024 03:34:26 +0100 Subject: [PATCH] app-emulation/qubes-gui-agent: new package, add 4.2.19, 4.3.1 Signed-off-by: Federico Justus Denkena --- .../qubes-gui-agent/.qubes-gui-agent.ebuild.0 | 116 ++++++++++++++++++ app-emulation/qubes-gui-agent/Manifest | 3 + .../qubes-gui-agent/files/90xsession | 1 + app-emulation/qubes-gui-agent/files/Qubes | 3 + .../qubes-gui-agent-4.2.19.ebuild | 1 + .../qubes-gui-agent-4.3.1.ebuild | 1 + 6 files changed, 125 insertions(+) create mode 100644 app-emulation/qubes-gui-agent/.qubes-gui-agent.ebuild.0 create mode 100644 app-emulation/qubes-gui-agent/Manifest create mode 100644 app-emulation/qubes-gui-agent/files/90xsession create mode 100644 app-emulation/qubes-gui-agent/files/Qubes create mode 120000 app-emulation/qubes-gui-agent/qubes-gui-agent-4.2.19.ebuild create mode 120000 app-emulation/qubes-gui-agent/qubes-gui-agent-4.3.1.ebuild diff --git a/app-emulation/qubes-gui-agent/.qubes-gui-agent.ebuild.0 b/app-emulation/qubes-gui-agent/.qubes-gui-agent.ebuild.0 new file mode 100644 index 0000000..60cfe63 --- /dev/null +++ b/app-emulation/qubes-gui-agent/.qubes-gui-agent.ebuild.0 @@ -0,0 +1,116 @@ +# Maintainer: Frédéric Pierret + +EAPI=7 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit git-r3 multilib distutils-r1 qubes + +if [[ ${PV} == *9999 ]]; then + EGIT_COMMIT=HEAD +else + EGIT_COMMIT="v${PV}" +fi + +EGIT_REPO_URI="https://github.com/QubesOS/qubes-gui-agent-linux.git" + +KEYWORDS="amd64" +DESCRIPTION="The Qubes GUI Agent for AppVMs" +HOMEPAGE="http://www.qubes-os.org" +LICENSE="GPL-2" + +SLOT="0" +IUSE="xfce" + +DEPEND="app-emulation/qubes-libvchan-xen + app-emulation/qubes-db + app-emulation/qubes-gui-common + x11-apps/xprop + x11-apps/xsetroot + x11-apps/xrandr + x11-apps/setxkbmap + x11-base/xorg-server:= + x11-libs/libXdamage + x11-apps/xinit + x11-libs/libXcomposite + dev-python/xcffib[${PYTHON_USEDEP}] + dev-python/pygobject[${PYTHON_USEDEP}] + dev-python/pyxdg[${PYTHON_USEDEP}] + media-libs/alsa-lib + media-sound/alsa-utils + media-libs/libpulse + media-video/pipewire + ${PYTHON_DEPS} + " +RDEPEND="${DEPEND}" +PDEPEND="" + +src_prepare() { + qubes_verify_sources_git "${EGIT_COMMIT}" + default +} + +src_compile() { + # Fix PAM + sed -i 's/postlogin/system-auth/g' appvm-scripts/etc/pam.d/qubes-gui-agent + + pa_ver=$((pkg-config --modversion libpulse 2>/dev/null || echo 0.0) | cut -f 1 -d "-") + + rm -f pulse/pulsecore + ln -s "pulsecore-$pa_ver" pulse/pulsecore + + # Bug fixes : /var/run/console depends on pam_console, which is Fedora specific + # As a consequece, /var/run/console does not exists and qubes-gui-agent will always fail + sed 's:ExecStartPre=/bin/touch:#ExecStartPre=/bin/touch:' -i appvm-scripts/qubes-gui-agent.service + # Ensure that qubes-gui-agent starts after user autologin + sed 's/After=\(.*\)qubes-misc-post.service/After=\1qubes-misc-post.service getty.target/' -i appvm-scripts/qubes-gui-agent.service + + myopt="${myopt} DESTDIR="${D}" SYSTEMD=1 BACKEND_VMM=xen LIBDIR=/usr/$(get_libdir)" + emake ${myopt} appvm +} + +src_install() { + emake ${myopt} install + + insopts -m 0755 + insinto /etc/X11/Sessions/ + doins "${FILESDIR}/Qubes" + + insopts -m 0664 + insinto /etc/env.d/ + doins "${FILESDIR}/90xsession" +} + +pkg_postinst() { + # With pulseaudio 15.0, the module directory was changed to + # /usr/$(get_libdir)/${PN}/modules + pa_ver=$((pkg-config --modversion libpulse 2>/dev/null || echo 0.0) | cut -f 1 -d "-") + pa_ver_short=$(echo "${pa_ver}" | cut -f 1 -d".") + if [[ "${pa_ver_short}" -ge 15 ]]; then + mv /usr/$(get_libdir)/pulse-${pa_ver}/modules/module-vchan-sink.so /usr/$(get_libdir)/pulseaudio/modules + rmdir /usr/$(get_libdir)/pulse-${pa_ver}/modules + rmdir /usr/$(get_libdir)/pulse-${pa_ver} + fi + + systemctl enable qubes-gui-agent.service + + # Remove useless file from install-rh-agent + rm -f /etc/sysconfig/desktop + + # Only for XFCE desktop flavor + if ! use xfce; then + rm -f /etc/X11/xinit/xinitrc.d/60xfce-desktop.sh + fi + + sed -i '/^autospawn/d' /etc/pulse/client.conf + echo autospawn=no >> /etc/pulse/client.conf + + # We added 90xsession providing XSESSION variable + # in env.d so an update is required + env-update +} + +pkg_prerm() { + systemctl disable qubes-gui-agent.service +} + diff --git a/app-emulation/qubes-gui-agent/Manifest b/app-emulation/qubes-gui-agent/Manifest new file mode 100644 index 0000000..647abb8 --- /dev/null +++ b/app-emulation/qubes-gui-agent/Manifest @@ -0,0 +1,3 @@ +AUX 90xsession 17 BLAKE2B c2dc98080ad57f376b0ce64be0b7eaa2404ba17ad6e8242c016b6ec2c649f118492f795cb5a2e7f665c35fba05df802cae03fe51d801ea2450529ea448e510e6 SHA512 c332a841282bc19600b88fb3e760f7a9ce0823453ec8776d06f1418ef6227869edb56a9a54d81568167ae5a6f93f51536b138f20120de3bcca7dede040eb0880 +AUX Qubes 36 BLAKE2B b02c1bb366e0d306a7fcd4c4a7203a702bbeee32e73b4454b0a737c39388e848d3001e008013b465bcd16f7e87cbfff210976ec45f1bf60254d5a8f0a7a324fb SHA512 45021c4b91e7c40410d3ff0bee8d264fc40cd248c85cef686a135ae929faf91c62eebe56559c07cc0dfa8b501a936d0b93c276b7b91f0071fc797e1ecab3d461 +MISC .qubes-gui-agent.ebuild.0 3294 BLAKE2B 6b7f61a1ca0382db42e95c8262dfd7c425f1bc10b7a2a6c466f68efb01f97fab8dbb2bfa16da412bac3980966d33fe7303e45c4ffd3c6975026c528570be8d7b SHA512 dd7b3ba30ab8e1cd977c0b4e35ec6e213f2c2c21db4c23976576a899f70d7f8318bd487d454397a274a2fd711080561907cc38bdac9f18caa558d5dcc5ff7bd7 diff --git a/app-emulation/qubes-gui-agent/files/90xsession b/app-emulation/qubes-gui-agent/files/90xsession new file mode 100644 index 0000000..7844b17 --- /dev/null +++ b/app-emulation/qubes-gui-agent/files/90xsession @@ -0,0 +1 @@ +XSESSION="Qubes" diff --git a/app-emulation/qubes-gui-agent/files/Qubes b/app-emulation/qubes-gui-agent/files/Qubes new file mode 100644 index 0000000..786774d --- /dev/null +++ b/app-emulation/qubes-gui-agent/files/Qubes @@ -0,0 +1,3 @@ +#!/bin/bash + +/usr/bin/qubes-session diff --git a/app-emulation/qubes-gui-agent/qubes-gui-agent-4.2.19.ebuild b/app-emulation/qubes-gui-agent/qubes-gui-agent-4.2.19.ebuild new file mode 120000 index 0000000..430a3ca --- /dev/null +++ b/app-emulation/qubes-gui-agent/qubes-gui-agent-4.2.19.ebuild @@ -0,0 +1 @@ +.qubes-gui-agent.ebuild.0 \ No newline at end of file diff --git a/app-emulation/qubes-gui-agent/qubes-gui-agent-4.3.1.ebuild b/app-emulation/qubes-gui-agent/qubes-gui-agent-4.3.1.ebuild new file mode 120000 index 0000000..430a3ca --- /dev/null +++ b/app-emulation/qubes-gui-agent/qubes-gui-agent-4.3.1.ebuild @@ -0,0 +1 @@ +.qubes-gui-agent.ebuild.0 \ No newline at end of file