Contenu
Une liste des fichiers installés, avec leur description courte se trouve sur ../../../../lfs/view/systemd/chapter06/dbus.html#contents-dbus.
Bien que D-Bus a été construit dans LFS, il y a des fonctionnalités offertes par le paquet dont d'autres paquets de BLFS ont besoin, mais leur dépendances ne tiennent pas dans LFS.
Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.1.
Téléchargement (HTTP) : https://dbus.freedesktop.org/releases/dbus/dbus-1.10.22.tar.gz
Somme de contrôle MD5 du téléchargement : baaa10b7cb49086ad91179a8decfadc5
Taille du téléchargement : 1.9 Mo
Estimation de l'espace disque requis : 27 Mo (plus 33 Mo pour les tests)
Estimation du temps de construction : 0.4 SBU (pus 2.4 SBU pour les tests)
Bibliothèques Xorg (pour le programme dbus-launch)
Pour les tests : dbus-glib-0.108, D-Bus Python-1.2.4, PyGObject-2.28.6 (construit avec le support gobject-introspection), et Valgrind-3.13.0 ; pour la documentation : Doxygen-1.8.13, xmlto-0.0.28, Ducktype et Yelp Tools
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/dbus
Installez D-Bus en lançant les commandes suivantes (vous pouvez d'abord souhaiter observer la sortie de ./configure --help et ajouter des paramètres désirés à la commande configure affichée ci-dessous) :
./configure --prefix=/usr                        \
            --sysconfdir=/etc                    \
            --localstatedir=/var                 \
            --enable-user-session                \
            --disable-doxygen-docs               \
            --disable-xml-docs                   \
            --disable-static                     \
            --docdir=/usr/share/doc/dbus-1.10.22 \
            --with-console-auth-dir=/run/console \
            --with-system-pid-file=/run/dbus/pid \
            --with-system-socket=/run/dbus/system_bus_socket &&
make
        Voir ci-dessous pour les instructions de test.
          
            Installer ce paquet effacera tous les fichiers installés par
            D-Bus dans LFS. Il est critique
            que rien n'utilise les bibliothèques et programmes D-Bus durant l'installation. La meilleur
            manière de s'assurer que ces bibliothèques ne sont pas utilisées
            est de lancer l'installation en mode de secours. Pour passer en
            mode de secours, lancez la commande suivante en tant
            qu'utilisateur root (depuis un
            TTY) :
          
systemctl start rescue.target
          Maintenant, en tant qu'utilisateur root :
        
make install
          La bibliothèque partagée doit être déplacée vers /lib et le fichier .so dans /usr/lib
          devra alors être recréé. Lancez la commande suivante en tant
          qu'utilisateur root :
        
mv -v /usr/lib/libdbus-1.so.* /lib && ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so
          Si vous utilisez une installation DESTDIR, dbus-daemon-launch-helper doit
          être corrigé. Tapez en tant qu'utilisateur root :
        
chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
          Si vous n'êtes pas en chroot, vous devriez maintenant recharger le
          démon systemd et réentrer en mode multi-utilisateur avec les
          commandes suivantes (en tant qu'utilisateur root) :
        
systemctl daemon-reload systemctl start multi-user.target
          Les tests dbus ne peuvent pas être lancés tant que dbus-glib-0.108
          n'est pas installé. Ils doivent être lancés en tant qu'utilisateur
          non privilégié depuis une session locale avec une adresse de bus.
          Si vous voulez lancer seulement les tests unitaires, remplacez,
          ensuite, --enable-tests par
          --enable-embedded-tests,
          autrement, D-Bus Python-1.2.4 doit être installé,
          avant. Les tests demandent de passer des paramètres supplémentaires
          à configure et
          d'avoir des fonctionnalités supplémentaires dans les fichiers
          binaires. Ces interfaces ne sont pas destinées à être utilisées
          dans une construction de production de D-Bus. Si vous souhaitez lancer la suite de
          tests, tapez les commandes suivantes (pour les tests, vous n'avez
          pas besoin de construire les docs) :
        
make distclean                     &&
./configure --enable-tests         \
            --enable-asserts       \
            --disable-doxygen-docs \
            --disable-xml-docs     &&
make                               &&
make check
        L'« espace disque nécessaire estimé » rapporté au-dessus est obtenu dans un construction en utilisant les paramètres désactivant la génération de la documentation. Ceci et l'utilisation de la commande make distclean implique que le répertoire de construction est plus petit que celui utilisé pour une construction complète avec la génération de la documentation.
Il y a un signalement indiquant que les tests peuvent échouer s'ils sont lancés depuis un shell Midnight Commander. Il se peut vous ayez des messages d'erreur de dépassement de mémoire lors des tests. Ils sont normaux et vous pouvez sans problème les ignorer.
          --disable-doxygen-docs : Ce
          paramètre désactive la construction de la documentation doxygen et
          son installation, si vous avez installé doxygen. Si doxygen est installé et que vous souhaitez
          construire et l'installer, effacez ce paramètre.
        
          --disable-xml-docs :
          Ce paramètre désactive la construction et l'installation de la
          documentation html si vous avez installé xmlto. Supprimez-le, si xmlto est installé et que vous souhaitiez la
          construire et l'installer.
        
          --disable-static : Ce
          paramètre empêche l'installation des versions statiques des
          bibliothèques.
        
          --enable-user-session : Ce
          paramètre active les sessions utilisateurs DBus avec systemd.
        
          --with-console-auth-dir=/run/console/ :
          Ce paramètre spécifie l'endroit pour le répertoire auth de
          ConsoleKit.
        
          --with-system-pid-file=/run/dbus/pid :
          Ce paramètre spécifie l'endroit pour le fichier PID.
        
          --with-system-socket=/run/dbus/system_bus_socket :
          Ce paramètre spécifie l'emplacement du socket du bus système.
        
          --enable-tests :
          Construit des parties supplémentaires du code pour tous les tests.
          Configure se terminera avec un avertissement NOTE à propos de
          l'augmentation de la taille des bibliothèques et de la perte de
          sécurité.
        
          --enable-embedded-tests :
          Construit des parties supplémentaires du code pour supporter
          seulement les tests unitaires. Configure se terminera avec un
          avertissement NOTE à propos de l'augmentation de la taille des
          bibliothèques et de la perte de sécurité.
        
          --enable-asserts :
          Active le code de débogage pour exécuter des déclarations
          d'éléments supposées normalement vrais. Cela empêche un
          avertissement selon lequel '--enable-tests' n'est utile en
          lui-même que pour le profilage et il pourrait ne pas donner de bons
          résultats pour tous les tests, mais il ajoute sa propre remarque
          selon laquelle cela ne devrait pas être utilisé dans une
          construction de production.
        
            /etc/dbus-1/session.conf,
            /etc/dbus-1/system.conf et
            /etc/dbus-1/system.d/*
          
            On ne devrait probablement pas modifier les fichiers de
            configuration listés ci-dessus. Si des modifications sont
            requises, vous devriez créer /etc/dbus-1/session-local.conf ou /etc/dbus-1/system-local.conf et effectuer les
            changements désirés dans ces fichiers.
          
            Si un paquet installe un fichier .service de D-Bus hors du répertoire /usr/share/dbus-1/services standard, vous
            devriez ajouter ce répertoire à la configuration de la session
            locale. Par exemple, /usr/local/share/dbus-1/services peut être
            ajouté en effectuant les commandes suivantes en tant
            qu'utilisateur root :
          
cat > /etc/dbus-1/session-local.conf << "EOF"
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <!-- Search for .service files in /usr/local -->
  <servicedir>/usr/local/share/dbus-1/services</servicedir>
</busconfig>
EOF
        Il y a plusieurs méthodes que vous pouvez utiliser pour démarrer un démon de session avec la commande dbus-launch. Regardez la page de manuel de dbus-launch pour les détails à propos des paramètres disponibles et des options. Voici quelques suggestions et exemples :
                  Ajouter dbus-launch à la ligne
                  dans le fichier ~/.xinitrc
                  qui démarre votre environnement graphique.
                
                  Si vous utilisez xdm ou un autre
                  gestionnaire d'affichage qui appelle le fichier
                  ~/.xsession, vous pouvez
                  ajouter dbus-launch à la ligne
                  dans votre fichier ~/.xsession qui démarre votre
                  environnement graphique. La syntaxe ressemblerait à celle
                  de l'exemple dans le fichier ~/.xinitrc.
                
                  L'exemple montré précédemment utilise dbus-launch pour
                  spécifier un programme à exécuter. Ceci a le bénéfice
                  (quand on utilise également le paramètre --exit-with-session) de
                  stopper le démon de la session quand le programme spécifié
                  est stoppé. Vous pouvez également démarrer le démon de la
                  session dans vos scripts de démarrage du système ou
                  personnels en ajoutant les lignes suivantes :
                
# Start the D-Bus session daemon
eval `dbus-launch`
export DBUS_SESSION_BUS_ADDRESS
                
                  Cette méthode n'arrêtera pas le démon de session quand vous
                  quittez votre shell, donc vous devriez ajouter la ligne
                  suivante à votre fichier ~/.bash_logout :
                
# Kill the D-Bus session daemon
kill $DBUS_SESSION_BUS_PID
              Une astuce a été écrite offrant des moyens de démarrer des scripts utilisant le gestionnaire de sessions KDM de KDE. Les concepts de cette astuce pourraient être éventuellement utilisés aussi avec d'autres gestionnaires de session. L'astuce se trouve sur http://www.linuxfromscratch.org/hints/downloads/files/execute-session-scripts-using-kdm.txt.
Une liste des fichiers installés, avec leur description courte se trouve sur ../../../../lfs/view/systemd/chapter06/dbus.html#contents-dbus.
Last updated on 2017-08-21 04:38:12 +0200