X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=HACKING;h=80382ed4ea71d7e91b79ec4c2d74e78d3903f333;hb=eb5dc22be1b5bdb93c289503357ee3d57de559b6;hp=9e0adec26287313fe09ae420357d99c5e524320c;hpb=65819b820f763785206ce6b053ae5ad03cfbbdff;p=platform%2Fupstream%2Fconnman.git diff --git a/HACKING b/HACKING index 9e0adec..80382ed 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,32 +68,42 @@ like this: # make maintainer-clean -Generating source code documentation -==================================== +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 source code is annotated using the gtk-doc style documentation. This -allows an easy way of generating API documentation. The "bootstrap-configure" -script will use the "--enable-gtk-doc" configure to enable the generation of -the documentation. +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. -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: +For production installations or distribution packaging it is important that +the "--enable-maintainer-mode" option is NOT used. - Ubuntu/Debian - # apt-get install gtk-doc-utils +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. - Fedora - # yum install gtk-doc + Run daemon for wireless interfaces + # sudo ./src/connmand -n -i wlan* -In case "bootstrap-configure" is not used, the manual steps for generating -the documentation files are like this: - Configuring the repository - # ./configure --enable-gtk-doc +Debugging the D-Bus interface during runtime +============================================ - Generate the documentation - # cd doc && make +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. - View documentation - # firefox doc/html/index.html +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.