All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] Add package for Gnome NetworkManager
@ 2011-12-02 11:14 Daniel Mack
  2011-12-02 11:18 ` Daniel Mack
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 11:14 UTC (permalink / raw)
  To: buildroot

Even though it's most commonly used on Desktops, this piece of software
also works well on embedded devices.

The package file only resolved mandatory dependencies. Things like
iptables and dnsmasq are only required if 'shared' connections are used,
and have hence not been made hard prerequisites.

There are probably too many i18n related files installed to the target.
That might need some more tweaking.

Signed-off-by: Daniel Mack <zonque@gmail.com>
---
 package/Config.in                          |    1 +
 package/network-manager/Config.in          |   22 +++++++++++++
 package/network-manager/S45network-manager |   46 ++++++++++++++++++++++++++++
 package/network-manager/network-manager.mk |   42 +++++++++++++++++++++++++
 4 files changed, 111 insertions(+), 0 deletions(-)
 create mode 100644 package/network-manager/Config.in
 create mode 100755 package/network-manager/S45network-manager
 create mode 100644 package/network-manager/network-manager.mk

diff --git a/package/Config.in b/package/Config.in
index 4b5e5d8..a781870 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -442,6 +442,7 @@ endif
 source "package/netplug/Config.in"
 source "package/netsnmp/Config.in"
 source "package/netstat-nat/Config.in"
+source "package/network-manager/Config.in"
 source "package/noip/Config.in"
 source "package/nfs-utils/Config.in"
 source "package/ngircd/Config.in"
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
new file mode 100644
index 0000000..c08d417
--- /dev/null
+++ b/package/network-manager/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_NETWORK_MANAGER
+	bool "NetworkManager"
+	depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
+	select BR2_PACKAGE_DBUS_GLIB
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  NetworkManager is a set of co-operative tools that make networking
+	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
+	  NetworkManager allows you to quickly move from one network to
+	  another: once a network has been configured and joined once, it
+	  can be detected and re-joined automatically the next time it's
+	  available.
+
+	  http://projects.gnome.org/NetworkManager/
+
+comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
+	depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
+
diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
new file mode 100755
index 0000000..112aa66
--- /dev/null
+++ b/package/network-manager/S45network-manager
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+PID=`pidof -o %PPID NetworkManager`
+case "$1" in
+	start)
+		echo -n "Starting NetworkManager ... "
+		[ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
+		if [ -z "$PID" ]; then
+			$NETWORKMANAGER_BIN
+		fi
+		if [ ! -z "$PID" -o $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	stop)
+		echo -n "Stopping NetworkManager ... "
+			[ ! -z "$PID" ] && kill $PID &> /dev/null
+		if [ $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+	*)
+		echo "usage: $0 {start|stop|restart|sleep|wake}"
+		;;
+esac
+exit 0
+
+
+
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
new file mode 100644
index 0000000..9fe6759
--- /dev/null
+++ b/package/network-manager/network-manager.mk
@@ -0,0 +1,42 @@
+#############################################################
+#
+# NetworkManager
+#
+#############################################################
+NETWORK_MANAGER_VERSION = 0.9.2.0
+NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
+NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
+NETWORK_MANAGER_INSTALL_STAGING = YES
+NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
+
+NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
+		--mandir=$(STAGING_DIR)/usr/man/ \
+		--with-dbus-user=dbus \
+		--disable-tests \
+		--disable-more-warnings \
+		--without-docs \
+		--disable-gtk-doc \
+		--disable-asserts \
+		--enable-abstract-sockets \
+		--disable-selinux \
+		--disable-xml-docs \
+		--disable-doxygen-docs \
+		--disable-static \
+		--enable-dnotify \
+		--localstatedir=/var \
+		--with-crypto=gnutls \
+		--with-distro=arch \
+		--disable-ppp \
+		--with-iptables=/usr/sbin/iptables
+
+# The target was built for the archlinux distribution, so we need
+# to move around things after installation
+define NETWORK_MANAGER_INSTALL_INITSCRIPT
+	$(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
+	rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
+	test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""
+endef
+
+NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
+
+$(eval $(call AUTOTARGETS,package,network-manager))
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:14 [Buildroot] [PATCH] Add package for Gnome NetworkManager Daniel Mack
@ 2011-12-02 11:18 ` Daniel Mack
  2011-12-02 11:45 ` Thomas De Schampheleire
  2011-12-02 12:00 ` Thomas Petazzoni
  2 siblings, 0 replies; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 11:18 UTC (permalink / raw)
  To: buildroot

On 12/02/2011 12:14 PM, Daniel Mack wrote:
> Even though it's most commonly used on Desktops, this piece of software
> also works well on embedded devices.
> 
> The package file only resolved mandatory dependencies. Things like
> iptables and dnsmasq are only required if 'shared' connections are used,
> and have hence not been made hard prerequisites.
> 
> There are probably too many i18n related files installed to the target.
> That might need some more tweaking.

Also note that this patch depends on the libnm-3 series I posted the
other day.


Daniel


