Conteúdo
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/12.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 corretamente usando uma plataforma LFS 12.3.
Transferência (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.16.0.tar.xz
Soma de verificação MD5 da transferência: 66bfcf1f42d4ebc634ca558d14335e92
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 110 MB (adicionar 6 MB para os testes)
Tempo de construção estimado: 0,2 UPC (adicionar 0,4 UPC para testes)
Bibliotecas do Xorg (para aplicativo dbus-launch)
Systemd-257.3 (tempo de execução, para registrar serviços iniciados pelo processo de segundo plano de sessão D-Bus como serviços de usuário(a) do systemd); Para os testes: D-Bus Python-1.3.2, PyGObject-3.50.0 e Valgrind-3.24.0; para documentação: Doxygen-1.13.2, xmlto-0.0.29, Ducktype e Yelp Tools
Instale o D-Bus executando os seguintes comandos (você possivelmente deseje revisar o arquivo meson_options.txt primeiro e adicionar quaisquer opções adicionais desejadas à linha setup do meson abaixo):
mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ .. && ninja
Veja-se abaixo para instruções de teste.
Agora, como o(a) usuário(a) root
:
ninja 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
Finalmente, ainda como o(a) usuário(a) root
, renomeie o diretório da documentação (ele
só existe se as dependências opcionais forem satisfeitas para pelo
menos um formato de documentação) para torná-lo versionado:
if [ -e /usr/share/doc/dbus ]; then rm -rf /usr/share/doc/dbus-1.16.0 && mv -v /usr/share/doc/dbus{,-1.16.0} fi
Muitos testes estão desabilitados, a menos que D-Bus Python-1.3.2 e PyGObject-3.50.0 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 ninja test.
Se você deseja executar os testes de regressão de unidade, o meson 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, emita os seguintes comandos (para os testes, você não precisa construir os documentos):
meson configure -D asserts=true -D intrusive_tests=true && ninja test
--wrap-mode=nofallback
:
Essa chave impede meson de usar substitutos de
subprojeto para quaisquer declarações de dependência nos arquivos
de construção, impedindo-o de baixar quaisquer dependências
opcionais que não estejam instaladas no sistema.
-D intrusive_tests=true
:
Constrói partes extras do código para suportar todos os testes. Não
use em uma construção de produção.
-D asserts=true
: Habilita
código de depuração para executar asserções para declarações
normalmente presumidas serem verdadeiras. Isso evita um aviso de
que '-D asserts=true
' 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 quaisquer pacotes instalarem um arquivo .service
do D-Bus fora do diretório padrão /usr/share/dbus-1/services
, esse diretório
deveria ser adicionado à configuração local da sessão. Por
exemplo, /usr/local/share/dbus-1/services
pode ser
adicionado realizando-se 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/12.3-systemd/chapter08/dbus.html#contents-dbus.