Commit 96c8f0b2 authored by Daniel Mack's avatar Daniel Mack Committed by Peter Korsgaard
Browse files

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.

[Peter: Ensure it can only be selected with workable toolchains,
	use start-stop-daemon in initscript, and install cm if selected]
Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 8a28f7e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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"
+47 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_CONNMAN
	bool "connman"
	depends on BR2_PACKAGE_DBUS
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_IPTABLES
	depends on BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_eglibc
	help
	  The Connection Manager (ConnMan) project provides a daemon for
	  managing internet connections within embedded devices running
	  the Linux operating system.

	  For more information, see http://connman.net/

if BR2_PACKAGE_CONNMAN

config BR2_PACKAGE_CONNMAN_THREADS
	bool "enable threading support"
	depends on BR2_TOOLCHAIN_HAS_THREADS
	default y

config BR2_PACKAGE_CONNMAN_ETHERNET
	bool "enable Ethernet support"
	default y

config BR2_PACKAGE_CONNMAN_WIFI
	bool "enable WiFi support"
	select BR2_PACKAGE_WPA_SUPPLICANT

config BR2_PACKAGE_CONNMAN_BLUETOOTH
	bool "enable Bluetooth support"

config BR2_PACKAGE_CONNMAN_LOOPBACK
	bool "enable loopback support"

config BR2_PACKAGE_CONNMAN_NTPD
	bool "enable ntpd support"

config BR2_PACKAGE_CONNMAN_DEBUG
	bool "enable compiling with debugging information"

config BR2_PACKAGE_CONNMAN_CLIENT
	bool "enable command line client"

endif # BR2_PACKAGE_CONNMAN

comment "connman needs DBus enabled and a toolchain with resolver support"
	depends on !BR2_PACKAGE_DBUS || !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_eglibc)
+22 −0
Original line number Diff line number Diff line
#!/bin/sh

case "$1" in
	start)
		echo -n "Starting connman ... "
		start-stop-daemon -S -q -m -b -p /var/run/connmand.pid --exec /usr/sbin/connmand -- -n
		echo "done."
		;;
	stop)
		echo -n "Stopping connman ..."
		start-stop-daemon -K -q -p /var/run/connmand.pid
		echo "done."
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	*)
		echo "usage: $0 {start|stop|restart}"
		;;
esac
+39 −0
Original line number Diff line number Diff line
#######################################################
#
# 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)

# 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

ifeq ($(BR2_PACKAGE_CONNMAN_CLIENT),y)
CONNMAN_CONF_OPT += --enable-client

define CONNMAN_INSTALL_CM
	$(INSTALL) -m 0755 -D $(@D)/client/cm $(TARGET_DIR)/usr/bin/cm
endef

CONNMAN_POST_INSTALL_TARGET_HOOKS += CONNMAN_INSTALL_CM
endif

$(eval $(call AUTOTARGETS))