Add package connman
PATCH 1/1 Add package connman
The ConnMan project provides a daemon for managing internet connections within embedded devices running the Linux operating system. The Connection Manager is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.
The location for released tarballs is still unavailable due to the recent kernel.org outage, hence the package obtains the sources from git for now.
--- package/Config.in | 1 + package/connman/Config.in | 47 +++++++++++++++++++++++++++++++++ package/connman/connman.mk | 62 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 0 deletions(-) create mode 100644 package/connman/Config.in create mode 100644 package/connman/connman.mk
package/Config.in +1 -0
@@ -402,6 +402,7 @@ source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" +source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/cifs-utils/Config.in" source "package/cups/Config.in"
package/connman/Config.in new file +47 -0
47 lines not on this page · raw message
package/connman/connman.mk new file +62 -0
62 lines not on this page · raw message
Signature · 1 line
1.7.7.3
PATCH 1/1 Add package connman
Hi Daniel,
On Mon, Dec 05, 2011 at 01:53:58PM +0100, Daniel Mack wrote:
[snip]
package/connman/connman.mk line 17
Quoted 5 lines
package/connman/connman.mk new file +5
-0+ifeq ($(BR2_PACKAGE_CONNMAN_THREAD),y) +CONNMAN_CONF_OPT += --enable-threads +else +CONNMAN_CONF_OPT += --disable-threads +endif
A less verbose way to do this is:
CONNMAN_CONF_OPT = \
$(if $(BR2_PACKAGE_CONNMAN_FOO),--enable-foo,--disable-foo) \
$(if $(BR2_PACKAGE_CONNMAN_BAR),--enable-bar,--disable-bar) \
...baruch
Quoted 45 lines
package/connman/connman.mk new file +45
-0+ +ifeq ($(BR2_PACKAGE_CONNMAN_DEBUG),y) +CONNMAN_CONF_OPT += --enable-debug +else +CONNMAN_CONF_OPT += --disable-debug +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_ETHERNET),y) +CONNMAN_CONF_OPT += --enable-ethernet +else +CONNMAN_CONF_OPT += --disable-ethernet +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_WIFI),y) +CONNMAN_CONF_OPT += --enable-wifi +CONNMAN_DEPENDENCIES += wpa_supplicant +else +CONNMAN_CONF_OPT += --disable-wifi +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_BLUETOOTH),y) +CONNMAN_CONF_OPT += --enable-bluetooth +else +CONNMAN_CONF_OPT += --disable-bluetooth +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_LOOPBACK),y) +CONNMAN_CONF_OPT += --enable-loopback +else +CONNMAN_CONF_OPT += --disable-loopback +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_NTPD),y) +CONNMAN_CONF_OPT += --enable-ntpd +else +CONNMAN_CONF_OPT += --disable-ntpd +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_CLIENT),y) +CONNMAN_CONF_OPT += --enable-client +else +CONNMAN_CONF_OPT += --disable-client +endif + +$(eval $(call AUTOTARGETS))
Signature · 3 lines
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH v2 1/1 Add package connman
The ConnMan project provides a daemon for managing internet connections within embedded devices running the Linux operating system. The Connection Manager is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.
The location for released tarballs is still unavailable due to the recent kernel.org outage, hence the package obtains the sources from git for now.
---
Changelog:
v2: replace ifeq-blocks with $(if $(BR2_PACKAGE_CONNMAN_FOO),--enable-foo,--disable-foo) constructs
v1: initial
package/Config.in | 1 + package/connman/Config.in | 47 ++++++++++++++++++++++++++++++++++++++++++++ package/connman/connman.mk | 21 +++++++++++++++++++ 3 files changed, 69 insertions(+), 0 deletions(-) create mode 100644 package/connman/Config.in create mode 100644 package/connman/connman.mk
package/Config.in +1 -0
@@ -402,6 +402,7 @@ source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" +source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/cifs-utils/Config.in" source "package/cups/Config.in"
package/connman/Config.in new file +47 -0
47 lines not on this page · raw message
package/connman/connman.mk new file +21 -0
@@ -0,0 +1,21 @@ +####################################################### +# +# connman - open source connection manager +# +####################################################### + +CONNMAN_VERSION = 0.77 +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git +CONNMAN_DEPENDENCIES = libglib2 dbus iptables +CONNMAN_AUTORECONF = YES +CONNMAN_CONF_OPT += --localstatedir=/var --sysconfdir=/etc \ + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \ + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ + $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ + $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ + $(if $(BR2_PACKAGE_CONNMAN_NTPD),--enable-ntpd,--disable-ntpd) \ + $(if $(BR2_PACKAGE_CONNMAN_CLIENT),--enable-client,--disable-client) + +$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.7.3
PATCH v2 1/1 Add package connman
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> The ConnMan project provides a daemon for managing internet Daniel> connections within embedded devices running the Linux operating Daniel> system. The Connection Manager is designed to be slim and to Daniel> use as few resources as possible, so it can be easily Daniel> integrated. It is a fully modular system that can be extended, Daniel> through plug-ins, to support all kinds of wired or wireless Daniel> technologies. Also, configuration methods, like DHCP and domain Daniel> name resolving, are implemented using plug-ins. The plug-in Daniel> approach allows for easy adaption and modification for various Daniel> use cases.
Thanks, looks interesting. Kos_tom also worked on a package which unfortunately got lost together with his laptop.
Daniel> +config BR2_PACKAGE_CONNMAN_BLUETOOTH
Daniel> + bool "enable Bluetooth support"
Does this not need BR2_PACKAGE_BLUEZ_UTILS?
Daniel> +++ b/package/connman/connman.mk
Daniel> @@ -0,0 +1,21 @@
Daniel> +####################################################### Daniel> +#
Daniel> +# connman - open source connection manager
Daniel> +#
Daniel> +####################################################### Daniel> +
Daniel> +CONNMAN_VERSION = 0.77
Daniel> +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git
Daniel> +CONNMAN_DEPENDENCIES = libglib2 dbus iptables
Daniel> +CONNMAN_AUTORECONF = YES
Why? You don't seem to be editing configure.ac or similar.
Daniel> +CONNMAN_CONF_OPT += --localstatedir=/var --sysconfdir=/etc \
--sysconfdir is automatically used by AUTOTARGETS, so you don't need to explicitly pass it.
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \
You probably also need to add wpa_supplicant to CONNMAN_DEPENDENCIES
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 1/1 Add package connman
Hi Peter,
Quoted 8 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> + $(if
$(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \You probably also need to add
wpa_supplicanttoCONNMAN_DEPENDENCIES
AFAIK, wpa_supplicant is a run-time dependency, not a build-time one. So, the Config.in 'select' should be enough.
baruch
Signature · 3 lines
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH v2 1/1 Add package connman
Quoted 10 lines · Baruch Siach
Hi Peter,
Quoted 7 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> + $(if
$(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \
Quoted 4 lines
Quoted 1 line
You probably also need to add
wpa_supplicanttoCONNMAN_DEPENDENCIESAFAIK,
wpa_supplicantis a run-time dependency, not a build-time one. So, the Config.in 'select' should be enough.
That's what I was thinking too, yes. I'll look into the other comments.
Daniel
PATCH v2 1/1 Add package connman
In reply to Baruch SiachQuoted 3 lines
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
You probably also need to add
wpa_supplicanttoCONNMAN_DEPENDENCIES
Baruch> AFAIK, wpa_supplicant is a run-time dependency, not a Baruch> build-time one. So, the Config.in 'select' should be enough.
Ok, in that case it's fine.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 1/1 Add package connman
In reply to Peter KorsgaardQuoted 5 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> +config
BR2_PACKAGE_CONNMAN_BLUETOOTH
Daniel> + bool "enable Bluetooth support"Does this not need
BR2_PACKAGE_BLUEZ_UTILS?
Nope, it doesn't seem to need that. Just double-checked.
Quoted 13 lines
Daniel> +++
b/package/connman/connman.mk
Daniel> @@ -0,0 +1,21 @@
Daniel> +####################################################### Daniel> +#
Daniel> +# connman - open source connection manager
Daniel> +#
Daniel> +####################################################### Daniel> +
Daniel> +CONNMAN_VERSION = 0.77
Daniel> +CONNMAN_SITE =git://git.kernel.org/pub/scm/network/connman/connman.git
Daniel> +CONNMAN_DEPENDENCIES = libglib2 dbus iptables
Daniel> +CONNMAN_AUTORECONF = YES
Quoted 1 line
Why? You don't seem to be editing configure.ac or similar.
I'm cloning from a git repository, for the reason described in the commit log. Hence, the configure script has to be generated.
Quoted 4 lines
Daniel> +CONNMAN_CONF_OPT += --localstatedir=/var --sysconfdir=/etc \
--sysconfdir is automatically used by AUTOTARGETS, so you don't need to explicitly pass it.
Ok, I dropped that.
Quoted 6 lines
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \
Daniel> + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \You probably also need to add
wpa_supplicanttoCONNMAN_DEPENDENCIES
As described in the other mail, wpa_supplicant is just a runtime dependency.
I'll send a v3 that drops --sysconfdir and uses v0.78 which was just released.
Thanks,
Daniel
PATCH v3 1/1 Add package connman
The ConnMan project provides a daemon for managing internet connections within embedded devices running the Linux operating system. The Connection Manager is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.
The location for released tarballs is still unavailable due to the recent kernel.org outage, hence the package obtains the sources from git for now.
---
Changelog:
v3: bump to v0.78, drop --sysconfdir
v2: replace ifeq-blocks with $(if $(BR2_PACKAGE_CONNMAN_FOO),--enable-foo,--disable-foo) constructs
v1: initial
package/Config.in | 1 + package/connman/Config.in | 47 ++++++++++++++++++++++++++++++++++++++++++++ package/connman/connman.mk | 21 +++++++++++++++++++ 3 files changed, 69 insertions(+), 0 deletions(-) create mode 100644 package/connman/Config.in create mode 100644 package/connman/connman.mk
package/Config.in +1 -0
@@ -402,6 +402,7 @@ source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" +source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/cifs-utils/Config.in" source "package/cups/Config.in"
package/connman/Config.in new file +47 -0
47 lines not on this page · raw message
package/connman/connman.mk new file +21 -0
@@ -0,0 +1,21 @@ +####################################################### +# +# connman - open source connection manager +# +####################################################### + +CONNMAN_VERSION = 0.78 +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git +CONNMAN_DEPENDENCIES = libglib2 dbus iptables +CONNMAN_AUTORECONF = YES +CONNMAN_CONF_OPT += --localstatedir=/var \ + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \ + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ + $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ + $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ + $(if $(BR2_PACKAGE_CONNMAN_NTPD),--enable-ntpd,--disable-ntpd) \ + $(if $(BR2_PACKAGE_CONNMAN_CLIENT),--enable-client,--disable-client) + +$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.7.3
PATCH v3 1/1 Add package connman
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> The ConnMan project provides a daemon for managing internet Daniel> connections within embedded devices running the Linux operating Daniel> system. The Connection Manager is designed to be slim and to Daniel> use as few resources as possible, so it can be easily Daniel> integrated. It is a fully modular system that can be extended, Daniel> through plug-ins, to support all kinds of wired or wireless Daniel> technologies. Also, configuration methods, like DHCP and domain Daniel> name resolving, are implemented using plug-ins. The plug-in Daniel> approach allows for easy adaption and modification for various Daniel> use cases.
Thanks, a few more comments:
Daniel> +if BR2_PACKAGE_CONNMAN
Daniel> +
Daniel> +config BR2_PACKAGE_CONNMAN_THREADS
Daniel> + bool "enable threading support"
Daniel> + depends on BR2_TOOLCHAIN_HAS_THREADS
Daniel> + default y
Daniel> +
Daniel> +config BR2_PACKAGE_CONNMAN_ETHERNET
Daniel> + bool "enable Ethernet support"
Daniel> + default y
Daniel> +
Daniel> +config BR2_PACKAGE_CONNMAN_WIFI
Daniel> + bool "enable WiFi support"
Daniel> + select BR2_PACKAGE_WPA_SUPPLICANT
Daniel> + default y
I wouldn't enable WIFI support by default, to not get it to pull in wpa_supplicant, so drop the 'default y'
Daniel> +++ b/package/connman/connman.mk
Daniel> @@ -0,0 +1,21 @@
Daniel> +####################################################### Daniel> +#
Daniel> +# connman - open source connection manager
Daniel> +#
Daniel> +####################################################### Daniel> +
Daniel> +CONNMAN_VERSION = 0.78
Daniel> +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git
Daniel> +CONNMAN_DEPENDENCIES = libglib2 dbus iptables
Daniel> +CONNMAN_AUTORECONF = YES
It seems to install a .pc file and some headers, so we should have CONNMAN_INSTALL_STAGING = YES
What about installing an initscript? I see there's an example init script in the connman sources, but that doesn't seem directly applicable to our busybox based system.
I applied the patch and gave it a quick test, but it fails with the default uClibc configuration as we don't enable UCLIBC_HAS_RESOLVER_SUPPORT (just like upstream), and connman seems to want it for gweb/gresolv.c:
checking resolv.h usability... yes
checking resolv.h presence... yes
checking for resolv.h... yes
checking for ns_initparse in -lresolv... no
checking for __ns_initparse in -lresolv... no
configure: error: resolver library support is required
make: *** [/home/peko/source/buildroot/output/build/connman-0.78/.stamp_configured
I don't like to add it if doesn't work with uClibc based toolchains. We can add a toolchain configuration option to enable the UCLIBC configuration, but that doesn't help for ctng and external toolchains.
What configuration are you using it with?
Signature · 1 line
Bye, Peter Korsgaard
PATCH v3 1/1 Add package connman
Quoted 17 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> +if
BR2_PACKAGE_CONNMAN
Daniel> +
Daniel> +configBR2_PACKAGE_CONNMAN_THREADS
Daniel> + bool "enable threading support"
Daniel> + depends onBR2_TOOLCHAIN_HAS_THREADS
Daniel> + default y
Daniel> +
Daniel> +configBR2_PACKAGE_CONNMAN_ETHERNET
Daniel> + bool "enable Ethernet support"
Daniel> + default y
Daniel> +
Daniel> +configBR2_PACKAGE_CONNMAN_WIFI
Daniel> + bool "enable WiFi support"
Daniel> + selectBR2_PACKAGE_WPA_SUPPLICANT
Daniel> + default y
Quoted 2 lines
I wouldn't enable WIFI support by default, to not get it to pull in
wpa_supplicant, so drop the 'default y'
Ok, that's reasonable.
Quoted 13 lines
Daniel> +++
b/package/connman/connman.mk
Daniel> @@ -0,0 +1,21 @@
Daniel> +####################################################### Daniel> +#
Daniel> +# connman - open source connection manager
Daniel> +#
Daniel> +####################################################### Daniel> +
Daniel> +CONNMAN_VERSION = 0.78
Daniel> +CONNMAN_SITE =git://git.kernel.org/pub/scm/network/connman/connman.git
Daniel> +CONNMAN_DEPENDENCIES = libglib2 dbus iptables
Daniel> +CONNMAN_AUTORECONF = YES
Quoted 2 lines
It seems to install a .pc file and some headers, so we should have
CONNMAN_INSTALL_STAGING= YES
Ok, I can do this, too. The primary interface for communication with the daemon is DBus, so we don't seem to need headers, but the .pc file is a fair reason.
Quoted 3 lines
What about installing an initscript? I see there's an example init script in the connman sources, but that doesn't seem directly applicable to our busybox based system.
Yes, I can write one up.
Quoted 5 lines
I applied the patch and gave it a quick test, but it fails with the default uClibc configuration as we don't enable
UCLIBC_HAS_RESOLVER_SUPPORT(just like upstream), and connman seems to want it forgweb/gresolv.c:
Quoted 7 lines
checking
resolv.husability... yes
checkingresolv.hpresence... yes
checking forresolv.h... yes
checking forns_initparsein -lresolv... no
checking for__ns_initparsein -lresolv... no
configure: error: resolver library support is required
make: *** [/home/peko/source/buildroot/output/build/connman-0.78/.stamp_configured
Yes, this is the reason why I added resolver support to uClibc some months back, and all the stuff in upstream now.
Quoted 1 line
I don't like to add it if doesn't work with uClibc based toolchains.
Well, it does, if you enable UCLIBC_HAS_RESOLVER_SUPPORT. What about adding a dependency for that? If people want to have connman, they have to manually select this feature and rebuild their uClibc. Does that sound ok?
Quoted 3 lines
We
can add a toolchain configuration option to enable the UCLIBC configuration, but that doesn't help for ctng and external toolchains.
Why not depend on UCLIBC_HAS_RESOLVER_SUPPORT if uClibc is used and whitelist others?
Something like
depends on (BR2_TOOLCHAIN_BUILDROOT && UCLIBC_HAS_RESOLVER_SUPPORT) || BR2_TOOLCHAIN_CTNG
?
And if people verify that it works with other toolchains as well, this list can be augmented.
Quoted 1 line
What configuration are you using it with?
I tested it with both uClibc and Crosstool-NG (eglibc), and both worked fine for me.
Thanks,
Daniel
PATCH v3 1/1 Add package connman
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 3 lines
Quoted 3 lines
What about installing an initscript? I see there's an example init script in the connman sources, but that doesn't seem directly applicable to our busybox based system.
Daniel> Yes, I can write one up.
Great, thanks.
Daniel> Yes, this is the reason why I added resolver support to uClibc some Daniel> months back, and all the stuff in upstream now.
Quoted 1 line
Quoted 1 line
I don't like to add it if doesn't work with uClibc based toolchains.
Daniel> Well, it does, if you enable UCLIBC_HAS_RESOLVER_SUPPORT. What about Daniel> adding a dependency for that? If people want to have connman, they have Daniel> to manually select this feature and rebuild their uClibc. Does that Daniel> sound ok?
In concept, yes - But as the RESOLVER_SUPPORT isn't in any release yet, it becomes a bit more tricky. We can backport the changes to 0.9.32, but existing binary toolchains and ctng (unless Yann agrees and we also backport to there) stuff will fail.
I'll take a look at it.
Quoted 1 line
Quoted 1 line
What configuration are you using it with?
Daniel> I tested it with both uClibc and Crosstool-NG (eglibc), and Daniel> both worked fine for me.
Ok, great.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v3 1/1 Add package connman
Quoted 22 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 3 lines
Quoted 3 lines
What about installing an initscript? I see there's an example init script in the connman sources, but that doesn't seem directly applicable to our busybox based system.
Daniel> Yes, I can write one up.
Great, thanks.
Daniel> Yes, this is the reason why I added resolver support to uClibc some Daniel> months back, and all the stuff in upstream now.
Quoted 1 line
Quoted 1 line
I don't like to add it if doesn't work with uClibc based toolchains.
Daniel> Well, it does, if you enable
UCLIBC_HAS_RESOLVER_SUPPORT. What about Daniel> adding a dependency for that? If people want to have connman, they have Daniel> to manually select this feature and rebuild their uClibc. Does that Daniel> sound ok?
Quoted 4 lines
In concept, yes - But as the
RESOLVER_SUPPORTisn't in any release yet, it becomes a bit more tricky. We can backport the changes to 0.9.32, but existing binary toolchains and ctng (unless Yann agrees and we also backport to there) stuff will fail.
In a previous discussion on this list I was asking about just this, and back then you agreed we could depend on BR2_UCLIBC_VERSION_SNAPSHOT in such a case until there's a new release.
Quoted 1 line
I'll take a look at it.
Ok, great. I'll post a new version with the discussed topics and leave the decision of how to handle the toolchain deps to you. Is that ok for you?
Daniel
PATCH v3 1/1 Add package connman
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 4 lines
Quoted 4 lines
In concept, yes - But as the
RESOLVER_SUPPORTisn't in any release yet, it becomes a bit more tricky. We can backport the changes to 0.9.32, but existing binary toolchains and ctng (unless Yann agrees and we also backport to there) stuff will fail.
Daniel> In a previous discussion on this list I was asking about just Daniel> this, and back then you agreed we could depend on Daniel> BR2_UCLIBC_VERSION_SNAPSHOT in such a case until there's a new Daniel> release.
Sorry, I don't recall that discussion, but it makes sense.
Quoted 1 line
Quoted 1 line
I'll take a look at it.
Daniel> Ok, great. I'll post a new version with the discussed topics Daniel> and leave the decision of how to handle the toolchain deps to Daniel> you. Is that ok for you?
Yes, that's fine.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v4 1/1 Add package connman
The ConnMan project provides a daemon for managing internet connections within embedded devices running the Linux operating system. The Connection Manager is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.
The location for released tarballs is still unavailable due to the recent kernel.org outage, hence the package obtains the sources from git for now.
---
Changelog:
v4:
* add init script
* drop 'default y' for BR2_PACKAGE_CONNMAN_WIFI
* set CONNMAN_INSTALL_STAGING
* add a comment on CONNMAN_AUTORECONF
v3: bump to v0.78, drop --sysconfdir
v2: replace ifeq-blocks with $(if $(BR2_PACKAGE_CONNMAN_FOO),--enable-foo,--disable-foo) constructs
v1: initial
package/Config.in | 1 + package/connman/Config.in | 46 ++++++++++++++++++++++++++++++++++++++++++++ package/connman/S45connman | 45 +++++++++++++++++++++++++++++++++++++++++++ package/connman/connman.mk | 30 ++++++++++++++++++++++++++++ 4 files changed, 122 insertions(+), 0 deletions(-) create mode 100644 package/connman/Config.in create mode 100755 package/connman/S45connman create mode 100644 package/connman/connman.mk
package/Config.in +1 -0
@@ -402,6 +402,7 @@ source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" +source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/cifs-utils/Config.in" source "package/cups/Config.in"
package/connman/Config.in new file +46 -0
46 lines not on this page · raw message
package/connman/S45connman new file +45 -0
45 lines not on this page · raw message
package/connman/connman.mk new file +30 -0
@@ -0,0 +1,30 @@ +####################################################### +# +# connman - open source connection manager +# +####################################################### + +CONNMAN_VERSION = 0.78 +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git +CONNMAN_DEPENDENCIES = libglib2 dbus iptables +CONNMAN_INSTALL_STAGING = YES +CONNMAN_CONF_OPT += --localstatedir=/var \ + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \ + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ + $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ + $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ + $(if $(BR2_PACKAGE_CONNMAN_NTPD),--enable-ntpd,--disable-ntpd) \ + $(if $(BR2_PACKAGE_CONNMAN_CLIENT),--enable-client,--disable-client) + +# as long as sources are obtained from git, we need to generate the autofoo stuff +CONNMAN_AUTORECONF = YES + +define CONNMAN_INSTALL_INITSCRIPT + $(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman +endef + +CONNMAN_POST_INSTALL_TARGET_HOOKS = CONNMAN_INSTALL_INITSCRIPT + +$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.7.3
PATCH v4 1/1 Add package connman
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> The ConnMan project provides a daemon for managing internet Daniel> connections within embedded devices running the Linux operating Daniel> system. The Connection Manager is designed to be slim and to Daniel> use as few resources as possible, so it can be easily Daniel> integrated. It is a fully modular system that can be extended, Daniel> through plug-ins, to support all kinds of wired or wireless Daniel> technologies. Also, configuration methods, like DHCP and domain Daniel> name resolving, are implemented using plug-ins. The plug-in Daniel> approach allows for easy adaption and modification for various Daniel> use cases.
Thanks, committed with minor changes:
- The Kconfig logic to only enable on glibc/eglibc/uclibc snapshot
- Use start-stop-daemon in initscript
- Install client/cm to target if --enable-client is used
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 1/1 Add package connman
In reply to Daniel MackLe Mon, 05 Dec 2011 18:26:10 +0100,
Daniel Mack <[email protected]> a ?crit :
Quoted 2 lines
I'm cloning from a git repository, for the reason described in the commit log. Hence, the configure script has to be generated.
Could you add a comment above the _AUTORECONF=YES line mentioning this reason ?
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH v2 1/1 Add package connman
Hi Thomas,
Quoted 8 lines · Thomas Petazzoni
Le Mon, 05 Dec 2011 18:26:10 +0100,
Daniel Mack <[email protected]> a ?crit :Quoted 2 lines
I'm cloning from a git repository, for the reason described in the commit log. Hence, the configure script has to be generated.
Could you add a comment above the _AUTORECONF=YES line mentioning this reason ?
Really? The commit log already states the fact and the reason for the git checkout, and AFAIK, all packages that are pulled from upstream repositories have to have _AUTORECONF=YES, don't they?
I can do that, I'm just wondering if that one comment line is worth another version :)
Daniel
PATCH v2 1/1 Add package connman
In reply to Peter KorsgaardLe Mon, 05 Dec 2011 15:37:24 +0100,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 2 lines
Thanks, looks interesting.
Kos_tomalso worked on a package which unfortunately got lost together with his laptop.
Actually, I did work on packaging udisks, not connman. I still intend to work, someday, on udisks.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com