> 
> Signed-off-by: Daniel Mack <zonque@gmail.com>
> ---
>  package/Config.in                          |    1 +
>  package/network-manager/Config.in          |   22 +++++++++++++
>  package/network-manager/S45network-manager |   46 ++++++++++++++++++++++++++++
>  package/network-manager/network-manager.mk |   42 +++++++++++++++++++++++++
>  4 files changed, 111 insertions(+), 0 deletions(-)
>  create mode 100644 package/network-manager/Config.in
>  create mode 100755 package/network-manager/S45network-manager
>  create mode 100644 package/network-manager/network-manager.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 4b5e5d8..a781870 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -442,6 +442,7 @@ endif
>  source "package/netplug/Config.in"
>  source "package/netsnmp/Config.in"
>  source "package/netstat-nat/Config.in"
> +source "package/network-manager/Config.in"
>  source "package/noip/Config.in"
>  source "package/nfs-utils/Config.in"
>  source "package/ngircd/Config.in"
> diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
> new file mode 100644
> index 0000000..c08d417
> --- /dev/null
> +++ b/package/network-manager/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_NETWORK_MANAGER
> +	bool "NetworkManager"
> +	depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
> +	select BR2_PACKAGE_DBUS_GLIB
> +	select BR2_PACKAGE_LIBNL
> +	select BR2_PACKAGE_GNUTLS
> +	select BR2_PACKAGE_LIBNL
> +	select BR2_PACKAGE_UTIL_LINUX
> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> +	help
> +	  NetworkManager is a set of co-operative tools that make networking
> +	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
> +	  NetworkManager allows you to quickly move from one network to
> +	  another: once a network has been configured and joined once, it
> +	  can be detected and re-joined automatically the next time it's
> +	  available.
> +
> +	  http://projects.gnome.org/NetworkManager/
> +
> +comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
> +	depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
> +
> diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
> new file mode 100755
> index 0000000..112aa66
> --- /dev/null
> +++ b/package/network-manager/S45network-manager
> @@ -0,0 +1,46 @@
> +#!/bin/sh
> +
> +prefix=/usr
> +exec_prefix=/usr
> +sbindir=${exec_prefix}/sbin
> +
> +NETWORKMANAGER_BIN=${sbindir}/NetworkManager
> +
> +[ -x $NETWORKMANAGER_BIN ] || exit 0
> +
> +PID=`pidof -o %PPID NetworkManager`
> +case "$1" in
> +	start)
> +		echo -n "Starting NetworkManager ... "
> +		[ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
> +		if [ -z "$PID" ]; then
> +			$NETWORKMANAGER_BIN
> +		fi
> +		if [ ! -z "$PID" -o $? -gt 0 ]; then
> +			echo "failed!"
> +		else
> +			echo "done."
> +		fi
> +		;;
> +	stop)
> +		echo -n "Stopping NetworkManager ... "
> +			[ ! -z "$PID" ] && kill $PID &> /dev/null
> +		if [ $? -gt 0 ]; then
> +			echo "failed!"
> +		else
> +			echo "done."
> +		fi
> +		;;
> +	restart)
> +		$0 stop
> +		sleep 1
> +		$0 start
> +		;;
> +	*)
> +		echo "usage: $0 {start|stop|restart|sleep|wake}"
> +		;;
> +esac
> +exit 0
> +
> +
> +
> diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
> new file mode 100644
> index 0000000..9fe6759
> --- /dev/null
> +++ b/package/network-manager/network-manager.mk
> @@ -0,0 +1,42 @@
> +#############################################################
> +#
> +# NetworkManager
> +#
> +#############################################################
> +NETWORK_MANAGER_VERSION = 0.9.2.0
> +NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
> +NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
> +NETWORK_MANAGER_INSTALL_STAGING = YES
> +NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
> +
> +NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
> +		--mandir=$(STAGING_DIR)/usr/man/ \
> +		--with-dbus-user=dbus \
> +		--disable-tests \
> +		--disable-more-warnings \
> +		--without-docs \
> +		--disable-gtk-doc \
> +		--disable-asserts \
> +		--enable-abstract-sockets \
> +		--disable-selinux \
> +		--disable-xml-docs \
> +		--disable-doxygen-docs \
> +		--disable-static \
> +		--enable-dnotify \
> +		--localstatedir=/var \
> +		--with-crypto=gnutls \
> +		--with-distro=arch \
> +		--disable-ppp \
> +		--with-iptables=/usr/sbin/iptables
> +
> +# The target was built for the archlinux distribution, so we need
> +# to move around things after installation
> +define NETWORK_MANAGER_INSTALL_INITSCRIPT
> +	$(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
> +	rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
> +	test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""
> +endef
> +
> +NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
> +
> +$(eval $(call AUTOTARGETS,package,network-manager))

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:14 [Buildroot] [PATCH] Add package for Gnome NetworkManager Daniel Mack
  2011-12-02 11:18 ` Daniel Mack
@ 2011-12-02 11:45 ` Thomas De Schampheleire
  2011-12-02 11:52   ` Daniel Mack
  2011-12-02 12:00 ` Thomas Petazzoni
  2 siblings, 1 reply; 12+ messages in thread
From: Thomas De Schampheleire @ 2011-12-02 11:45 UTC (permalink / raw)
  To: buildroot

On Fri, Dec 2, 2011 at 12:14 PM, Daniel Mack <zonque@gmail.com> wrote:
> Even though it's most commonly used on Desktops, this piece of software
> also works well on embedded devices.
>
> The package file only resolved mandatory dependencies. Things like
> iptables and dnsmasq are only required if 'shared' connections are used,
> and have hence not been made hard prerequisites.
>
> There are probably too many i18n related files installed to the target.
> That might need some more tweaking.
>
> Signed-off-by: Daniel Mack <zonque@gmail.com>
> ---
> ?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 +
> ?package/network-manager/Config.in ? ? ? ? ?| ? 22 +++++++++++++
> ?package/network-manager/S45network-manager | ? 46 ++++++++++++++++++++++++++++
> ?package/network-manager/network-manager.mk | ? 42 +++++++++++++++++++++++++
> ?4 files changed, 111 insertions(+), 0 deletions(-)
> ?create mode 100644 package/network-manager/Config.in
> ?create mode 100755 package/network-manager/S45network-manager
> ?create mode 100644 package/network-manager/network-manager.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 4b5e5d8..a781870 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -442,6 +442,7 @@ endif
> ?source "package/netplug/Config.in"
> ?source "package/netsnmp/Config.in"
> ?source "package/netstat-nat/Config.in"
> +source "package/network-manager/Config.in"
> ?source "package/noip/Config.in"
> ?source "package/nfs-utils/Config.in"
> ?source "package/ngircd/Config.in"
> diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
> new file mode 100644
> index 0000000..c08d417
> --- /dev/null
> +++ b/package/network-manager/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_NETWORK_MANAGER
> + ? ? ? bool "NetworkManager"
> + ? ? ? depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
> + ? ? ? select BR2_PACKAGE_DBUS_GLIB
> + ? ? ? select BR2_PACKAGE_LIBNL
> + ? ? ? select BR2_PACKAGE_GNUTLS
> + ? ? ? select BR2_PACKAGE_LIBNL
> + ? ? ? select BR2_PACKAGE_UTIL_LINUX
> + ? ? ? select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> + ? ? ? help
> + ? ? ? ? NetworkManager is a set of co-operative tools that make networking
> + ? ? ? ? simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
> + ? ? ? ? NetworkManager allows you to quickly move from one network to
> + ? ? ? ? another: once a network has been configured and joined once, it
> + ? ? ? ? can be detected and re-joined automatically the next time it's
> + ? ? ? ? available.
> +
> + ? ? ? ? http://projects.gnome.org/NetworkManager/
> +
> +comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
> + ? ? ? depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
> +
> diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
> new file mode 100755
> index 0000000..112aa66
> --- /dev/null
> +++ b/package/network-manager/S45network-manager
> @@ -0,0 +1,46 @@
> +#!/bin/sh
> +
> +prefix=/usr
> +exec_prefix=/usr
> +sbindir=${exec_prefix}/sbin
> +
> +NETWORKMANAGER_BIN=${sbindir}/NetworkManager
> +
> +[ -x $NETWORKMANAGER_BIN ] || exit 0
> +
> +PID=`pidof -o %PPID NetworkManager`
> +case "$1" in
> + ? ? ? start)
> + ? ? ? ? ? ? ? echo -n "Starting NetworkManager ... "
> + ? ? ? ? ? ? ? [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
> + ? ? ? ? ? ? ? if [ -z "$PID" ]; then
> + ? ? ? ? ? ? ? ? ? ? ? $NETWORKMANAGER_BIN
> + ? ? ? ? ? ? ? fi
> + ? ? ? ? ? ? ? if [ ! -z "$PID" -o $? -gt 0 ]; then
> + ? ? ? ? ? ? ? ? ? ? ? echo "failed!"
> + ? ? ? ? ? ? ? else
> + ? ? ? ? ? ? ? ? ? ? ? echo "done."
> + ? ? ? ? ? ? ? fi

Wouldn't it be more general if you test for non-equality instead of
for greater-than? You are now assuming that faulty return codes are
always positive, which may not be true on all platforms. Although this
code will probably work fine in all cases where buildroot is used, in
my opinion -ne 0 would be better.

> + ? ? ? ? ? ? ? ;;
> + ? ? ? stop)
> + ? ? ? ? ? ? ? echo -n "Stopping NetworkManager ... "
> + ? ? ? ? ? ? ? ? ? ? ? [ ! -z "$PID" ] && kill $PID &> /dev/null
> + ? ? ? ? ? ? ? if [ $? -gt 0 ]; then

