Difference between revisions of "D-BUS Core"

From CBLFS
Jump to navigationJump to search
 
(5 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
!Download Source:
 
!Download Source:
 
| http://dbus.freedesktop.org/releases/dbus/dbus-{{D-BUS-Version}}.tar.gz
 
| http://dbus.freedesktop.org/releases/dbus/dbus-{{D-BUS-Version}}.tar.gz
|-valign="top"
 
!Required Patch:
 
| http://svn.cross-lfs.org/svn/repos/patches/dbus/dbus-{{D-BUS-Version}}-x11_fix-1.patch
 
 
|}
 
|}
  
Line 21: Line 18:
  
 
=== Optional ===
 
=== Optional ===
* [[Pkg-config]]
+
* [[D-BUS_Glib]] (For testsuite  --enable-tests --enable-asserts)
 +
* [[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 32: 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 37: Line 38:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../dbus-{{D-BUS-Version}}-x11_fix-1.patch &&
 
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
     --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
 
     --libexecdir=/usr/lib/dbus-1.0 --localstatedir=/var &&
Line 55: Line 55:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../dbus-{{D-BUS-Version}}-x11_fix-1.patch &&
 
 
  CC="gcc ${BUILD32}" USE_ARCH=32 \
 
  CC="gcc ${BUILD32}" USE_ARCH=32 \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
Line 69: Line 68:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../dbus-{{D-BUS-Version}}-x11_fix-1.patch &&
 
 
  CC="gcc ${BUILDN32}" USE_ARCH=n32 \
 
  CC="gcc ${BUILDN32}" USE_ARCH=n32 \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
Line 84: Line 82:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../dbus-{{D-BUS-Version}}-x11_fix-1.patch &&
 
 
  CC="gcc ${BUILD64}" USE_ARCH=64 \
 
  CC="gcc ${BUILD64}" USE_ARCH=64 \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \

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.