Conteúdo
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/11.3-systemd/chapter08/dbus.html#contents-dbus.
Embora o D-Bus tenha sido construído no LFS, existem alguns recursos fornecidos pelo pacote que outros pacotes do BLFS precisam, mas as dependências deles não cabem no LFS.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.14.6.tar.xz
Soma de verificação MD5 da transferência: e809d7aa905ad82adeaf1d59db5445b1
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 23 MB (adicionar 20 MB para os testes)
Tempo de construção estimado: 0,2 UPC (adicionar 1,7 UPC para os testes)
Bibliotecas do Xorg (para o aplicativo dbus-launch)
Para os testes: D-Bus Python-1.3.2, PyGObject-3.42.2 e Valgrind-3.20.0; para documentação: Doxygen-1.9.6, xmlto-0.0.28, Ducktype e Yelp Tools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dbus
Instale o D-Bus executando os seguintes comandos (você possivelmente revise a saída gerada a partir de ./configure --help primeiro e adicione quaisquer parâmetros desejados ao comando configure mostrado abaixo):
./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.6 \ --with-system-socket=/run/dbus/system_bus_socket && make
Veja-se abaixo para instruções de teste.
Agora, como o(a) usuário(a) root
:
make install
Se você estiver usando uma instalação "DESTDIR", [então] o
dbus-daemon-launch-helper precisa
ser corrigido posteriormente. Emita, como usuário(a) root
:
chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
Os testes "dbus" não podem ser executados até que D-Bus Python-1.3.2 e PyGObject-3.42.2 tenham sido instalados. Eles precisam ser executados como um(a) usuário(a) sem privilégios a partir de uma sessão local com endereço de barramento. Para executar os testes padrão, emita make check.
Se você deseja executar os testes de regressão de unidade, [então] o "configure" exige parâmetros adicionais os quais expõem funcionalidades adicionais nos binários que não se destinam a serem usadas em uma construção de produção do D-Bus. Se você gostaria de executar os testes, [então] emita os seguintes comandos (para os testes, você não precisa construir os documentos):
make distclean && PYTHON=python3 ./configure --enable-tests \ --enable-asserts \ --disable-doxygen-docs \ --disable-xml-docs && make && make check
Existiram informes de que os testes possivelmente falhem se executados dentro de um "shell" do "Midnight Commander". Você possivelmente receba mensagens de erro de falta de memória ao executar os testes. Elas são normais e podem ser seguramente ignoradas.
--disable-doxygen-docs
:
Essa chave desabilita a construção e instalação da documentação do
"doxygen", se você tiver o doxygen
instalado. Se doxygen estiver
instalado e você desejar construí-la, [então] remova esse
parâmetro.
--disable-xml-docs
: Essa
chave desabilita a construção e instalação da documentação "HTML",
se você tiver o xmlto instalado.
Se xmlto estiver instalado e você
desejar construí-la, [então] remova esse parâmetro.
--disable-static
: Essa
chave impede a instalação das versões estáticas das bibliotecas.
--enable-user-session
: Esse
parâmetro habilita sessões do "DBus" por usuário(a) com
systemd.
--with-system-pid-file=/run/dbus/pid
:
Esse parâmetro especifica o local do arquivo "PID".
--with-system-socket=/run/dbus/system_bus_socket
:
Esse parâmetro especifica o local do soquete do barramento do
sistema.
--enable-tests
: Constrói
partes extras do código para suportar todos os testes. Não use em
uma construção de produção.
--enable-embedded-tests
: Constrói
partes extras do código para suportar somente testes de unidade.
Não use em uma construção de produção.
--enable-asserts
: Habilita
código de depuração para executar asserções para declarações
normalmente presumidas serem verdadeiras. Isso evita um aviso que
'--enable-tests
' por si só
é útil somente para perfilamento e pode não fornecer resultados
verdadeiros para todos os testes, mas adiciona a própria OBSERVAÇÃO
dele de que isso não deveria ser usado em uma construção de
produção.
Os arquivos de configuração listados acima provavelmente não
deveriam ser modificados. Se mudanças forem necessárias, [então]
você deveria criar /etc/dbus-1/session-local.conf
e(ou)
/etc/dbus-1/system-local.conf
e
fazer quaisquer mudanças desejadas nesses arquivos.
Se algum pacote instalar um arquivo .service
do D-Bus fora do diretório padrão /usr/share/dbus-1/services
, [então] esse
diretório deveria ser adicionado à configuração local da sessão.
Por exemplo, /usr/local/share/dbus-1/services
pode ser
adicionado realizando os seguintes comandos como o(a) usuário(a)
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
Existem muitos métodos que você pode usar para iniciar um processo de segundo plano de sessão usando o comando dbus-launch. Revise a página de manual do dbus-launch para detalhes a respeito dos parâmetros e opções disponíveis. Aqui estão algumas sugestões e exemplos:
Adicione dbus-launch à linha no
arquivo ~/.xinitrc
que inicia
seu ambiente gráfico de área de trabalho.
Se você usar gdm ou algum outro
gerenciador de tela que chame o arquivo ~/.xsession
, [então] você pode adicionar
dbus-launch à
linha no seu arquivo ~/.xsession
que inicia seu ambiente
gráfico de área de trabalho. A sintaxe seria semelhante ao
exemplo no arquivo ~/.xinitrc
.
Os exemplos mostrados anteriormente usam dbus-launch para
especificar um aplicativo a ser executado. Isso tem a
vantagem (ao usar também o parâmetro --exit-with-x11
) de parar o
processo de segundo plano de sessão quando o aplicativo
especificado for interrompido. Você também pode iniciar o
processo de segundo plano de sessão em seus "scripts" de
inicialização de sistema ou os pessoais, adicionando as
seguintes linhas:
# Inicia o processo de segundo plano de sessão do "D-Bus"
eval `dbus-launch`
export DBUS_SESSION_BUS_ADDRESS
Esse método não parará o processo de segundo plano de
sessão quando você sair do seu "shell"; portanto você
deveria adicionar a seguinte linha ao seu arquivo
~/.bash_logout
:
# Mata o processo de segundo plano de sessão do "D-Bus"
kill $DBUS_SESSION_BUS_PID
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/11.3-systemd/chapter08/dbus.html#contents-dbus.