diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2019-05-25 15:16:54 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2019-05-25 15:16:54 +0200 |
commit | 19bfcef590655dbb27dc59fe27103715a8fcbce5 (patch) | |
tree | 3851db0bd5352da36c73a01453311b758b6afd55 /community/accountsservice | |
parent | f73cb5c48ec938020c59024cc75f7b7d19ec9b31 (diff) | |
download | aports-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/APKBUILD | 44 | ||||
-rw-r--r-- | community/accountsservice/musl-fgetspent_r.patch | 34 | ||||
-rw-r--r-- | community/accountsservice/musl-wtmp.patch | 13 |
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 + |