Difference between revisions of "D-BUS Core"

From CBLFS
Jump to navigationJump to search
m (As in non-multilib, there is no .html in the docs)
 
(16 intermediate revisions by 5 users not shown)
Line 7: Line 7:
 
----
 
----
  
== Introduction to D-BUS ==
+
{{Package-Introduction||http://www.freedesktop.org/wiki/Software/dbus}}
  
<Package Description Needed>
+
== Dependencies ==
  
== Dependencies ==
+
=== Required ===
 +
* [[Expat]]
 +
* [[LibXML2]]
 +
 
 +
{{Note|Even though expat and libxml2 are considered "optional" the package will fail to compile cleanly without both libraries }}
  
 
=== Optional ===
 
=== Optional ===
* [[Pkg-config]]
+
* [[D-BUS_Glib]] (For testsuite  --enable-tests --enable-asserts)
* [[Expat]] or [[LibXML2]]
+
* [[D-BUS_Python]] (For testsuite --enable-tests --enable-asserts)
 +
* [[PyGObject]] (For testsuite --enable-tests --enable-asserts)
 
* [[SELinux]]
 
* [[SELinux]]
 
* [[X Window System]]
 
* [[X Window System]]
* [[xmlto]]
+
* [[xmlto]] (For documentation)
* [[Doxygen]]
+
* [[Doxygen]] (For documentation)
  
 
== MessageBus User/Group ==
 
== MessageBus User/Group ==
Line 26: Line 31:
 
  useradd -c "D-BUS Message Daemon User" -d /dev/null \
 
  useradd -c "D-BUS Message Daemon User" -d /dev/null \
 
         -u 27 -g messagebus -s /bin/false messagebus
 
         -u 27 -g messagebus -s /bin/false messagebus
 +
 +
{{Note|The dbus tests cannot be run until after [[D-BUS_Glib]] has been installed. They must be run as an unprivileged user from a local session. Tests fail through ssh. If you want to run only the unit tests, replace, --enable-tests with --enable-embedded-tests, otherwise, [[D-BUS_Python]] has to be installed. The tests require passing additional parameters to configure and exposing additional functionality in the binaries. These interfaces are not intended to be used in a production build of [[D-BUS]]. If you would like to run the tests, issue the following command: make check }}
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 31: Line 38:
 
Compile the package:
 
Compile the package:
  
  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var &&
+
  ./configure --prefix=/usr --sysconfdir=/etc \
 +
    --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
 
  make
 
  make
  
Line 47: Line 55:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32}" ./configure --prefix=/usr \
+
  CC="gcc ${BUILD32}" USE_ARCH=32 \
    --sysconfdir=/etc --localstatedir=/var \
+
./configure --prefix=/usr --sysconfdir=/etc \
    --x-libraries=${XORG_PREFIX}/lib &&
+
    --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
 
  make
 
  make
  
Line 60: Line 68:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr \
+
  CC="gcc ${BUILDN32}" USE_ARCH=n32 \
     --libdir=/usr/lib32 --sysconfdir=/etc --localstatedir=/var \
+
./configure --prefix=/usr --sysconfdir=/etc \
     --x-libraries=${XORG_PREFIX}/lib32 &&
+
     --libexecdir=/usr/lib32/dbus-1.0 --localstatedir=/var \
 +
     --libdir=/usr/lib32 &&
 
  make
 
  make
  
Line 73: Line 82:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD64}" ./configure --prefix=/usr \
+
  CC="gcc ${BUILD64}" USE_ARCH=64 \
     --libdir=/usr/lib64 --sysconfdir=/etc --localstatedir=/var \
+
./configure --prefix=/usr --sysconfdir=/etc \
     --x-libraries=${XORG_PREFIX}/lib64 &&
+
     --libexecdir=/usr/lib64/dbus-1.0 --localstatedir=/var \
 +
     --libdir=/usr/lib64 &&
 
  make
 
  make
  
Line 86: Line 96:
  
 
== Configuring ==
 
== Configuring ==
 +
 +
If you have not already used dbus on this installation, the file /var/lib/dbus/machine-id will not exist.  This is needed for successful operation. You can create it by running the following command as root:
 +
 +
dbus-uuidgen --ensure
  
 
=== Bootscript ===
 
=== Bootscript ===
  
Install the init script included in the [[blfs-bootscripts]] package.
+
Install the init script included in the [[Bootscripts]] package.
  
 
  make install-dbus
 
  make install-dbus

Latest revision as of 13:43, 9 March 2014

Download Source: http://dbus.freedesktop.org/releases/dbus/dbus-1.8.0.tar.gz

Introduction to D-BUS Core

Project Homepage: http://www.freedesktop.org/wiki/Software/dbus

Dependencies

Required

Caution.png

Note

Even though expat and libxml2 are considered "optional" the package will fail to compile cleanly without both libraries

Optional

MessageBus User/Group

groupadd -g 27 messagebus &&
useradd -c "D-BUS Message Daemon User" -d /dev/null \
        -u 27 -g messagebus -s /bin/false messagebus
Caution.png

Note

The dbus tests cannot be run until after D-BUS_Glib has been installed. They must be run as an unprivileged user from a local session. Tests fail through ssh. If you want to run only the unit tests, replace, --enable-tests with --enable-embedded-tests, otherwise, D-BUS_Python has to be installed. The tests require passing additional parameters to configure and exposing additional functionality in the binaries. These interfaces are not intended to be used in a production build of D-BUS. If you would like to run the tests, issue the following command: make check

Non-Multilib

Compile the package:

./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
make

Install the package

make install &&
install -v -m755 -d /usr/share/doc/dbus-1.8.0 &&
install -v -m644 doc/{TODO,*.{dtd,xml,xsl,txt,c}} \
    /usr/share/doc/dbus-1.8.0

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" USE_ARCH=32 \
./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
make

Install the package

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" USE_ARCH=n32 \
./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib32/dbus-1.0 --localstatedir=/var \
    --libdir=/usr/lib32 &&
make

Install the package

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" USE_ARCH=64 \
./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib64/dbus-1.0 --localstatedir=/var \
    --libdir=/usr/lib64 &&
make

Install the package

make install &&
install -v -m755 -d /usr/share/doc/dbus-1.8.0 &&
install -v -m644 doc/{TODO,*.{dtd,xml,xsl,txt,c}} \
    /usr/share/doc/dbus-1.8.0

Configuring

If you have not already used dbus on this installation, the file /var/lib/dbus/machine-id will not exist. This is needed for successful operation. You can create it by running the following command as root:

dbus-uuidgen --ensure

Bootscript

Install the init script included in the Bootscripts package.

make install-dbus

Contents

Installed Programs: dbus-daemon, dbus-send, dbus-monitor, dbus-launch, dbus-cleanup-sockets, dbus-uuidgen
Installed Libraries: libdbus-1.{so,la,a}
Installed Directories: /usr/lib/dbus-1.0/include/dbus, /etc/dbus-1, /var/run/dbus, /etc/dbus-1/system.d, /usr/share/dbus-1/services, and /usr/share/doc/dbus-1.8.0

Short Descriptions

dbus-cleanup-sockets is used to clean up leftover sockets in a directory.
dbus-daemon is the D-BUS message bus daemon.
dbus-launch is used to start dbus-daemon from a shell script. It would normally be called from a user's login scripts.
dbus-monitor is used to monitor messages going through a D-BUS message bus.
dbus-send is used to send a message to a D-BUS message bus.
dbus-viewer is a graphical D-BUS frontend utility.
libdbus-1.{so,a} contains the API functions used by the D-BUS message daemon. D-BUS is first a library that provides one-to-one communication between any two applications; dbus-daemon is an application that uses this library to implement a message bus daemon.