Same here.

> + ? ? ? ? ? ? ? ? ? ? ? echo "failed!"
> + ? ? ? ? ? ? ? else
> + ? ? ? ? ? ? ? ? ? ? ? echo "done."
> + ? ? ? ? ? ? ? fi
> + ? ? ? ? ? ? ? ;;
> + ? ? ? restart)
> + ? ? ? ? ? ? ? $0 stop
> + ? ? ? ? ? ? ? sleep 1
> + ? ? ? ? ? ? ? $0 start
> + ? ? ? ? ? ? ? ;;
> + ? ? ? *)
> + ? ? ? ? ? ? ? echo "usage: $0 {start|stop|restart|sleep|wake}"
> + ? ? ? ? ? ? ? ;;
> +esac
> +exit 0
> +
> +
> +
> diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
> new file mode 100644
> index 0000000..9fe6759
> --- /dev/null
> +++ b/package/network-manager/network-manager.mk
> @@ -0,0 +1,42 @@
> +#############################################################
> +#
> +# NetworkManager
> +#
> +#############################################################
> +NETWORK_MANAGER_VERSION = 0.9.2.0
> +NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
> +NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
> +NETWORK_MANAGER_INSTALL_STAGING = YES
> +NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
> +
> +NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
> + ? ? ? ? ? ? ? --mandir=$(STAGING_DIR)/usr/man/ \
> + ? ? ? ? ? ? ? --with-dbus-user=dbus \
> + ? ? ? ? ? ? ? --disable-tests \
> + ? ? ? ? ? ? ? --disable-more-warnings \
> + ? ? ? ? ? ? ? --without-docs \
> + ? ? ? ? ? ? ? --disable-gtk-doc \
> + ? ? ? ? ? ? ? --disable-asserts \
> + ? ? ? ? ? ? ? --enable-abstract-sockets \
> + ? ? ? ? ? ? ? --disable-selinux \
> + ? ? ? ? ? ? ? --disable-xml-docs \
> + ? ? ? ? ? ? ? --disable-doxygen-docs \
> + ? ? ? ? ? ? ? --disable-static \
> + ? ? ? ? ? ? ? --enable-dnotify \
> + ? ? ? ? ? ? ? --localstatedir=/var \
> + ? ? ? ? ? ? ? --with-crypto=gnutls \
> + ? ? ? ? ? ? ? --with-distro=arch \
> + ? ? ? ? ? ? ? --disable-ppp \
> + ? ? ? ? ? ? ? --with-iptables=/usr/sbin/iptables
> +
> +# The target was built for the archlinux distribution, so we need
> +# to move around things after installation
> +define NETWORK_MANAGER_INSTALL_INITSCRIPT
> + ? ? ? $(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
> + ? ? ? rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
> + ? ? ? test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""

Why not simply attempt:
rmdir $(TARGET_DIR)/etc/rc.d 2>/dev/null

If the directory is empty, it will be removed.
If not empty, rmdir will not do anything.

On my rmdir, there is even an option: --ignore-fail-on-non-empty
If that is generic, you could do:
rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d

> +endef
> +
> +NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
> +
> +$(eval $(call AUTOTARGETS,package,network-manager))

Since 2011.11, the extra arguments package,network-manager are no
longer needed and should be removed, thus:
$(eval $(call AUTOTARGETS))

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:45 ` Thomas De Schampheleire
@ 2011-12-02 11:52   ` Daniel Mack
  2011-12-02 11:56     ` Thomas De Schampheleire
  2011-12-02 11:59     ` Daniel Mack
  0 siblings, 2 replies; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 11:52 UTC (permalink / raw)
  To: buildroot

On 12/02/2011 12:45 PM, Thomas De Schampheleire wrote:
> On Fri, Dec 2, 2011 at 12:14 PM, Daniel Mack <zonque@gmail.com> wrote:
>> Even though it's most commonly used on Desktops, this piece of software
>> also works well on embedded devices.
>>
>> The package file only resolved mandatory dependencies. Things like
>> iptables and dnsmasq are only required if 'shared' connections are used,
>> and have hence not been made hard prerequisites.
>>
>> There are probably too many i18n related files installed to the target.
>> That might need some more tweaking.
>>
>> Signed-off-by: Daniel Mack <zonque@gmail.com>
>> ---
>>  package/Config.in                          |    1 +
>>  package/network-manager/Config.in          |   22 +++++++++++++
>>  package/network-manager/S45network-manager |   46 ++++++++++++++++++++++++++++
>>  package/network-manager/network-manager.mk |   42 +++++++++++++++++++++++++
>>  4 files changed, 111 insertions(+), 0 deletions(-)
>>  create mode 100644 package/network-manager/Config.in
>>  create mode 100755 package/network-manager/S45network-manager
>>  create mode 100644 package/network-manager/network-manager.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 4b5e5d8..a781870 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -442,6 +442,7 @@ endif
>>  source "package/netplug/Config.in"
>>  source "package/netsnmp/Config.in"
>>  source "package/netstat-nat/Config.in"
>> +source "package/network-manager/Config.in"
>>  source "package/noip/Config.in"
>>  source "package/nfs-utils/Config.in"
>>  source "package/ngircd/Config.in"
>> diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
>> new file mode 100644
>> index 0000000..c08d417
>> --- /dev/null
>> +++ b/package/network-manager/Config.in
>> @@ -0,0 +1,22 @@
>> +config BR2_PACKAGE_NETWORK_MANAGER
>> +       bool "NetworkManager"
>> +       depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
>> +       select BR2_PACKAGE_DBUS_GLIB
>> +       select BR2_PACKAGE_LIBNL
>> +       select BR2_PACKAGE_GNUTLS
>> +       select BR2_PACKAGE_LIBNL
>> +       select BR2_PACKAGE_UTIL_LINUX
>> +       select BR2_PACKAGE_UTIL_LINUX_LIBUUID
>> +       help
>> +         NetworkManager is a set of co-operative tools that make networking
>> +         simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
>> +         NetworkManager allows you to quickly move from one network to
>> +         another: once a network has been configured and joined once, it
>> +         can be detected and re-joined automatically the next time it's
>> +         available.
>> +
>> +         http://projects.gnome.org/NetworkManager/
>> +
>> +comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
>> +       depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
>> +
>> diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
>> new file mode 100755
>> index 0000000..112aa66
>> --- /dev/null
>> +++ b/package/network-manager/S45network-manager
>> @@ -0,0 +1,46 @@
>> +#!/bin/sh
>> +
>> +prefix=/usr
>> +exec_prefix=/usr
>> +sbindir=${exec_prefix}/sbin
>> +
>> +NETWORKMANAGER_BIN=${sbindir}/NetworkManager
>> +
>> +[ -x $NETWORKMANAGER_BIN ] || exit 0
>> +
>> +PID=`pidof -o %PPID NetworkManager`
>> +case "$1" in
>> +       start)
>> +               echo -n "Starting NetworkManager ... "
>> +               [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
>> +               if [ -z "$PID" ]; then
>> +                       $NETWORKMANAGER_BIN
>> +               fi
>> +               if [ ! -z "$PID" -o $? -gt 0 ]; then
>> +                       echo "failed!"
>> +               else
>> +                       echo "done."
>> +               fi
> 
> Wouldn't it be more general if you test for non-equality instead of
> for greater-than? You are now assuming that faulty return codes are
> always positive, which may not be true on all platforms. Although this
> code will probably work fine in all cases where buildroot is used, in
> my opinion -ne 0 would be better.

I can change this, yes. This part of the script was actually taken from
the version originally provided by the upstream package, but anyway :)

