X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=HACKING;h=05fb69c67955fd8b7aa5acd76b8e7594670cc936;hb=61f8be7c7da5a4caa26742d9bb1b50aef40fc79e;hp=9e0adec26287313fe09ae420357d99c5e524320c;hpb=65819b820f763785206ce6b053ae5ad03cfbbdff;p=framework%2Fconnectivity%2Fconnman.git diff --git a/HACKING b/HACKING index 9e0adec..05fb69c 100644 --- a/HACKING +++ b/HACKING @@ -2,6 +2,22 @@ Hacking on Connection Manager ***************************** +Build tools requirements +======================== + +When building and testing directly from the repository it is important to +have at least automake version 1.10 or later installed. All modern +distributions should default to the latest version, but it seems that +Debian's default is still an earlier version: + + Check version + # dpkg -l '*automake*' + + Install new version + # apt-get install automake1.10 + # update-alternatives --config automake + + Working with the source code repository ======================================= @@ -30,7 +46,7 @@ So the normal steps to checkout, build and install such a repository is like this: Checkout repository - # git-clone git://git.moblin.org/projects/connman.git + # git clone git://git.kernel.org/pub/scm/network/connman/connman.git # cd connman Configure and build @@ -52,6 +68,47 @@ like this: # make maintainer-clean +Running from within the source code repository +============================================== + +When using "./configure --enable-maintainer-mode" the automake scripts will +use the plugins directly from within the repository. This removes the need +to use "make install" when testing "connmand". The "bootstrap-configure" +automatically includes this option. + + Run daemon in foreground with debugging + # sudo ./src/connmand -n -d 'plugins/*' + +The debugging option -d takes an argument. This argument can be a comma +separated list of file names like 'plugins/wifi.c,plugins/ethernet.c' to +enable debugs in these files. Simple glob style pattern matching is +supported in this list. + +For production installations or distribution packaging it is important that +the "--enable-maintainer-mode" option is NOT used. + +Some times it is important to restrict the available interfaces. For example +in cases where testing happens over a network connection. The "-i" command +line switch allows to specify a glob pattern for the interface names. + + Run daemon for wireless interfaces + # sudo ./src/connmand -n -i wlan* + + +Debugging the D-Bus interface during runtime +============================================ + +Running the daemon with debugging information in the foreground is quite +verbose and sometimes not really helpful. The "monitor-connman" script +allows to monitor "PropertyChanged" D-Bus signals from various interfaces. + +Every "PropertyChanged" signal will generate a line of output. Some of them +can get very complex. The first detail inside "{ ... }" is the interface +name (without its service name prefix). The second detail inside "[ ... ]" +is the object path. And after that it is followed by a key and value of +the property that changed. + + Generating source code documentation ==================================== @@ -64,7 +121,10 @@ To make the gtk-doc process work, the gtk-doc tools need to be installed. Every distribution should provide a package for this, but the naming of the package might be different: - Ubuntu/Debian + Debian + # apt-get install gtk-doc-tools + + Ubuntu # apt-get install gtk-doc-utils Fedora @@ -81,3 +141,4 @@ the documentation files are like this: View documentation # firefox doc/html/index.html +