flatpak dependency fix

This commit is contained in:
TheK0tYaRa 2025-01-26 20:04:50 +02:00
parent bed2ea6019
commit a2042f8ec6
6 changed files with 205 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST flatpak-1.16.0.tar.xz 1186900 BLAKE2B 807144886340edd862d3758664fda60e8a8146e5230b2758bcc7fa65940e9f358a354e9fb0ffdb9bb3049d6c6c2d3ba2924fc249bf94e8f989fc8b784048fbb1 SHA512 57a8b660193ef1f9724718533963d854fa8bb0eb823470261f3f0a685f8ddbd209d6a1ae8378411c131e9c298cba605863d394f43c8d9eccda608001aadbb68d

View file

@ -0,0 +1,57 @@
https://bugs.gentoo.org/906653
--- a/common/flatpak-dir.c
+++ b/common/flatpak-dir.c
@@ -2109,7 +2109,7 @@ flatpak_dir_revokefs_fuse_unmount (OstreeRepo **repo,
fusermount = g_subprocess_new (G_SUBPROCESS_FLAGS_NONE,
error,
- "fusermount", "-u", "-z", mnt_dir,
+ "fusermount3", "-u", "-z", mnt_dir,
NULL);
if (g_subprocess_wait_check (fusermount, NULL, error))
{
--- a/tests/can-use-fuse.c
+++ b/tests/can-use-fuse.c
@@ -53,11 +53,11 @@ check_fuse (void)
return FALSE;
}
- fusermount = g_find_program_in_path ("fusermount");
+ fusermount = g_find_program_in_path ("fusermount3");
if (fusermount == NULL)
{
- cannot_use_fuse = g_strdup ("fusermount not found in PATH");
+ cannot_use_fuse = g_strdup ("fusermount3 not found in PATH");
return FALSE;
}
@@ -69,7 +69,7 @@ check_fuse (void)
if (!g_file_test ("/etc/mtab", G_FILE_TEST_EXISTS))
{
- cannot_use_fuse = g_strdup ("fusermount won't work without /etc/mtab");
+ cannot_use_fuse = g_strdup ("fusermount3 won't work without /etc/mtab");
return FALSE;
}
--- a/tests/libtest.sh
+++ b/tests/libtest.sh
@@ -542,7 +542,7 @@ skip_one_without_bwrap () {
}
skip_without_fuse () {
- fusermount --version >/dev/null 2>&1 || skip "no fusermount"
+ fusermount3 --version >/dev/null 2>&1 || skip "no fusermount3"
capsh --print | grep -q 'Bounding set.*[^a-z]cap_sys_admin' || \
skip "No cap_sys_admin in bounding set, can't use FUSE"
@@ -608,7 +608,7 @@ commit_to_path () {
cleanup () {
/bin/kill -9 $DBUS_SESSION_BUS_PID
gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye >&2 || true
- fusermount -u $XDG_RUNTIME_DIR/doc >&2 || :
+ fusermount3 -u $XDG_RUNTIME_DIR/doc >&2 || :
kill $(jobs -p) &> /dev/null || true
if test -n "${TEST_SKIP_CLEANUP:-}"; then
echo "# Skipping cleanup of ${TEST_DATA_DIR}"

View file

@ -0,0 +1,11 @@
[Unit]
Description=Update system Flatpaks
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak --system update --assumeyes
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,9 @@
[Unit]
Description=Update user Flatpaks daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target

View file

@ -0,0 +1,116 @@
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit linux-info meson python-any-r1 systemd tmpfiles
DESCRIPTION="Linux application sandboxing and distribution framework"
HOMEPAGE="https://flatpak.org/"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="doc introspection seccomp selinux systemd X"
RESTRICT="test"
RDEPEND="
acct-group/flatpak
acct-user/flatpak
>=app-arch/libarchive-2.8:=
app-arch/zstd:=
>=app-crypt/gpgme-1.1.8:=
>=dev-libs/appstream-0.12:=
>=dev-libs/appstream-glib-0.5.10:=
>=dev-libs/glib-2.56:2=
>=dev-libs/libxml2-2.4:=
dev-libs/json-glib:=
dev-libs/libassuan:=
>=dev-util/ostree-2020.8:=[gpg(+)]
dev-util/ostree[curl]
>=gnome-base/dconf-0.26:=
gnome-base/gsettings-desktop-schemas
net-misc/curl:=
>=sys-apps/bubblewrap-0.10.0
net-misc/socat
sys-apps/dbus
>=sys-fs/fuse-3.1.1:3=
sys-apps/xdg-dbus-proxy
X? (
x11-apps/xauth
x11-libs/libXau:=
)
x11-libs/gdk-pixbuf:2=
seccomp? ( sys-libs/libseccomp:= )
systemd? ( sys-apps/systemd:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
>=dev-build/automake-1.13.4
>=sys-devel/gettext-0.18.2
virtual/pkgconfig
dev-util/gdbus-codegen
dev-util/glib-utils
app-alternatives/yacc
$(python_gen_any_dep 'dev-python/pyparsing[${PYTHON_USEDEP}]')
introspection? ( >=dev-libs/gobject-introspection-1.40 )
doc? (
app-text/xmlto
dev-libs/libxslt
)
"
PDEPEND="sys-apps/xdg-desktop-portal"
python_check_deps() {
python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]"
}
pkg_setup() {
local CONFIG_CHECK="~USER_NS"
linux-info_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
default
# This line fails because locales are in /usr/lib/locale/locale-archive.
sed -i 's:^cp -r /usr/lib/locale/C.*:#\0:' tests/make-test-runtime.sh || die
}
src_configure() {
local emesonargs=(
--localstatedir="${EPREFIX}"/var
-Ddbus_config_dir=/usr/share/dbus-1/system.d
-Dsystem_bubblewrap=bwrap
-Dsystem_dbus_proxy=xdg-dbus-proxy
-Dtmpfilesdir=/usr/lib/tmpfiles.d
$(meson_feature introspection gir)
$(meson_feature selinux selinux_module)
$(meson_feature X xauth)
$(meson_feature doc docbook_docs)
$(meson_feature seccomp seccomp)
$(meson_feature systemd systemd)
)
meson_src_configure
}
src_install() {
meson_src_install
# https://projects.gentoo.org/qa/policy-guide/installed-files.html#pg0303
find "${ED}" -name '*.la' -delete || die
# resolve conflict with acct-user/flatpak for #856706
rm -rf "${ED}/usr/lib/sysusers.d"
if use systemd; then
systemd_dounit "${FILESDIR}"/flatpak-update.{service,timer}
fi
}
pkg_postinst() {
tmpfiles_process flatpak.conf
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
<name>Zac Medico</name>
</maintainer>
<upstream>
<remote-id type="github">flatpak/flatpak</remote-id>
</upstream>
</pkgmetadata>