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.
![[Note]](../images/note.png) 
          Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
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.86.1 (with GObject Introspection), Systemd-258.1(runtime), and Vala-0.56.18
GTK-Doc-1.35.1 and xmlto-0.0.29
First, rename a directory whose presence prevents the build system from running if dbusmock-0.37.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
        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.35.1).
        
          -D vapi=false: This switch disables
          building the vala bindings. Use it if you have not installed
          Vala-0.56.18.
        
          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)