diff mbox series

packagegroup-base.bb: add a configure option to set the wireless-daemon

Message ID 20220830051108.86092-1-f_l_k@t-online.de
State Accepted, archived
Commit c54f3847349173ed3a8e77a5c2732e1bbcddd540
Headers show
Series packagegroup-base.bb: add a configure option to set the wireless-daemon | expand

Commit Message

Markus Volk Aug. 30, 2022, 5:11 a.m. UTC
Possible options would be wpa-supplicant or iwd.

iwd is a wireless daemon written by intel and supported by all major network managers.
It can be run in standalone mode and configured with 'iwctl' from the terminal, and
with 'iwgtk' or 'iwdgui' from the gui. It can also work as a wpa_supplicant drop-in
replacement for network-manager, connman or systemd-networkd.

iwd makes heavy use of the kernel api, so it is not portable but does not need
additional external libraries like openssl.

The PACKAGECONFIG name for wpa-supplicant in the connman recipe is changed accordingly,
so that it also works there when WIRELESS_DAEMON is set globally.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 meta/recipes-connectivity/connman/connman.inc        | 4 ++--
 meta/recipes-core/packagegroups/packagegroup-base.bb | 5 ++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Alexandre Belloni Aug. 30, 2022, 8:56 a.m. UTC | #1
On 30/08/2022 07:11:08+0200, Markus Volk wrote:
> Possible options would be wpa-supplicant or iwd.
> 
> iwd is a wireless daemon written by intel and supported by all major network managers.
> It can be run in standalone mode and configured with 'iwctl' from the terminal, and
> with 'iwgtk' or 'iwdgui' from the gui. It can also work as a wpa_supplicant drop-in
> replacement for network-manager, connman or systemd-networkd.
> 
> iwd makes heavy use of the kernel api, so it is not portable but does not need
> additional external libraries like openssl.
> 
> The PACKAGECONFIG name for wpa-supplicant in the connman recipe is changed accordingly,
> so that it also works there when WIRELESS_DAEMON is set globally.

Doesn't that break existing layers and bbappends?

> 
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  meta/recipes-connectivity/connman/connman.inc        | 4 ++--
>  meta/recipes-core/packagegroups/packagegroup-base.bb | 5 ++++-
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
> index 9a518cdb2b..ea6cfd34a2 100644
> --- a/meta/recipes-connectivity/connman/connman.inc
> +++ b/meta/recipes-connectivity/connman/connman.inc
> @@ -31,7 +31,7 @@ EXTRA_OECONF += "\
>  # For smooth operation it would be best to start only one wireless daemon at a time.
>  # If wpa_supplicant is running, connman will use it preferentially.
>  # Select either wpa_supplicant or iwd
> -WIRELESS_DAEMON ??= "wpa_supplicant"
> +WIRELESS_DAEMON ??= "wpa-supplicant"
>  
>  PACKAGECONFIG ??= "wispr iptables client\
>                     ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd', d)} \
> @@ -47,7 +47,7 @@ PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --wit
>  PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi"
>  PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
>  PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
> -PACKAGECONFIG[wpa_supplicant] = ",,wpa-supplicant,wpa-supplicant"
> +PACKAGECONFIG[wpa-supplicant] = ",,wpa-supplicant,wpa-supplicant"
>  PACKAGECONFIG[iwd] = "--enable-iwd,--disable-iwd,,iwd"
>  PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
>  PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
> diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
> index 7489ef61b0..d60e177471 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> @@ -267,11 +267,14 @@ RRECOMMENDS:packagegroup-base-ipsec = "\
>  # packagegroup-base-wifi contain everything needed to get WiFi working
>  # WEP/WPA connection needs to be supported out-of-box
>  #
> +# Choose either 'wpa-supplicant' or 'iwd' as wireless-daemon
> +WIRELESS_DAEMON ??= "wpa-supplicant"
>  SUMMARY:packagegroup-base-wifi = "WiFi support"
>  RDEPENDS:packagegroup-base-wifi = "\
>      iw \
>      wireless-regdb-static \
> -    wpa-supplicant"
> +    ${WIRELESS_DAEMON} \
> +"
>  
>  RRECOMMENDS:packagegroup-base-wifi = "\
>      ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#170064): https://lists.openembedded.org/g/openembedded-core/message/170064
> Mute This Topic: https://lists.openembedded.org/mt/93343323/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Aug. 30, 2022, 11:24 a.m. UTC | #2
Am Di, 30. Aug 2022 um 10:56:08 +0200 schrieb Alexandre Belloni 
<alexandre.belloni@bootlin.com>:
> Doesn't that break existing layers and bbappends?

Since the WIRELESS_DAEMON option in connman has only existed for a few 
days, I don't think there are already layers that depend on it. 
Previously wpa-supplicant was automatically preset in connman.
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
index 9a518cdb2b..ea6cfd34a2 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -31,7 +31,7 @@  EXTRA_OECONF += "\
 # For smooth operation it would be best to start only one wireless daemon at a time.
 # If wpa_supplicant is running, connman will use it preferentially.
 # Select either wpa_supplicant or iwd
-WIRELESS_DAEMON ??= "wpa_supplicant"
+WIRELESS_DAEMON ??= "wpa-supplicant"
 
 PACKAGECONFIG ??= "wispr iptables client\
                    ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd', d)} \
@@ -47,7 +47,7 @@  PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --wit
 PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi"
 PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
 PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
-PACKAGECONFIG[wpa_supplicant] = ",,wpa-supplicant,wpa-supplicant"
+PACKAGECONFIG[wpa-supplicant] = ",,wpa-supplicant,wpa-supplicant"
 PACKAGECONFIG[iwd] = "--enable-iwd,--disable-iwd,,iwd"
 PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
 PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index 7489ef61b0..d60e177471 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -267,11 +267,14 @@  RRECOMMENDS:packagegroup-base-ipsec = "\
 # packagegroup-base-wifi contain everything needed to get WiFi working
 # WEP/WPA connection needs to be supported out-of-box
 #
+# Choose either 'wpa-supplicant' or 'iwd' as wireless-daemon
+WIRELESS_DAEMON ??= "wpa-supplicant"
 SUMMARY:packagegroup-base-wifi = "WiFi support"
 RDEPENDS:packagegroup-base-wifi = "\
     iw \
     wireless-regdb-static \
-    wpa-supplicant"
+    ${WIRELESS_DAEMON} \
+"
 
 RRECOMMENDS:packagegroup-base-wifi = "\
     ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \