Contents
/usr/libexec
)
The AccountsService package provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation of those interfaces based on the usermod(8), useradd(8), and userdel(8) commands.
This package is known to build and work properly using an LFS 12.2 platform.
Download (HTTP): https://www.freedesktop.org/software/accountsservice/accountsservice-23.13.9.tar.xz
Download MD5 sum: 03dccfe1b306b7ca19743e86d118e64d
Download size: 621 KB
Estimated disk space required: 9.8 MB (add 0.5 MB for tests)
Estimated build time: less than 0.1 SBU (with tests)
GLib-2.80.4 (with GObject Introspection), elogind-255.5 , and Vala-0.56.17
GTK-Doc-1.34.0 and xmlto-0.0.29
First, rename a directory whose presence prevents the build system from running if dbusmock-0.32.1 is not installed:
mv tests/dbusmock{,-tests}
Then fix a test script so that the new directory is found, and adapt it for Python 3.12.0 or later:
sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \ -e 's/assertEquals/assertEqual/' \ -i tests/test-libaccountsservice.py
Fix one test that fails if the en_IE.UTF-8
locale is not installed:
sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daemon.py
Install AccountsService by running the following commands:
mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -D admin_group=adm \ -D elogind=true \ -D systemdsystemunitdir=no
Now adapt the shipped mocklibc copy to allow building the test suite with GCC 14 or later:
grep 'print_indent' ../subprojects/mocklibc-1.0/src/netgroup.c \ | sed 's/ {/;/' >> ../subprojects/mocklibc-1.0/src/netgroup.h && sed -i '1i#include <stdio.h>' \ ../subprojects/mocklibc-1.0/src/netgroup.h
Build the package:
ninja
To test the package, issue ninja test.
Now, as the root
user:
ninja install
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D admin_group=adm
: This
switch sets the group for administrator accounts.
-D docbook=true
: This switch enables
building the D-Bus interface API documentation (needs xmlto-0.0.29).
-D gtk_doc=true
: This switch enables
building the libaccountsservice API documentation (needs GTK-Doc-1.34.0).
-D vapi=false
: This switch disables
building the vala bindings. Use it if you have not installed
Vala-0.56.17.
To allow users in the adm group to be listed as Administrators,
execute the following commands as the root
user:
cat > /etc/polkit-1/rules.d/40-adm.rules << "EOF"
polkit.addAdminRule(function(action, subject) {
return ["unix-group:adm"];
});
EOF
/usr/libexec
)