X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=HACKING;h=baf7ccd54b5f7248172be8d139c370b126cc7971;hb=888b54002e0ba4e465f0ae1628c475dfc54ffef1;hp=9e0adec26287313fe09ae420357d99c5e524320c;hpb=65819b820f763785206ce6b053ae5ad03cfbbdff;p=connman diff --git a/HACKING b/HACKING index 9e0adec..baf7ccd 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 ======================================= @@ -52,6 +68,52 @@ 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 + +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. + + 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 ==================================== @@ -81,3 +143,4 @@ the documentation files are like this: View documentation # firefox doc/html/index.html +