>> +               ;;
>> +       stop)
>> +               echo -n "Stopping NetworkManager ... "
>> +                       [ ! -z "$PID" ] && kill $PID &> /dev/null
>> +               if [ $? -gt 0 ]; then
> 
> Same here.
> 
>> +                       echo "failed!"
>> +               else
>> +                       echo "done."
>> +               fi
>> +               ;;
>> +       restart)
>> +               $0 stop
>> +               sleep 1
>> +               $0 start
>> +               ;;
>> +       *)
>> +               echo "usage: $0 {start|stop|restart|sleep|wake}"
>> +               ;;
>> +esac
>> +exit 0
>> +
>> +
>> +
>> diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
>> new file mode 100644
>> index 0000000..9fe6759
>> --- /dev/null
>> +++ b/package/network-manager/network-manager.mk
>> @@ -0,0 +1,42 @@
>> +#############################################################
>> +#
>> +# NetworkManager
>> +#
>> +#############################################################
>> +NETWORK_MANAGER_VERSION = 0.9.2.0
>> +NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
>> +NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
>> +NETWORK_MANAGER_INSTALL_STAGING = YES
>> +NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
>> +
>> +NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
>> +               --mandir=$(STAGING_DIR)/usr/man/ \
>> +               --with-dbus-user=dbus \
>> +               --disable-tests \
>> +               --disable-more-warnings \
>> +               --without-docs \
>> +               --disable-gtk-doc \
>> +               --disable-asserts \
>> +               --enable-abstract-sockets \
>> +               --disable-selinux \
>> +               --disable-xml-docs \
>> +               --disable-doxygen-docs \
>> +               --disable-static \
>> +               --enable-dnotify \
>> +               --localstatedir=/var \
>> +               --with-crypto=gnutls \
>> +               --with-distro=arch \
>> +               --disable-ppp \
>> +               --with-iptables=/usr/sbin/iptables
>> +
>> +# The target was built for the archlinux distribution, so we need
>> +# to move around things after installation
>> +define NETWORK_MANAGER_INSTALL_INITSCRIPT
>> +       $(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
>> +       rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
>> +       test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""
> 
> Why not simply attempt:
> rmdir $(TARGET_DIR)/etc/rc.d 2>/dev/null

Jup, much easier. I'll go for this solution.

> 
> If the directory is empty, it will be removed.
> If not empty, rmdir will not do anything.
> 
> On my rmdir, there is even an option: --ignore-fail-on-non-empty
> If that is generic, you could do:
> rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d

I'd rather not rely on such a feature on the build host.

>> +endef
>> +
>> +NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
>> +
>> +$(eval $(call AUTOTARGETS,package,network-manager))
> 
> Since 2011.11, the extra arguments package,network-manager are no
> longer needed and should be removed, thus:
> $(eval $(call AUTOTARGETS))

Ok. Thanks for the review. I'll repost.


Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:52   ` Daniel Mack
@ 2011-12-02 11:56     ` Thomas De Schampheleire
  2011-12-02 11:59     ` Daniel Mack
  1 sibling, 0 replies; 12+ messages in thread
From: Thomas De Schampheleire @ 2011-12-02 11:56 UTC (permalink / raw)
  To: buildroot

On Fri, Dec 2, 2011 at 12:52 PM, Daniel Mack <zonque@gmail.com> wrote:
> On 12/02/2011 12:45 PM, Thomas De Schampheleire wrote:
>> On Fri, Dec 2, 2011 at 12:14 PM, Daniel Mack <zonque@gmail.com> wrote:
>>> Even though it's most commonly used on Desktops, this piece of software
>>> also works well on embedded devices.
>>>
>>> The package file only resolved mandatory dependencies. Things like
>>> iptables and dnsmasq are only required if 'shared' connections are used,
>>> and have hence not been made hard prerequisites.
>>>
>>> There are probably too many i18n related files installed to the target.
>>> That might need some more tweaking.
>>>
>>> Signed-off-by: Daniel Mack <zonque@gmail.com>
>>> ---
>>> ?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 +
>>> ?package/network-manager/Config.in ? ? ? ? ?| ? 22 +++++++++++++
>>> ?package/network-manager/S45network-manager | ? 46 ++++++++++++++++++++++++++++
>>> ?package/network-manager/network-manager.mk | ? 42 +++++++++++++++++++++++++
>>> ?4 files changed, 111 insertions(+), 0 deletions(-)
>>> ?create mode 100644 package/network-manager/Config.in
>>> ?create mode 100755 package/network-manager/S45network-manager
>>> ?create mode 100644 package/network-manager/network-manager.mk
>>>
>>> diff --git a/package/Config.in b/package/Config.in
>>> index 4b5e5d8..a781870 100644
>>> --- a/package/Config.in
>>> +++ b/package/Config.in
>>> @@ -442,6 +442,7 @@ endif
>>> ?source "package/netplug/Config.in"
>>> ?source "package/netsnmp/Config.in"
>>> ?source "package/netstat-nat/Config.in"
>>> +source "package/network-manager/Config.in"
>>> ?source "package/noip/Config.in"
>>> ?source "package/nfs-utils/Config.in"
>>> ?source "package/ngircd/Config.in"
>>> diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
>>> new file mode 100644
>>> index 0000000..c08d417
>>> --- /dev/null
>>> +++ b/package/network-manager/Config.in
>>> @@ -0,0 +1,22 @@
>>> +config BR2_PACKAGE_NETWORK_MANAGER
>>> + ? ? ? bool "NetworkManager"
>>> + ? ? ? depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
>>> + ? ? ? select BR2_PACKAGE_DBUS_GLIB
>>> + ? ? ? select BR2_PACKAGE_LIBNL
>>> + ? ? ? select BR2_PACKAGE_GNUTLS
>>> + ? ? ? select BR2_PACKAGE_LIBNL
>>> + ? ? ? select BR2_PACKAGE_UTIL_LINUX
>>> + ? ? ? select BR2_PACKAGE_UTIL_LINUX_LIBUUID
>>> + ? ? ? help
>>> + ? ? ? ? NetworkManager is a set of co-operative tools that make networking
>>> + ? ? ? ? simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
>>> + ? ? ? ? NetworkManager allows you to quickly move from one network to
>>> + ? ? ? ? another: once a network has been configured and joined once, it
>>> + ? ? ? ? can be detected and re-joined automatically the next time it's
>>> + ? ? ? ? available.
>>> +
>>> + ? ? ? ? http://projects.gnome.org/NetworkManager/
>>> +
>>> +comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
>>> + ? ? ? depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
>>> +
>>> diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
>>> new file mode 100755
>>> index 0000000..112aa66
>>> --- /dev/null
>>> +++ b/package/network-manager/S45network-manager
>>> @@ -0,0 +1,46 @@
>>> +#!/bin/sh
>>> +
>>> +prefix=/usr
>>> +exec_prefix=/usr
>>> +sbindir=${exec_prefix}/sbin
>>> +
>>> +NETWORKMANAGER_BIN=${sbindir}/NetworkManager
>>> +
>>> +[ -x $NETWORKMANAGER_BIN ] || exit 0
>>> +
>>> +PID=`pidof -o %PPID NetworkManager`
>>> +case "$1" in
>>> + ? ? ? start)
>>> + ? ? ? ? ? ? ? echo -n "Starting NetworkManager ... "
>>> + ? ? ? ? ? ? ? [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
>>> + ? ? ? ? ? ? ? if [ -z "$PID" ]; then
>>> + ? ? ? ? ? ? ? ? ? ? ? $NETWORKMANAGER_BIN
>>> + ? ? ? ? ? ? ? fi
>>> + ? ? ? ? ? ? ? if [ ! -z "$PID" -o $? -gt 0 ]; then
>>> + ? ? ? ? ? ? ? ? ? ? ? echo "failed!"
>>> + ? ? ? ? ? ? ? else
>>> + ? ? ? ? ? ? ? ? ? ? ? echo "done."
>>> + ? ? ? ? ? ? ? fi
>>
>> Wouldn't it be more general if you test for non-equality instead of
>> for greater-than? You are now assuming that faulty return codes are
>> always positive, which may not be true on all platforms. Although this
>> code will probably work fine in all cases where buildroot is used, in
>> my opinion -ne 0 would be better.
>
> I can change this, yes. This part of the script was actually taken from
> the version originally provided by the upstream package, but anyway :)

In that case, I'd leave it as-is.

>
>>> + ? ? ? ? ? ? ? ;;
>>> + ? ? ? stop)
>>> + ? ? ? ? ? ? ? echo -n "Stopping NetworkManager ... "
>>> + ? ? ? ? ? ? ? ? ? ? ? [ ! -z "$PID" ] && kill $PID &> /dev/null
>>> + ? ? ? ? ? ? ? if [ $? -gt 0 ]; then
>>
>> Same here.
>>
>>> + ? ? ? ? ? ? ? ? ? ? ? echo "failed!"
>>> + ? ? ? ? ? ? ? else
>>> + ? ? ? ? ? ? ? ? ? ? ? echo "done."
>>> + ? ? ? ? ? ? ? fi
>>> + ? ? ? ? ? ? ? ;;
>>> + ? ? ? restart)
>>> + ? ? ? ? ? ? ? $0 stop
>>> + ? ? ? ? ? ? ? sleep 1
>>> + ? ? ? ? ? ? ? $0 start
>>> + ? ? ? ? ? ? ? ;;
>>> + ? ? ? *)
>>> + ? ? ? ? ? ? ? echo "usage: $0 {start|stop|restart|sleep|wake}"
>>> + ? ? ? ? ? ? ? ;;
>>> +esac
>>> +exit 0
>>> +
>>> +
>>> +
>>> diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
>>> new file mode 100644
>>> index 0000000..9fe6759
>>> --- /dev/null
>>> +++ b/package/network-manager/network-manager.mk
>>> @@ -0,0 +1,42 @@
>>> +#############################################################
>>> +#
>>> +# NetworkManager
>>> +#
>>> +#############################################################
>>> +NETWORK_MANAGER_VERSION = 0.9.2.0
>>> +NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
>>> +NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
>>> +NETWORK_MANAGER_INSTALL_STAGING = YES
>>> +NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
>>> +
>>> +NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
>>> + ? ? ? ? ? ? ? --mandir=$(STAGING_DIR)/usr/man/ \
>>> + ? ? ? ? ? ? ? --with-dbus-user=dbus \
>>> + ? ? ? ? ? ? ? --disable-tests \
>>> + ? ? ? ? ? ? ? --disable-more-warnings \
>>> + ? ? ? ? ? ? ? --without-docs \
>>> + ? ? ? ? ? ? ? --disable-gtk-doc \
>>> + ? ? ? ? ? ? ? --disable-asserts \
>>> + ? ? ? ? ? ? ? --enable-abstract-sockets \
>>> + ? ? ? ? ? ? ? --disable-selinux \
>>> + ? ? ? ? ? ? ? --disable-xml-docs \
>>> + ? ? ? ? ? ? ? --disable-doxygen-docs \
>>> + ? ? ? ? ? ? ? --disable-static \
>>> + ? ? ? ? ? ? ? --enable-dnotify \
>>> + ? ? ? ? ? ? ? --localstatedir=/var \
>>> + ? ? ? ? ? ? ? --with-crypto=gnutls \
>>> + ? ? ? ? ? ? ? --with-distro=arch \
>>> + ? ? ? ? ? ? ? --disable-ppp \
>>> + ? ? ? ? ? ? ? --with-iptables=/usr/sbin/iptables
>>> +
>>> +# The target was built for the archlinux distribution, so we need
>>> +# to move around things after installation
>>> +define NETWORK_MANAGER_INSTALL_INITSCRIPT
>>> + ? ? ? $(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
>>> + ? ? ? rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
>>> + ? ? ? test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""
>>
>> Why not simply attempt:
>> rmdir $(TARGET_DIR)/etc/rc.d 2>/dev/null
>
> Jup, much easier. I'll go for this solution.
>
>>
>> If the directory is empty, it will be removed.
>> If not empty, rmdir will not do anything.
>>
>> On my rmdir, there is even an option: --ignore-fail-on-non-empty
>> If that is generic, you could do:
>> rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d
>
> I'd rather not rely on such a feature on the build host.
>
>>> +endef
>>> +
>>> +NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
>>> +
>>> +$(eval $(call AUTOTARGETS,package,network-manager))
>>
>> Since 2011.11, the extra arguments package,network-manager are no
>> longer needed and should be removed, thus:
>> $(eval $(call AUTOTARGETS))
>
> Ok. Thanks for the review. I'll repost.
>
>
> Daniel
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:52   ` Daniel Mack
  2011-12-02 11:56     ` Thomas De Schampheleire
@ 2011-12-02 11:59     ` Daniel Mack
  1 sibling, 0 replies; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 11:59 UTC (permalink / raw)
  To: buildroot

Even though it's most commonly used on Desktops, this piece of software
also works well on embedded devices.

The package file only resolved mandatory dependencies. Things like
iptables and dnsmasq are only required if 'shared' connections are used,
and have hence not been made hard prerequisites.

There are probably too many i18n related files installed to the target.
That might need some more tweaking.

Signed-off-by: Daniel Mack <zonque@gmail.com>
---
 package/Config.in                          |    1 +
 package/network-manager/Config.in          |   22 +++++++++++++
 package/network-manager/S45network-manager |   46 ++++++++++++++++++++++++++++
 package/network-manager/network-manager.mk |   42 +++++++++++++++++++++++++
 4 files changed, 111 insertions(+), 0 deletions(-)
 create mode 100644 package/network-manager/Config.in
 create mode 100755 package/network-manager/S45network-manager
 create mode 100644 package/network-manager/network-manager.mk

diff --git a/package/Config.in b/package/Config.in
index 4b5e5d8..a781870 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -442,6 +442,7 @@ endif
 source "package/netplug/Config.in"
 source "package/netsnmp/Config.in"
 source "package/netstat-nat/Config.in"
+source "package/network-manager/Config.in"
 source "package/noip/Config.in"
 source "package/nfs-utils/Config.in"
 source "package/ngircd/Config.in"
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
new file mode 100644
index 0000000..c08d417
--- /dev/null
+++ b/package/network-manager/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_NETWORK_MANAGER
+	bool "NetworkManager"
+	depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
+	select BR2_PACKAGE_DBUS_GLIB
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  NetworkManager is a set of co-operative tools that make networking
+	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
+	  NetworkManager allows you to quickly move from one network to
+	  another: once a network has been configured and joined once, it
+	  can be detected and re-joined automatically the next time it's
+	  available.
+
+	  http://projects.gnome.org/NetworkManager/
+
+comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
+	depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
+
diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
new file mode 100755
index 0000000..112aa66
--- /dev/null
+++ b/package/network-manager/S45network-manager
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+PID=`pidof -o %PPID NetworkManager`
+case "$1" in
+	start)
+		echo -n "Starting NetworkManager ... "
+		[ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
+		if [ -z "$PID" ]; then
+			$NETWORKMANAGER_BIN
+		fi
+		if [ ! -z "$PID" -o $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	stop)
+		echo -n "Stopping NetworkManager ... "
+			[ ! -z "$PID" ] && kill $PID &> /dev/null
+		if [ $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+	*)
+		echo "usage: $0 {start|stop|restart|sleep|wake}"
+		;;
+esac
+exit 0
+
+
+
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
new file mode 100644
index 0000000..930c152
--- /dev/null
+++ b/package/network-manager/network-manager.mk
@@ -0,0 +1,42 @@
+#############################################################
+#
+# NetworkManager
+#
+#############################################################
+NETWORK_MANAGER_VERSION = 0.9.2.0
+NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
+NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
+NETWORK_MANAGER_INSTALL_STAGING = YES
+NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
+
+NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
+		--mandir=$(STAGING_DIR)/usr/man/ \
+		--with-dbus-user=dbus \
+		--disable-tests \
+		--disable-more-warnings \
+		--without-docs \
+		--disable-gtk-doc \
+		--disable-asserts \
+		--enable-abstract-sockets \
+		--disable-selinux \
+		--disable-xml-docs \
+		--disable-doxygen-docs \
+		--disable-static \
+		--enable-dnotify \
+		--localstatedir=/var \
+		--with-crypto=gnutls \
+		--with-distro=arch \
+		--disable-ppp \
+		--with-iptables=/usr/sbin/iptables
+
+# The target was built for the archlinux distribution, so we need
+# to move around things after installation
+define NETWORK_MANAGER_INSTALL_INITSCRIPT
+	$(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
+	rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
+	rmdir $(TARGET_DIR)/etc/rc.d || echo ""
+endef
+
+NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
+
+$(eval $(call AUTOTARGETS))
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 11:14 [Buildroot] [PATCH] Add package for Gnome NetworkManager Daniel Mack
  2011-12-02 11:18 ` Daniel Mack
  2011-12-02 11:45 ` Thomas De Schampheleire
@ 2011-12-02 12:00 ` Thomas Petazzoni
  2011-12-02 12:04   ` Daniel Mack
  2 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2011-12-02 12:00 UTC (permalink / raw)
  To: buildroot

Le Fri,  2 Dec 2011 12:14:39 +0100,
Daniel Mack <zonque@gmail.com> a ?crit :

> +	test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""

Isn't rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d a bit
simpler ?

> +$(eval $(call AUTOTARGETS,package,network-manager))

Should just be

$(eval $(call AUTOTARGETS))

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 12:00 ` Thomas Petazzoni
@ 2011-12-02 12:04   ` Daniel Mack
  2011-12-02 12:06     ` Thomas Petazzoni
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 12:04 UTC (permalink / raw)
  To: buildroot

On 12/02/2011 01:00 PM, Thomas Petazzoni wrote:
> Le Fri,  2 Dec 2011 12:14:39 +0100,
> Daniel Mack <zonque@gmail.com> a ?crit :
> 
>> +	test -z "`ls -A $(TARGET_DIR)/etc/rc.d`" && rmdir $(TARGET_DIR)/etc/rc.d || echo ""
> 
> Isn't rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d a bit
> simpler ?

:) See the other thread. I solved it with a rmdir || echo "" for now,
not to rely on the host's mkdir to have that particular feature.

>> +$(eval $(call AUTOTARGETS,package,network-manager))
> 
> Should just be
> 
> $(eval $(call AUTOTARGETS))

Fixed already in the 2nd version I sent.


Thanks,
Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 12:04   ` Daniel Mack
@ 2011-12-02 12:06     ` Thomas Petazzoni
  2011-12-02 12:09       ` Daniel Mack
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2011-12-02 12:06 UTC (permalink / raw)
  To: buildroot

Le Fri, 02 Dec 2011 13:04:01 +0100,
Daniel Mack <zonque@gmail.com> a ?crit :

> :) See the other thread. I solved it with a rmdir || echo "" for now,
> not to rely on the host's mkdir to have that particular feature.

It's already used in quite a few places in Buildroot:

$ git grep ignore-fail-on
package/hwdata/hwdata.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share
package/libglib2/libglib2.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/glib-2.0
package/libglib2/libglib2.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/glib-2.0
package/logrotate/logrotate.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/logrotate.d
package/tinyhttpd/tinyhttpd.mk:	@rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/var/www

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH] Add package for Gnome NetworkManager
  2011-12-02 12:06     ` Thomas Petazzoni
@ 2011-12-02 12:09       ` Daniel Mack
  2011-12-02 12:13         ` [Buildroot] [PATCH v3] " Daniel Mack
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 12:09 UTC (permalink / raw)
  To: buildroot

On 12/02/2011 01:06 PM, Thomas Petazzoni wrote:
> Le Fri, 02 Dec 2011 13:04:01 +0100,
> Daniel Mack <zonque@gmail.com> a ?crit :
> 
>> :) See the other thread. I solved it with a rmdir || echo "" for now,
>> not to rely on the host's mkdir to have that particular feature.
> 
> It's already used in quite a few places in Buildroot:

Ok, then let's do it the same way here.


Daniel

> 
> $ git grep ignore-fail-on
> package/hwdata/hwdata.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share
> package/libglib2/libglib2.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/glib-2.0
> package/libglib2/libglib2.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/glib-2.0
> package/logrotate/logrotate.mk:	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/logrotate.d
> package/tinyhttpd/tinyhttpd.mk:	@rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/var/www
> 
> Regards,
> 
> Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3] Add package for Gnome NetworkManager
  2011-12-02 12:09       ` Daniel Mack
