diff options
author | Johannes Schanda <schanda@itestra.de> | 2013-01-21 13:04:33 +0100 |
---|---|---|
committer | Johannes Schanda <schanda@itestra.de> | 2013-01-21 13:04:33 +0100 |
commit | 7c12a872a9a8adf20bb4a0e01dd9c2e4eb674924 (patch) | |
tree | a22067956295a30a25de7165bbf53216605339cf /README | |
parent | e896ce9351b426dd3bafb17f7aa899c872dbb1cd (diff) | |
download | genivi-common-api-dbus-runtime-7c12a872a9a8adf20bb4a0e01dd9c2e4eb674924.tar.gz |
Expanded readme
Diffstat (limited to 'README')
-rwxr-xr-x | README | 109 |
1 files changed, 98 insertions, 11 deletions
@@ -1,21 +1,108 @@ -To build this package CommonAPI and a version of libdbus patched with the marshaling patch must be available. +GENIVI_CommonAPI-D-Bus +====================== +:Author: Juergen Gehring - juergen.gehring@bmw.de, Manfred Bathelt - manfred.bathelt@bmw.de +:doctitle: GENIVI_CommonAPI-D-Bus + +Copyright +--------- +Copyright (C) 2013, GENIVI Alliance, Inc. +Copyright (C) 2013, BMW AG + +This file is part of GENIVI Project IPC Common API. + +Contributions are licensed to the GENIVI Alliance under one or more +Contribution License Agreements or MPL 2.0 . + +(C) Copyright +This Source Code Form is subject to the terms of the +Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with +this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +For further information see https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide + +== License +This project is licensed under MPL 2.0 + +Contribution is done under GENIVI CLA or MPL2.0. + +== Version +The current version can be taken from the git. + +== Common API Overview + +Common API and its machanism specific bindings (e.g. Common API D-Bus) provide a set of libraries and tools to work with +RPC communication in a way independent of wich mechanism is used. It consist currently consists of four subprojects: +---- +CommonAPI - This is the base C++ library, which provides the application interface for users and can + load runtime bindings such as dbus. +CommonAPI-Tools - The eclipse based tools for CommonAPI. This is essentially the code generator for + Franca -> Common API C++ code. +CommonAPI-D-Bus - This is the D-Bus binding C++ library, which provides the necesary code to communicate + over D-Bus. This is invisible to the application code, and simply needs to be linked against. + (This is the current package.) +CommonAPI-D-Bus-Tools - The eclipse based tools for CommonAPI D-Bus. This is the code generator for + Franca -> Common API D-Bus C++ code. +---- +== Build Instructions + +=== Requirements + +To build this package the CommonAPI library and a version of libdbus patched with the marshaling patch must be available through PkgConfig. Instructions for making a patched version of libdbus available in /usr/local: +---- +# wget http://dbus.freedesktop.org/releases/dbus/dbus-1.4.16.tar.gz + +# tar -xzf dbus-1.4.16.tar.gz + +# cd dbus-1.4.16 + +# patch -p1 < /path/to/dbus-DBusMessage-add-support-for-custom-marshaling.patch + +# ./configure --prefix=/usr/local + +# make -C dbus + +# sudo make -C dbus install +# sudo make install-pkgconfigDATA +---- +The path to CommonAPI and patched libdbus pkgconfig files must be added to the PKG_CONFIG_PATH for the entire build process. + +For example, if CommonAPI and patched dbus are available in /usr/local, set the PKG_CONFIG_PATH variable as follows: +---- +# export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" +---- + +=== Instructions +Use autotools to build this package withthe above requirements available through Pkgconfig : +---- +# ./autoreconf -i +# ./configure +# make +# sudo make install (or alternative install process, eg. checkinstall on debian-based distributions, such as Ubuntu) +---- +If the environment variable GTEST_CONFIG is set to the path of the gtest-config script in a Gtest tree test will also be built. + +== Working on the code & contribution -$ wget http://dbus.freedesktop.org/releases/dbus/dbus-1.4.16.tar.gz +.First get the code from the git: + git clone -$ tar -xzf dbus-1.4.16.tar.gz +.Get an overview of all branches: + git branch -$ cd dbus-1.4.16 +.Switch to the branch you want to work on (master is the feature branch) and verify that it has switched (* changed) + git checkout <your branch> + git branch -$ patch -p1 < -/path/to/dbus-DBusMessage-add-support-for-custom-marshaling.patch +.Best practice is to create a local branch based on the current branch: + git branch working_branch -$ ./configure --prefix=/usr/local +Start working, best practice is to commit smaller, compilable pieces during the development process that makes it easier to handle later on. -$ make -C dbus +.If you want to commit you changes, send them to the author, you can create a patch like this: + git format-patch working_branch <your branch> -$ sudo make -C dbus install -$ sudo make install-pkgconfigDATA +This creates a set of patches that are published via the mailing list.The patches will be discussed and then merged & uploaded on the git by the maintainer. -The path to CommonAPI and patched libdbus pkgconfig files must be added to the PKG_CONFIG_PATH for the entire build process.
\ No newline at end of file +Patches can be accepted either under GENIVI Cla or MPL 2.0 (see section License). Please be sure that the signed-off-by is set correctly. For more, check out http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html |