Message ID | 20220823163809.17214-1-f_l_k@t-online.de |
---|---|
State | Accepted, archived |
Commit | 4528cb220e5365f1f4a0a50122e14480ede65130 |
Headers | show |
Series | connman: add PACKAGECONFIG to support iwd | expand |
Hello Markus, On Tue, 23 Aug 2022 18:38:09 +0200 "Markus Volk" <f_l_k@t-online.de> wrote: > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > meta/recipes-connectivity/connman/connman.inc | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc > index 5880ecd5d4..d73a2a734f 100644 > --- a/meta/recipes-connectivity/connman/connman.inc > +++ b/meta/recipes-connectivity/connman/connman.inc > @@ -28,10 +28,15 @@ EXTRA_OECONF += "\ > --enable-tools \ > --disable-polkit \ > " > +# 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" > > PACKAGECONFIG ??= "wispr iptables client\ > - ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd wifi', d)} \ > + ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd', d)} \ > ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ > + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \ > " > > # If you want ConnMan to support VPN, add following statement into > @@ -39,9 +44,11 @@ PACKAGECONFIG ??= "wispr iptables client\ > # PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp" > > PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''" > -PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant" > +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[iwd] = "--enable-iwd,--disable-iwd,,,iwd" I would think iwd should be an rdepends, not an rrecommends. Any reson for that? Or is it just an unintended extra ','?
Hello Luca, Am Mi, 24. Aug 2022 um 10:54:40 +0200 schrieb Luca Ceresoli <luca.ceresoli@bootlin.com>: > I would think iwd should be an rdepends, not an rrecommends. Any reson > for that? Or is it just an unintended extra ','? Only reason for this was the fact, that iwd is not in oe-core so it felt wrong somehow to set it RDEPEND
Hello Markus, On Wed, 24 Aug 2022 10:56:54 +0200 "Markus Volk" <f_l_k@t-online.de> wrote: > Hello Luca, > > Am Mi, 24. Aug 2022 um 10:54:40 +0200 schrieb Luca Ceresoli > <luca.ceresoli@bootlin.com>: > > I would think iwd should be an rdepends, not an rrecommends. Any reson > > for that? Or is it just an unintended extra ','? > > Only reason for this was the fact, that iwd is not in oe-core so it > felt wrong somehow to set it RDEPEND I see, that's fine, but I wonder whether this should be clarified in a comment. I'll be taking the patch for testing as is anyway.
Hi all, On 8/24/22 11:51, Luca Ceresoli via lists.openembedded.org wrote: > Hello Markus, > > On Wed, 24 Aug 2022 10:56:54 +0200 > "Markus Volk" <f_l_k@t-online.de> wrote: > >> Hello Luca, >> >> Am Mi, 24. Aug 2022 um 10:54:40 +0200 schrieb Luca Ceresoli >> <luca.ceresoli@bootlin.com>: >>> I would think iwd should be an rdepends, not an rrecommends. Any reson >>> for that? Or is it just an unintended extra ','? >> >> Only reason for this was the fact, that iwd is not in oe-core so it >> felt wrong somehow to set it RDEPEND > > I see, that's fine, but I wonder whether this should be clarified in a > comment. I'll be taking the patch for testing as is anyway. > IIRC the policy is to have a default configuration working. It is fine to have PACKAGECONFIG options with dependencies on recipes/packages not in the same layer. Here, if someone builds with NO_RECOMMENDATIONS to have a minimal setup but have iwd as WIRELESS_DAEMON, connman won't work because the package won't be added to the image, it'll be a bit harder to debug than a build failing because iwd recipe could not be found (especially since I also didn't notice the additional comma). Cheers, Quentin
thats true. I'll add it as runtime dependency then Am Mi, 24. Aug 2022 um 14:09:52 +0200 schrieb Quentin Schulz <quentin.schulz@theobroma-systems.com>: > Hi all, > > On 8/24/22 11:51, Luca Ceresoli via lists.openembedded.org wrote: >> Hello Markus, >> >> On Wed, 24 Aug 2022 10:56:54 +0200 >> "Markus Volk" <f_l_k@t-online.de <mailto:f_l_k@t-online.de>> wrote: >> >>> Hello Luca, >>> >>> Am Mi, 24. Aug 2022 um 10:54:40 +0200 schrieb Luca Ceresoli >>> <luca.ceresoli@bootlin.com <mailto:luca.ceresoli@bootlin.com>>: >>>> I would think iwd should be an rdepends, not an rrecommends. Any >>>> reson >>>> for that? Or is it just an unintended extra ','? >>> >>> Only reason for this was the fact, that iwd is not in oe-core so it >>> felt wrong somehow to set it RDEPEND >> >> I see, that's fine, but I wonder whether this should be clarified in >> a >> comment. I'll be taking the patch for testing as is anyway. >> > > IIRC the policy is to have a default configuration working. It is > fine to have PACKAGECONFIG options with dependencies on > recipes/packages not in the same layer. > > Here, if someone builds with NO_RECOMMENDATIONS to have a minimal > setup but have iwd as WIRELESS_DAEMON, connman won't work because the > package won't be added to the image, it'll be a bit harder to debug > than a build failing because iwd recipe could not be found > (especially since I also didn't notice the additional comma). > > Cheers, > Quentin > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#169809): > <https://lists.openembedded.org/g/openembedded-core/message/169809> > Mute This Topic: <https://lists.openembedded.org/mt/93208331/3618223> > Group Owner: openembedded-core+owner@lists.openembedded.org > <mailto:openembedded-core+owner@lists.openembedded.org> > Unsubscribe: > <https://lists.openembedded.org/g/openembedded-core/unsub> > [f_l_k@t-online.de <mailto:f_l_k@t-online.de>] > -=-=-=-=-=-=-=-=-=-=-=- >
On 24 Aug 2022, at 13:09, Quentin Schulz via lists.openembedded.org <quentin.schulz=theobroma-systems.com@lists.openembedded.org> wrote: > > Hi all, > > On 8/24/22 11:51, Luca Ceresoli via lists.openembedded.org wrote: >> Hello Markus, >> On Wed, 24 Aug 2022 10:56:54 +0200 >> "Markus Volk" <f_l_k@t-online.de> wrote: >>> Hello Luca, >>> >>> Am Mi, 24. Aug 2022 um 10:54:40 +0200 schrieb Luca Ceresoli >>> <luca.ceresoli@bootlin.com>: >>>> I would think iwd should be an rdepends, not an rrecommends. Any reson >>>> for that? Or is it just an unintended extra ','? >>> >>> Only reason for this was the fact, that iwd is not in oe-core so it >>> felt wrong somehow to set it RDEPEND >> I see, that's fine, but I wonder whether this should be clarified in a >> comment. I'll be taking the patch for testing as is anyway. > > IIRC the policy is to have a default configuration working. It is fine to have PACKAGECONFIG options with dependencies on recipes/packages not in the same layer. > > Here, if someone builds with NO_RECOMMENDATIONS to have a minimal setup but have iwd as WIRELESS_DAEMON, connman won't work because the package won't be added to the image, it'll be a bit harder to debug than a build failing because iwd recipe could not be found (especially since I also didn't notice the additional comma). Even worse: I can enable iwd in connman without meta-oe. As there’s no DEPENDS it will build find, the recommendation won’t pull in anything, but connman doesn’t work. Enabling IWD must RDEPEND on iwd. Ross
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc index 5880ecd5d4..d73a2a734f 100644 --- a/meta/recipes-connectivity/connman/connman.inc +++ b/meta/recipes-connectivity/connman/connman.inc @@ -28,10 +28,15 @@ EXTRA_OECONF += "\ --enable-tools \ --disable-polkit \ " +# 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" PACKAGECONFIG ??= "wispr iptables client\ - ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd wifi', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \ " # If you want ConnMan to support VPN, add following statement into @@ -39,9 +44,11 @@ PACKAGECONFIG ??= "wispr iptables client\ # PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp" PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''" -PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant" +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[iwd] = "--enable-iwd,--disable-iwd,,,iwd" PACKAGECONFIG[tist] = "--enable-tist,--disable-tist," PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn" PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
Signed-off-by: Markus Volk <f_l_k@t-online.de> --- meta/recipes-connectivity/connman/connman.inc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)