X-Git-Url: http://git.maemo.org/git/?p=connman;a=blobdiff_plain;f=HACKING;h=61b9eb396b340d92e75ee30f34fa8810e139f213;hp=eb1db38a9c0acc90a6c533e08963d8d6b309d150;hb=HEAD;hpb=ca702380ea9b34aae28bd69ff7fa0b757092a94b diff --git a/HACKING b/HACKING index eb1db38..61b9eb3 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 @@ -74,6 +90,30 @@ line switch allows to specify a glob pattern for the interface names. # 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. + + During start of daemon + {Manager} [/] Devices = dbus.Array([dbus.ObjectPath('/dev_00_90_CC ... + {Device} [/dev_00_90_CC_xx_xx_xx] Powered = 1 + {Device} [/dev_00_90_CC_xx_xx_xx] Networks = dbus.Array( ... + + During shutdown of daemon + {Device} [/dev_00_90_CC_xx_xx_xx] Networks = dbus.Array( ... + {Device} [/dev_00_90_CC_xx_xx_xx] Powered = 0 + {Manager} [/] Devices = dbus.Array([], ... + +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 ==================================== @@ -86,7 +126,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