AccountsService-23.13.9

Introduction à AccountsService

Le paquet AccountService fournit un ensemble d'interfaces D-Bus pour demander et manipuler des informations sur les comptes utilisateurs et une implémentation de ces interfaces basées sur les commandes usermod(8), useradd(8) et userdel(8).

[Note]

Note

Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.

Informations sur le paquet

Dépendances de AccountsService

Requises

Polkit-126

Recommandées

Facultatives

GTK-Doc-1.34.0 et xmlto-0.0.29

Facultatives (pour les tests)

dbusmock-0.34.3 et PyGObject-3.52.3

Installation de AccountsService

Tout d'abord, renommez un répertoire dont la présence empêche le système de construction de se lancer si dbusmock-0.34.3 n'est pas installé :

mv tests/dbusmock{,-tests}

Ensuit corrigez un script de test pour que le nouveau répertoire soit trouvé et adaptez-le à Python 3.12.0 et supérieur :

sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \
    -e 's/assertEquals/assertEqual/'                      \
    -i tests/test-libaccountsservice.py

Corrigez un test qui échoue si le paramètre linguistique en_IE.UTF-8 n'est pas installé :

sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daemon.py

Installez AccountsService en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D admin_group=adm   \
      -D elogind=true      \
      -D systemdsystemunitdir=no

Adaptez maintenant la copie embarquée de mocklibc pour permettre la construction de la suite de tests avec GCC 14 ou supérieur :

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

Construisez le paquet :

ninja

Pour tester le paquet, exécutez ninja test.

Maintenant, en tant qu'utilisateur root :

ninja install

Explication des commandes

--buildtype=release : spécifie le type de construction convenant aux versions stables de ce paquet, comme la valeur par défaut produit des binaires non optimisés.

-D admin_group=adm : ce paramètre initialise le groupe pour les comptes administrateurs.

-D docbook=true : Ce paramètre active la construction de la documentation de l'API de l'interface D-Bus (nécessite xmlto-0.0.29).

-D gtk_doc=true : ce paramètre active la construction de la documentation de l'API de libaccountsservice (nécessite GTK-Doc-1.34.0).

-D vapi=false : ce paramètre désactive la construction des liaisons vala. Utilisez-le si vous n'avez pas installé Vala-0.56.18.

Configuration de AccountsService

Pour permettre aux utilisateurs du groupe adm d'être listés en tant qu'administrateurs, lancez les commandes suivantes en tant qu'utilisateur root :

cat > /etc/polkit-1/rules.d/40-adm.rules << "EOF"
polkit.addAdminRule(function(action, subject) {
   return ["unix-group:adm"];
   });
EOF

Contenu

Programmes installés: accounts-daemon (dans /usr/libexec)
Bibliothèques installées: libaccountsservice.so
Répertoires installés: /usr/include/accountsservice-1.0, /usr/share/accountsservice, /usr/share/gtk-doc/html/libaccountsservice (facultatif) et /var/lib/AccountsService

Descriptions courtes

accounts-daemon

est le démon AccountsService

libaccountsservice.so

contient les fonctions de l'API de AccountsService