summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgerm <germtoo@outlook.com>2023-10-30 08:01:40 -0400
committerPacho Ramos <pacho@gentoo.org>2023-11-24 11:52:15 +0100
commit0b384521330687755ea3df3f4c043ad7261cc2dd (patch)
treee715794ea135bb1480cc26dd1e3dff3e7a2b5118
parentapp-office/onlyoffice-bin: drop 7.4.1-r1 (diff)
downloadgentoo-0b384521330687755ea3df3f4c043ad7261cc2dd.tar.gz
gentoo-0b384521330687755ea3df3f4c043ad7261cc2dd.tar.bz2
gentoo-0b384521330687755ea3df3f4c043ad7261cc2dd.zip
sys-apps/accountsservice: add musl build fixes from Alpine Linux
Closes: https://bugs.gentoo.org/762442 Signed-off-by: Germ Mipseb <germtoo@outlook.com> Signed-off-by: germ <germtoo@outlook.com> Closes: https://github.com/gentoo/gentoo/pull/33600 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
-rw-r--r--sys-apps/accountsservice/accountsservice-23.13.9.ebuild3
-rw-r--r--sys-apps/accountsservice/files/accountsservice-23.13.9-musl-fixes.patch52
2 files changed, 55 insertions, 0 deletions
diff --git a/sys-apps/accountsservice/accountsservice-23.13.9.ebuild b/sys-apps/accountsservice/accountsservice-23.13.9.ebuild
index dad99e616477..61e932e21ed9 100644
--- a/sys-apps/accountsservice/accountsservice-23.13.9.ebuild
+++ b/sys-apps/accountsservice/accountsservice-23.13.9.ebuild
@@ -55,6 +55,9 @@ RDEPEND="${CDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-22.04.62-gentoo-system-users.patch
"${FILESDIR}"/${PN}-23.13.9-generate-version.patch #905770
+ # From Alpine Linux
+ # https://gitlab.freedesktop.org/accountsservice/accountsservice/-/merge_requests/97
+ "${FILESDIR}"/${PN}-23.13.9-musl-fixes.patch
)
python_check_deps() {
diff --git a/sys-apps/accountsservice/files/accountsservice-23.13.9-musl-fixes.patch b/sys-apps/accountsservice/files/accountsservice-23.13.9-musl-fixes.patch
new file mode 100644
index 000000000000..abb59a137bfd
--- /dev/null
+++ b/sys-apps/accountsservice/files/accountsservice-23.13.9-musl-fixes.patch
@@ -0,0 +1,52 @@
+From 962a66aa12932c7899cda78c4cbda0f581947285 Mon Sep 17 00:00:00 2001
+From: germ <germtoo@outlook.com>
+Date: Mon, 30 Oct 2023 06:16:16 -0400
+Subject: [PATCH 1/1] This applies two apatches to sys-apps/accountsserice
+ https://gitlab.alpinelinux.org/alpine/aports/-/raw/75528d8dc4206a74501799f6a6042be20b80801d/community/accountsservice/musl-fgetspent_r.patch
+ https://gitlab.alpinelinux.org/alpine/aports/-/raw/75528d8dc4206a74501799f6a6042be20b80801d/community/accountsservice/musl-wtmp.patch
+
+--- a/meson.build
++++ b/meson.build
+@@ -103,8 +103,7 @@ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
+
+ config_h.set('PATH_WTMP', '_PATH_WTMPX')
+ else
+- path_wtmp = '/var/log/utx.log'
+- assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
++ path_wtmp = '/var/log/wtmp'
+ config_h.set_quoted('PATH_WTMP', path_wtmp)
+ endif
+
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -215,6 +215,27 @@ remove_cache_files (const gchar *user_name)
+ g_remove (icon_filename);
+ }
+
++#ifndef __GLIBC__
++/* Musl libc does not support fgetspent_r(), write own
++* wrapper
++*/
++static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) {
++ struct spwd *shadow_entry = fgetspent(fp);
++ if(!shadow_entry)
++ return -1;
++ size_t namplen = strlen(shadow_entry->sp_namp);
++ size_t pwdplen = strlen(shadow_entry->sp_pwdp);
++
++ if(namplen + pwdplen + 2 > buflen)
++ return -1;
++ *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd));
++ spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1);
++ spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1);
++
++ return 0;
++}
++#endif
++
+ static struct passwd *
+ entry_generator_fgetpwent (Daemon *daemon,
+ GHashTable *users,
+--
+2.42.0
+