Innhold
En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.0-systemd/chapter08/dbus.html#contents-dbus.
Selv om D-Bus ble bygget i LFS, det er noen funksjoner levert av pakken som andre BLFS pakker trenger, men deres avhengigheter passet ikke inn i LFS.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.
Nedlasting (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.14.8.tar.xz
Nedlasting MD5 sum: da42f55aeec51b355587bc3062fc2d41
Nedlastingsstørrelse: 1.3 MB
Estimert diskplass som kreves: 23 MB (legg til 20 MB for tester)
Estimert byggetid: 0.2 SBU (legg til 1.6 SBU for tester)
Xorg Biblioteker (for dbus-launch programmet)
Systemd-254 (for registrering av tjenester lansert av D-Bus session nissen som systemd brukertjenester); For testene: D-Bus Python-1.3.2, PyGObject-3.44.1, og Valgrind-3.21.0; for dokumentasjon: Doxygen-1.9.7, xmlto-0.0.28, Ducktype, og Yelp Tools
Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/dbus
Installer D-Bus ved å kjøre følgende kommandoer (det kan være lurt å se gjennom utdataene fra ./configure --help først og legg til ønskede parametere til configure kommandoen vist nedenfor):
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--runstatedir=/run \
--enable-user-session \
--disable-doxygen-docs \
--disable-xml-docs \
--disable-static \
--docdir=/usr/share/doc/dbus-1.14.8 \
--with-system-socket=/run/dbus/system_bus_socket &&
make
Se nedenfor for testinstruksjoner.
Nå, som root bruker:
make install
Hvis du bruker en DESTDIR installasjon, dbus-daemon-launch-helper må
fikses etterpå. Utsted, som root
bruker:
chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
Mange tester er deaktivert med mindre både D-Bus Python-1.3.2 og PyGObject-3.44.1 har blitt installert. Det må kjøres som en uprivilegert bruker fra en lokal økt med bussadresse. For å kjøre standard tester utsted make check.
Hvis du vil kjøre enhetsregresjonstestene, krever konfigureringen tilleggsparametere som viser tilleggsfunksjonalitet i binærfiler som ikke er ment å brukes i en produksjonsbygning av D-Bus. Hvis du ønsker å kjøre testene, utsted følgende kommandoer (for testene trenger du ikke å bygge dokumenter):
make distclean &&
PYTHON=python3 ./configure --enable-tests \
--enable-asserts \
--disable-doxygen-docs \
--disable-xml-docs &&
make &&
make check
Det har vært rapporter om at testene kan mislykkes hvis de kjøres i et Midnight Commander skall. Du kan få feilmeldinger om at minnet er tomt når kjører testene. Disse er normale og kan trygt ignoreres.
--disable-doxygen-docs:
Denne bryteren deaktiverer at doxygen dokumentasjon bygges og
installeres, hvis du har doxygen
installert. Hvis doxygen er
installert, og du ønsker å bygge dem, fjern denne parameteren.
--disable-xml-docs: Denne
bryteren deaktiverer at html dokumentasjon bygges og installeres,
hvis du har xmlto installert. Hvis
xmlto er installert, og du ønsker
å bygge dem, fjern denne parameteren.
--disable-static: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--enable-user-session:
Denne parameteren aktiverer per bruker DBus-økter med systemd.
--with-system-pid-file=/run/dbus/pid:
Dette parameter angir plasseringen av PID filen.
--with-system-socket=/run/dbus/system_bus_socket:
Denne parameteren spesifiserer plasseringen av systembuss socket.
--enable-tests: Bygger
ekstra deler av koden for å støtte alle tester. Ikke bruk på en
produksjonsbygning.
--enable-embedded-tests: Bygger ekstra
deler av koden for kun å støtte enhetstester. Ikke bruk på en
produksjonsbygning.
--enable-asserts: Gjør det
mulig å kjøre feilsøkingskode påstander for utsagn som normalt
antas å være sanne. Dette forhindrer advarsel om det '--enable-tests' på egen hånd er bare
nyttig for profilering og gir kanskje ikke sanne resultater for
alle tester, men legger til sin egen MERK at dette ikke skal brukes
i et produksjonsbygg.
Konfigurasjonsfilene oppført ovenfor bør sannsynligvis ikke bli
modifisert. Hvis det kreves endringer, bør du opprette
/etc/dbus-1/session-local.conf
og/eller /etc/dbus-1/system-local.conf og lage
eventuelle ønskede endringer i disse filene.
Hvis noen pakker installerer en D-Bus .service
fil utenfor standard /usr/share/dbus-1/services mappen, den mappen
skal legges til den lokale sesjonskonfigurasjonen. For eksempel,
/usr/local/share/dbus-1/services
kan legges til ved å utføre følgende kommandoer som root bruker:
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
Det er mange metoder du kan bruke for å starte en sesjonsnisse ved å bruke dbus-launch kommandoen. Gjennomgå dbus-launch manualsiden for detaljer om tilgjengelige parametere og alternativer. Her er noen forslag og eksempler:
Legg til dbus-launch til linjen i
~/.xinitrc filen som starter
det grafiske skrivebordsmiljøet.
Hvis du bruker gdm eller en annen
skjermbehandler som kaller ~/.xsession filen, kan du legge til
dbus-launch
til linjen i din ~/.xsession
fil som starter det grafiske skrivebordsmiljøet. Syntaksen
vil være lik eksemplet i ~/.xinitrc filen.
Eksemplene vist tidligere bruker dbus-launch for å
spesifisere et program som skal kjøres. Dette har fordelen
(når du også bruker --exit-with-x11 parameteren)
å stoppe sesjonsnissen når det angitte programmet stoppes.
Du kan også starte sesjonsnissen i systemet ditt eller
personlige oppstartsskript ved å legge til følgende linjer:
# Start the D-Bus session daemon
eval `dbus-launch`
export DBUS_SESSION_BUS_ADDRESS
This method will not stop the session daemon when you exit
your shell, therefore you should add the following line to
your ~/.bash_logout file:
# Kill the D-Bus session daemon
kill $DBUS_SESSION_BUS_PID
En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.0-systemd/chapter08/dbus.html#contents-dbus.