@ 2011-12-02 12:13         ` Daniel Mack
  2012-01-02 13:57           ` Peter Korsgaard
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel Mack @ 2011-12-02 12:13 UTC (permalink / raw)
  To: buildroot

Even though it's most commonly used on desktops, this piece of software
also works well on embedded devices.

The package file only resolved mandatory dependencies. Things like
iptables and dnsmasq are only required if 'shared' connections are used,
and have hence not been made hard prerequisites.

There are probably too many i18n related files installed to the target.
That might need some more tweaking.

Signed-off-by: Daniel Mack <zonque@gmail.com>
---
 package/Config.in                          |    1 +
 package/network-manager/Config.in          |   22 +++++++++++++
 package/network-manager/S45network-manager |   46 ++++++++++++++++++++++++++++
 package/network-manager/network-manager.mk |   42 +++++++++++++++++++++++++
 4 files changed, 111 insertions(+), 0 deletions(-)
 create mode 100644 package/network-manager/Config.in
 create mode 100755 package/network-manager/S45network-manager
 create mode 100644 package/network-manager/network-manager.mk

diff --git a/package/Config.in b/package/Config.in
index 4b5e5d8..a781870 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -442,6 +442,7 @@ endif
 source "package/netplug/Config.in"
 source "package/netsnmp/Config.in"
 source "package/netstat-nat/Config.in"
