aboutsummaryrefslogtreecommitdiffstats
path: root/community/accountsservice
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-05-25 15:16:54 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2019-05-25 15:16:54 +0200
commit19bfcef590655dbb27dc59fe27103715a8fcbce5 (patch)
tree3851db0bd5352da36c73a01453311b758b6afd55 /community/accountsservice
parentf73cb5c48ec938020c59024cc75f7b7d19ec9b31 (diff)
downloadaports-19bfcef590655dbb27dc59fe27103715a8fcbce5.tar.bz2
aports-19bfcef590655dbb27dc59fe27103715a8fcbce5.tar.xz
community/accountsservice: move from testing
needed by lightdm
Diffstat (limited to 'community/accountsservice')
-rw-r--r--community/accountsservice/APKBUILD44
-rw-r--r--community/accountsservice/musl-fgetspent_r.patch34
-rw-r--r--community/accountsservice/musl-wtmp.patch13
3 files changed, 91 insertions, 0 deletions
diff --git a/community/accountsservice/APKBUILD b/community/accountsservice/APKBUILD
new file mode 100644
index 0000000000..8fcb50b11a
--- /dev/null
+++ b/community/accountsservice/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=accountsservice
+pkgver=0.6.55
+pkgrel=0
+pkgdesc="D-Bus interface for user account query and manipulation"
+options="!check" # No testsuite
+url="https://www.freedesktop.org/software/accountsservice/"
+arch="all"
+license="GPL-3.0-or-later"
+depends_dev="glib-dev gobject-introspection-dev polkit-dev"
+makedepends="
+ $depends_dev
+ intltool
+ meson
+ elogind-dev
+ gobject-introspection-dev
+ "
+subpackages="$pkgname-dev $pkgname-lang lib$pkgname:libs"
+source="https://www.freedesktop.org/software/accountsservice/accountsservice-$pkgver.tar.xz
+ musl-fgetspent_r.patch
+ musl-wtmp.patch
+ "
+
+build() {
+ meson \
+ --prefix=/usr \
+ -Dsystemdsystemunitdir=no \
+ -Dsystemd=false \
+ -Delogind=true \
+ -Dintrospection=true \
+ -Ddocbook=false \
+ -Dgtk_doc=false \
+ output
+ ninja -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C output install
+}
+
+sha512sums="c12e6a8e80f9b087f97238da4734d2d3a14a7c5cbd870a32a04b00116f176c818c39fb886f6dc72c3e93c136b0c2074ddf8f77e20431fa3bd54f138bea9d262d accountsservice-0.6.55.tar.xz
+469392beca8f5941eafaa193c4fcb0472770ee4183ce520416a1b5d6abafe0e201990eb74d06bfbd9e20af08e55aff5f0031f267083f6c6879f0fe4e5028103c musl-fgetspent_r.patch
+7b41a5fd4c2ab178762902d137ebf6eb6edbf97bae9255d17c4380c8c738b159aa25a2e51c31f740789560f17850c71b0bb60ee792a2a87be6b60cb5c89d7efc musl-wtmp.patch"
diff --git a/community/accountsservice/musl-fgetspent_r.patch b/community/accountsservice/musl-fgetspent_r.patch
new file mode 100644
index 0000000000..f5046d47c6
--- /dev/null
+++ b/community/accountsservice/musl-fgetspent_r.patch
@@ -0,0 +1,34 @@
+diff --git a/src/daemon.c b/src/daemon.c
+index 312394a..e7b3c58 100644
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -140,6 +140,28 @@ error_get_type (void)
+ #define MAX_LOCAL_USERS 50
+ #endif
+
++#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,
+
diff --git a/community/accountsservice/musl-wtmp.patch b/community/accountsservice/musl-wtmp.patch
new file mode 100644
index 0000000000..4393c0209a
--- /dev/null
+++ b/community/accountsservice/musl-wtmp.patch
@@ -0,0 +1,13 @@
+--- a/meson.build
++++ b/meson.build
+@@ -82,8 +82,7 @@ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURC
+ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
+ config_h.set('PATH_WTMP', '_PATH_WTMPX')
+ else
+- assert(run_command('test', '-e', '/var/log/utx.log').returncode() == 0, 'Do not know which filename to watch for wtmp changes')
+- config_h.set_quoted('PATH_WTMP', '/var/log/utx.log')
++ config_h.set_quoted('PATH_WTMP', '/var/log/wtmp')
+ endif
+
+ # compiler flags
+