Skip to content
/ dbus Public

Release dbus-library from http://dbus.freedesktop.org/releases/dbus. Contains API functions used to communicate with the DBus message bus. Patched for capicxx-dbus-runtime.

License

Notifications You must be signed in to change notification settings

diixo/dbus

Repository files navigation

Description

DBus library (libdbus-1-dev, v1.12.16). Patched by capicxx-dbus-runtime (v3.1.12.7) for CommonAPI from https://github.com/freedesktop/dbus. Contains API functions used to communicate with the DBus message bus.

Step 1. Install DBus

Should update before:

sudo apt-get install autoconf-archive

Clone repository and run build-configuration before compilation. We use default prefix=/usr/local that will be the same prefix for compilation capicxx-dbus-runtime also:

cd dbus
./configure --prefix=/usr/local

Build libdbus and install the package:

sudo make -C dbus 
sudo make -C dbus install
sudo make install-pkgconfigDATA

Now, it is ready to use.

(Alternative) build:

This package does come with a testsuite, but it is not possible to run it because only part of the package was built.

make -C dbus lib_LTLIBRARIES=libdbus-1.la \
     install-libLTLIBRARIES \
     install-dbusincludeHEADERS \
     install-nodist_dbusarchincludeHEADERS
make install-pkgconfigDATA

The shared library needs to be moved to /lib, and as a result the .so file in /usr/lib will need to be recreated:

mv -v /usr/lib/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so

More deployment information from: http://www.linuxfromscratch.org/lfs/view/7.5-systemd/chapter06/libdbus.html

(Alternative) patching from capicxx-dbus-runtime:

CommonAPI-DBus needs some api functions of libdbus which are not available in actual libdbus versions. For these additional api functions it is necessary to patch the required libdbus version with all the patches in the directory src/dbus-patches. Use autotools to build libdbus. VERSION=1.12.16 is default version for Ubuntu-20.04 (as example)

wget http://dbus.freedesktop.org/releases/dbus/dbus-<VERSION>.tar.gz
tar -xzf dbus-<VERSION>.tar.gz
cd dbus-<VERSION>
patch -p1 < </path/to/capicxx-dbus-runtime/src/dbus-patches/patch-names>.patch 
./configure --prefix=</path to your preferred installation folder for patched libdbus>
make -C dbus 
sudo make -C dbus install
sudo make install-pkgconfigDATA

You can change the installation directory by the prefix option or you can let it uninstalled (skip the make install commands). WARNING: Installing the patched libdbus to /usr/local can prevent your system from booting correctly at the next reboot.

Step 2. Install CommonAPI-core-runtime

Clone repository (sync to v3.1.12.6):

git clone https://github.com/GENIVI/capicxx-core-runtime.git

Build:

cd <source-root>
mkdir build && cd build
cmake ..
make
sudo make install

Step 3. Install CommonAPI-dbus-runtime

Clone repository (sync to v3.1.12.7):

git clone https://github.com/GENIVI/capicxx-dbus-runtime.git

In order to build the CommonAPI-DBus-runtime library the pkgconfig files of the patched libdbus library must be added to the PKG_CONFIG_PATH.

For example, if the patched libdbus library is available in /usr/local, set the PKG_CONFIG_PATH variable as follows:

cd <source-root>
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" 

Now use CMake to build the CommonAPI-DBus-runtime library. We assume that your source directory is common-api-dbus-runtime:

cd <source-root>
sudo rm -r build
mkdir build && cd build
cmake -D USE_INSTALLED_COMMONAPI=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

You can change the installation directory by the CMake variable CMAKE_INSTALL_PREFIX or you can let it uninstalled (skip the make install command). If you want to use the uninstalled version of CommonAPI set the CMake variable USE_INSTALLED_COMMONAPI to OFF.

For further build instructions (build for windows, build documentation, tests etc.) please refer to the CommonAPI-DBus tutorial.

Full information list of CommonAPI-tools: http://genivi.github.io/capicxx-core-tools/

About

Release dbus-library from http://dbus.freedesktop.org/releases/dbus. Contains API functions used to communicate with the DBus message bus. Patched for capicxx-dbus-runtime.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published