+source "package/network-manager/Config.in"
 source "package/noip/Config.in"
 source "package/nfs-utils/Config.in"
 source "package/ngircd/Config.in"
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
new file mode 100644
index 0000000..c08d417
--- /dev/null
+++ b/package/network-manager/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_NETWORK_MANAGER
+	bool "NetworkManager"
+	depends on BR2_PACKAGE_DBUS && BR2_PACKAGE_UDEV_ALL_EXTRAS && BR2_PACKAGE_WIRELESS_TOOLS_LIB
+	select BR2_PACKAGE_DBUS_GLIB
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  NetworkManager is a set of co-operative tools that make networking
+	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
+	  NetworkManager allows you to quickly move from one network to
+	  another: once a network has been configured and joined once, it
+	  can be detected and re-joined automatically the next time it's
+	  available.
+
+	  http://projects.gnome.org/NetworkManager/
+
+comment "NetworkManager not available (need DBus, UDEV_ALL_EXTRAS and WIRELESS_TOOLS_LIB)"
+	depends on !BR2_PACKAGE_DBUS || !BR2_PACKAGE_UDEV_ALL_EXTRAS || !BR2_PACKAGE_WIRELESS_TOOLS_LIB
+
diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager
new file mode 100755
index 0000000..112aa66
--- /dev/null
+++ b/package/network-manager/S45network-manager
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+PID=`pidof -o %PPID NetworkManager`
+case "$1" in
+	start)
+		echo -n "Starting NetworkManager ... "
+		[ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
+		if [ -z "$PID" ]; then
+			$NETWORKMANAGER_BIN
+		fi
+		if [ ! -z "$PID" -o $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	stop)
+		echo -n "Stopping NetworkManager ... "
+			[ ! -z "$PID" ] && kill $PID &> /dev/null
+		if [ $? -gt 0 ]; then
+			echo "failed!"
+		else
+			echo "done."
+		fi
+		;;
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+	*)
+		echo "usage: $0 {start|stop|restart|sleep|wake}"
+		;;
+esac
+exit 0
+
+
+
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
new file mode 100644
index 0000000..3aabb4b
--- /dev/null
+++ b/package/network-manager/network-manager.mk
@@ -0,0 +1,42 @@
+#############################################################
+#
+# NetworkManager
+#
+#############################################################
+NETWORK_MANAGER_VERSION = 0.9.2.0
+NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2
+NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/
+NETWORK_MANAGER_INSTALL_STAGING = YES
+NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux
+
+NETWORK_MANAGER_CONF_OPT = --program-prefix="" \
+		--mandir=$(STAGING_DIR)/usr/man/ \
+		--with-dbus-user=dbus \
+		--disable-tests \
+		--disable-more-warnings \
+		--without-docs \
+		--disable-gtk-doc \
+		--disable-asserts \
+		--enable-abstract-sockets \
+		--disable-selinux \
+		--disable-xml-docs \
+		--disable-doxygen-docs \
+		--disable-static \
+		--enable-dnotify \
+		--localstatedir=/var \
+		--with-crypto=gnutls \
+		--with-distro=arch \
+		--disable-ppp \
+		--with-iptables=/usr/sbin/iptables
+
+# The target was built for the archlinux distribution, so we need
+# to move around things after installation
+define NETWORK_MANAGER_INSTALL_INITSCRIPT
+	$(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
+	rm -f $(TARGET_DIR)/etc/rc.d/networkmanager
+	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d
+endef
+
+NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT
+
+$(eval $(call AUTOTARGETS))
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3] Add package for Gnome NetworkManager
  2011-12-02 12:13         ` [Buildroot] [PATCH v3] " Daniel Mack
@ 2012-01-02 13:57           ` Peter Korsgaard
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2012-01-02 13:57 UTC (permalink / raw)
  To: buildroot

