app-emulation/qubes-gui-agent: new package, add 4.2.19, 4.3.1

Signed-off-by: Federico Justus Denkena <federico.denkena@posteo.de>
This commit is contained in:
Federico Justus Denkena 2024-12-05 03:34:26 +01:00
parent 282f2d34ef
commit c9c8763b80
Signed by: f-denkena
GPG Key ID: 28F91C66EE36F382
6 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,116 @@
# Maintainer: Frédéric Pierret <frederic.pierret@qubes-os.org>
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
}

View File

@ -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

View File

@ -0,0 +1 @@
XSESSION="Qubes"

View File

@ -0,0 +1,3 @@
#!/bin/bash
/usr/bin/qubes-session

View File

@ -0,0 +1 @@
.qubes-gui-agent.ebuild.0

View File

@ -0,0 +1 @@
.qubes-gui-agent.ebuild.0