Patchwork [RFC/RFT] busybox: Make busybox connman aware

login
register
mail settings
Submitter Saul Wold
Date Aug. 5, 2014, 2:03 a.m.
Message ID <1407204209-12879-1-git-send-email-sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/77267/
State Accepted
Commit a40db96621fdbc36889a53279aa8840513444a76
Headers show

Comments

Saul Wold - Aug. 5, 2014, 2:03 a.m.
This change makes busybox aware of both connman and the standard dhcp
client, while there is a caveat about using busybox's ifup/ifdown, this
change will make the 3 possibly dhcp clients behave better when busybox
is used.

Enable the CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP feature to busybox will
search for various external clients and then add connman as an external
client.

[YOCTO #6521]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/recipes-core/busybox/busybox/defconfig               |  2 +-
 .../recipes-core/busybox/busybox/recognize_connmand.patch | 15 +++++++++++++++
 meta/recipes-core/busybox/busybox_1.22.1.bb               |  1 +
 3 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/busybox/busybox/recognize_connmand.patch
Saul Wold - Aug. 5, 2014, 2:16 a.m.
On 08/04/2014 07:03 PM, Saul Wold wrote:
> This change makes busybox aware of both connman and the standard dhcp
> client, while there is a caveat about using busybox's ifup/ifdown, this
> change will make the 3 possibly dhcp clients behave better when busybox
> is used.
>
> Enable the CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP feature to busybox will
> search for various external clients and then add connman as an external
> client.
>
> [YOCTO #6521]
>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>   meta/recipes-core/busybox/busybox/defconfig               |  2 +-
>   .../recipes-core/busybox/busybox/recognize_connmand.patch | 15 +++++++++++++++
>   meta/recipes-core/busybox/busybox_1.22.1.bb               |  1 +
>   3 files changed, 17 insertions(+), 1 deletion(-)
>   create mode 100644 meta/recipes-core/busybox/busybox/recognize_connmand.patch
>
> diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
> index 0107231..35f1026 100644
> --- a/meta/recipes-core/busybox/busybox/defconfig
> +++ b/meta/recipes-core/busybox/busybox/defconfig
> @@ -781,7 +781,7 @@ CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
>   CONFIG_FEATURE_IFUPDOWN_IPV4=y
>   CONFIG_FEATURE_IFUPDOWN_IPV6=y
>   CONFIG_FEATURE_IFUPDOWN_MAPPING=y
> -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
> +CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
>   # CONFIG_INETD is not set
>   # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
>   # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
> diff --git a/meta/recipes-core/busybox/busybox/recognize_connmand.patch b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
> new file mode 100644
> index 0000000..495bb05
> --- /dev/null
> +++ b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
> @@ -0,0 +1,15 @@

There will be a V2 with the Signed-off-by and Upstream-Status tags!!

This is an RFC after all!

Sau!

> +Index: busybox-1.22.1/networking/ifupdown.c
> +===================================================================
> +--- busybox-1.22.1.orig/networking/ifupdown.c
> ++++ busybox-1.22.1/networking/ifupdown.c
> +@@ -521,6 +521,10 @@ struct dhcp_client_t {
> + };
> +
> + static const struct dhcp_client_t ext_dhcp_clients[] = {
> ++	{ "connmand",
> ++		"true",
> ++		"true",
> ++	},
> + 	{ "dhcpcd",
> + 		"dhcpcd[[ -h %hostname%]][[ -i %vendor%]][[ -I %client%]][[ -l %leasetime%]] %iface%",
> + 		"dhcpcd -k %iface%",
> diff --git a/meta/recipes-core/busybox/busybox_1.22.1.bb b/meta/recipes-core/busybox/busybox_1.22.1.bb
> index 46641e1..edee4a9 100644
> --- a/meta/recipes-core/busybox/busybox_1.22.1.bb
> +++ b/meta/recipes-core/busybox/busybox_1.22.1.bb
> @@ -30,6 +30,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
>              file://inetd \
>              file://login-utilities.cfg \
>              file://0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch \
> +           file://recognize_connmand.patch \
>   "
>
>   SRC_URI[tarball.md5sum] = "337d1a15ab1cb1d4ed423168b1eb7d7e"
>

Patch

diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
index 0107231..35f1026 100644
--- a/meta/recipes-core/busybox/busybox/defconfig
+++ b/meta/recipes-core/busybox/busybox/defconfig
@@ -781,7 +781,7 @@  CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
 CONFIG_FEATURE_IFUPDOWN_IPV4=y
 CONFIG_FEATURE_IFUPDOWN_IPV6=y
 CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
 # CONFIG_INETD is not set
 # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
 # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
diff --git a/meta/recipes-core/busybox/busybox/recognize_connmand.patch b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
new file mode 100644
index 0000000..495bb05
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
@@ -0,0 +1,15 @@ 
+Index: busybox-1.22.1/networking/ifupdown.c
+===================================================================
+--- busybox-1.22.1.orig/networking/ifupdown.c
++++ busybox-1.22.1/networking/ifupdown.c
+@@ -521,6 +521,10 @@ struct dhcp_client_t {
+ };
+ 
+ static const struct dhcp_client_t ext_dhcp_clients[] = {
++	{ "connmand",
++		"true",
++		"true",
++	},
+ 	{ "dhcpcd",
+ 		"dhcpcd[[ -h %hostname%]][[ -i %vendor%]][[ -I %client%]][[ -l %leasetime%]] %iface%",
+ 		"dhcpcd -k %iface%",
diff --git a/meta/recipes-core/busybox/busybox_1.22.1.bb b/meta/recipes-core/busybox/busybox_1.22.1.bb
index 46641e1..edee4a9 100644
--- a/meta/recipes-core/busybox/busybox_1.22.1.bb
+++ b/meta/recipes-core/busybox/busybox_1.22.1.bb
@@ -30,6 +30,7 @@  SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://inetd \
            file://login-utilities.cfg \
            file://0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch \
+           file://recognize_connmand.patch \
 "
 
 SRC_URI[tarball.md5sum] = "337d1a15ab1cb1d4ed423168b1eb7d7e"