>>>>> "Daniel" == Daniel Mack <zonque@gmail.com> writes:

 Daniel> Even though it's most commonly used on desktops, this piece of software
 Daniel> also works well on embedded devices.

 Daniel> The package file only resolved mandatory dependencies. Things like
 Daniel> iptables and dnsmasq are only required if 'shared' connections are used,
 Daniel> and have hence not been made hard prerequisites.

 Daniel> There are probably too many i18n related files installed to the target.
 Daniel> That might need some more tweaking.

Committed with some modifications, thanks.

uClibc doesn't have backtrace support by default, so we need to build
with --disable-crashtrace, and a patch was needed (sent upstream) to
ensure execinfo.h wasn't used in that config. It furthermore depends on
IPv6 support in toolchain, and ended up using the host libgcrypt-config
if available.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-01-02 13:57 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-02 11:14 [Buildroot] [PATCH] Add package for Gnome NetworkManager Daniel Mack
2011-12-02 11:18 ` Daniel Mack
2011-12-02 11:45 ` Thomas De Schampheleire
2011-12-02 11:52   ` Daniel Mack
2011-12-02 11:56     ` Thomas De Schampheleire
2011-12-02 11:59     ` Daniel Mack
2011-12-02 12:00 ` Thomas Petazzoni
2011-12-02 12:04   ` Daniel Mack
2011-12-02 12:06     ` Thomas Petazzoni
2011-12-02 12:09       ` Daniel Mack
2011-12-02 12:13         ` [Buildroot] [PATCH v3] " Daniel Mack
2012-01-02 13:57           ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.