Message ID | 20250402-connman-v1-4-2e4fbbb7caf9@gmail.com |
---|---|
State | New |
Headers | show |
Series | connman: Update for all PACKAGECONFIG options, clean up legacy | expand |
On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote: > Add all missing build options as PACKAGECONFIG items. Add CONNMAN_FIREWALL to > select iptables or nftables (one is required). > > Set dns-backend automatically based on systemd-resolved in DISTRO_FEATURES, > then drop "connman.service: stop systemd-resolved when we use connman" as we > now use connman's systemd-resolved support. > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > --- > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ------- > meta/recipes-connectivity/connman/connman_1.44.bb | 85 +++++++++++++--------- > 2 files changed, 50 insertions(+), 61 deletions(-) > > diff --git a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch > deleted file mode 100644 > index 4597fe68fcdf6f301247747c52b1d4636ebec631..0000000000000000000000000000000000000000 > --- a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch > +++ /dev/null > @@ -1,26 +0,0 @@ > -From 19aff57e4da920d9ca972903582305b4efe81ef3 Mon Sep 17 00:00:00 2001 > -From: "Maxin B. John" <maxin.john@intel.com> > -Date: Mon, 12 Jun 2017 16:52:39 +0300 > -Subject: [PATCH] connman.service: stop systemd-resolved when we use connman > - > -Stop systemd-resolved service when we use connman as network manager. > - > -Upstream-Status: Inappropriate [configuration] > - > -Signed-off-by: Maxin B. John <maxin.john@intel.com> > ---- > - src/connman.service.in | 1 + > - 1 file changed, 1 insertion(+) > - > -diff --git a/src/connman.service.in b/src/connman.service.in > -index 7376346..79e75d6 100644 > ---- a/src/connman.service.in > -+++ b/src/connman.service.in > -@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman > - After=dbus.service network-pre.target systemd-sysusers.service > - Before=network.target multi-user.target shutdown.target > - Wants=network.target > -+Conflicts=systemd-resolved.service > - > - [Service] > - Type=dbus > diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb > index aa9da070dec1b4aac02019ae9c3158256b534c61..2622a8ebfed0ceec7ac39fcf3ffad76291de5797 100644 > --- a/meta/recipes-connectivity/connman/connman_1.44.bb > +++ b/meta/recipes-connectivity/connman/connman_1.44.bb > @@ -12,65 +12,79 @@ LICENSE = "GPL-2.0-only" > LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ > file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36" > > -inherit autotools pkgconfig systemd update-rc.d update-alternatives > - > CVE_PRODUCT = "connman connection_manager" > > DEPENDS = "dbus glib-2.0" > > SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ > - file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ > file://connman \ > file://0002-resolve-musl-does-not-implement-res_ninit.patch \ > - " > +" > > SRC_URI[sha256sum] = "2be2b00321632b775f9eff713acd04ef21e31fbf388f6ebf45512ff4289574ff" > > +inherit autotools pkgconfig systemd update-rc.d update-alternatives > + > +RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'wifi', '${WIRELESS_DAEMON}', '', d)}" > RRECOMMENDS:${PN} = "connman-conf" > -RCONFLICTS:${PN} = "networkmanager" > > EXTRA_OECONF += "\ > - ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ > - ac_cv_path_PPPD=${sbindir}/pppd \ > - --enable-debug \ > - --enable-loopback \ > - --enable-ethernet \ > + --enable-datafiles \ > --enable-tools \ > - --disable-polkit \ > - --runstatedir=/run \ > + --runstatedir='${runtimedir}' \ > + --with-dns-backend='${@bb.utils.contains("DISTRO_FEATURES", "systemd-resolved", "systemd-resolved", "internal", d)}' \ > + ac_cv_path_IP6TABLES_SAVE=${sbindir}/ip6tables-save \ > + ac_cv_path_IPTABLES_SAVE=${sbindir}/iptables-save \ > + ac_cv_path_PPPD=${sbindir}/pppd \ > + ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ > " > + > # 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', d)} \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \ > +# Choose "iptables" or "nftables" > +CONNMAN_FIREWALL ??= "iptables" > + > +# Default is 16kB > +CONNMAN_STATS_MAX_FILE_SIZE = "16384" > + > +PACKAGECONFIG ??= "client ethernet loopback wispr ${CONNMAN_FIREWALL} \ > + ${@bb.utils.filter('DISTRO_FEATURES', '3g bluetooth nfc polkit selinux systemd usbgadget wifi', d)} \ > + ${@bb.utils.filter('WIRELESS_DAEMON', 'iwd', d)} \ > " > > -# If you want ConnMan to support VPN, add following statement into > -# local.conf or distro config > -# 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" > -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" > +PACKAGECONFIG[3g] = "--enable-ofono,--disable-ofono,ofono" > +PACKAGECONFIG[bluetooth] = "--enable-bluetooth,--disable-bluetooth,bluez5,bluez5" > +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" > +PACKAGECONFIG[dundee] = "--enable-dundee,--disable-dundee" > +PACKAGECONFIG[ethernet] = "--enable-ethernet,--disable-ethernet" > +PACKAGECONFIG[hh2serial-gps] = "--enable-hh2serial-gps,--disable-hh2serial-gps" > +PACKAGECONFIG[iospm] = "--enable-iospm,--disable-iospm" > +PACKAGECONFIG[iptables] = ",,iptables,iptables,nftables" Typo above which adds nftables to the build and breaks it since nftables isn't in core. Cheers, Richard
On Wed, Apr 2, 2025 at 8:41 PM Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote: > > Add all missing build options as PACKAGECONFIG items. Add CONNMAN_FIREWALL to > > select iptables or nftables (one is required). > > > > Set dns-backend automatically based on systemd-resolved in DISTRO_FEATURES, > > then drop "connman.service: stop systemd-resolved when we use connman" as we > > now use connman's systemd-resolved support. > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > > --- > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ------- > > meta/recipes-connectivity/connman/connman_1.44.bb | 85 +++++++++++++--------- > > 2 files changed, 50 insertions(+), 61 deletions(-) > > > > diff --git a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch > > deleted file mode 100644 > > index 4597fe68fcdf6f301247747c52b1d4636ebec631..0000000000000000000000000000000000000000 > > --- a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch > > +++ /dev/null > > @@ -1,26 +0,0 @@ > > -From 19aff57e4da920d9ca972903582305b4efe81ef3 Mon Sep 17 00:00:00 2001 > > -From: "Maxin B. John" <maxin.john@intel.com> > > -Date: Mon, 12 Jun 2017 16:52:39 +0300 > > -Subject: [PATCH] connman.service: stop systemd-resolved when we use connman > > - > > -Stop systemd-resolved service when we use connman as network manager. > > - > > -Upstream-Status: Inappropriate [configuration] > > - > > -Signed-off-by: Maxin B. John <maxin.john@intel.com> > > ---- > > - src/connman.service.in | 1 + > > - 1 file changed, 1 insertion(+) > > - > > -diff --git a/src/connman.service.in b/src/connman.service.in > > -index 7376346..79e75d6 100644 > > ---- a/src/connman.service.in > > -+++ b/src/connman.service.in > > -@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman > > - After=dbus.service network-pre.target systemd-sysusers.service > > - Before=network.target multi-user.target shutdown.target > > - Wants=network.target > > -+Conflicts=systemd-resolved.service > > - > > - [Service] > > - Type=dbus > > diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb > > index aa9da070dec1b4aac02019ae9c3158256b534c61..2622a8ebfed0ceec7ac39fcf3ffad76291de5797 100644 > > --- a/meta/recipes-connectivity/connman/connman_1.44.bb > > +++ b/meta/recipes-connectivity/connman/connman_1.44.bb > > @@ -12,65 +12,79 @@ LICENSE = "GPL-2.0-only" > > LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ > > file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36" > > > > -inherit autotools pkgconfig systemd update-rc.d update-alternatives > > - > > CVE_PRODUCT = "connman connection_manager" > > > > DEPENDS = "dbus glib-2.0" > > > > SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ > > - file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ > > file://connman \ > > file://0002-resolve-musl-does-not-implement-res_ninit.patch \ > > - " > > +" > > > > SRC_URI[sha256sum] = "2be2b00321632b775f9eff713acd04ef21e31fbf388f6ebf45512ff4289574ff" > > > > +inherit autotools pkgconfig systemd update-rc.d update-alternatives > > + > > +RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'wifi', '${WIRELESS_DAEMON}', '', d)}" > > RRECOMMENDS:${PN} = "connman-conf" > > -RCONFLICTS:${PN} = "networkmanager" > > > > EXTRA_OECONF += "\ > > - ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ > > - ac_cv_path_PPPD=${sbindir}/pppd \ > > - --enable-debug \ > > - --enable-loopback \ > > - --enable-ethernet \ > > + --enable-datafiles \ > > --enable-tools \ > > - --disable-polkit \ > > - --runstatedir=/run \ > > + --runstatedir='${runtimedir}' \ > > + --with-dns-backend='${@bb.utils.contains("DISTRO_FEATURES", "systemd-resolved", "systemd-resolved", "internal", d)}' \ > > + ac_cv_path_IP6TABLES_SAVE=${sbindir}/ip6tables-save \ > > + ac_cv_path_IPTABLES_SAVE=${sbindir}/iptables-save \ > > + ac_cv_path_PPPD=${sbindir}/pppd \ > > + ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ > > " > > + > > # 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', d)} \ > > - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ > > - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \ > > +# Choose "iptables" or "nftables" > > +CONNMAN_FIREWALL ??= "iptables" > > + > > +# Default is 16kB > > +CONNMAN_STATS_MAX_FILE_SIZE = "16384" > > + > > +PACKAGECONFIG ??= "client ethernet loopback wispr ${CONNMAN_FIREWALL} \ > > + ${@bb.utils.filter('DISTRO_FEATURES', '3g bluetooth nfc polkit selinux systemd usbgadget wifi', d)} \ > > + ${@bb.utils.filter('WIRELESS_DAEMON', 'iwd', d)} \ > > " > > > > -# If you want ConnMan to support VPN, add following statement into > > -# local.conf or distro config > > -# 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" > > -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" > > +PACKAGECONFIG[3g] = "--enable-ofono,--disable-ofono,ofono" > > +PACKAGECONFIG[bluetooth] = "--enable-bluetooth,--disable-bluetooth,bluez5,bluez5" > > +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" > > +PACKAGECONFIG[dundee] = "--enable-dundee,--disable-dundee" > > +PACKAGECONFIG[ethernet] = "--enable-ethernet,--disable-ethernet" > > +PACKAGECONFIG[hh2serial-gps] = "--enable-hh2serial-gps,--disable-hh2serial-gps" > > +PACKAGECONFIG[iospm] = "--enable-iospm,--disable-iospm" > > +PACKAGECONFIG[iptables] = ",,iptables,iptables,nftables" > > Typo above which adds nftables to the build and breaks it since > nftables isn't in core. > Argh... thank you. Of course I generated almost the entire list from sed/awk across the configure.ac (and then walked through the deps), but not iptables/nftables :| Will get an update out in the morning.
On 2 Apr 2025, at 21:08, Alex Kiernan via lists.openembedded.org <alex.kiernan=gmail.com@lists.openembedded.org> wrote: > Argh... thank you. Of course I generated almost the entire list from > sed/awk across the configure.ac (and then walked through the deps), > but not iptables/nftables :| Will get an update out in the morning. This answers a question I was going to ask. Each option we expose is another combination that is ideally tested, but is explicitly supported. Do we really need to expose _every_ option that connman has? I much prefer exposing a limited set of options that make sense, over flooding the recipe with every option possible. Ross
On Fri, 4 Apr 2025 at 14:03, Ross Burton via lists.openembedded.org
<ross.burton=arm.com@lists.openembedded.org> wrote:
> Each option we expose is another combination that is ideally tested, but is explicitly supported. Do we really need to expose _every_ option that connman has? I much prefer exposing a limited set of options that make sense, over flooding the recipe with every option possible.
I'd add that exposing some option should also come with an explicit
decision/explanation of enabling it (or not), for example by saying
'this is the upstream default'. Otherwise, it may deviate from those
upstream defaults, which are usually sensible and serve common uses.
One exception is when the default is 'floating' auto-detection, then
an explicitly set option is a must.
Alex
diff --git a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch deleted file mode 100644 index 4597fe68fcdf6f301247747c52b1d4636ebec631..0000000000000000000000000000000000000000 --- a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 19aff57e4da920d9ca972903582305b4efe81ef3 Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" <maxin.john@intel.com> -Date: Mon, 12 Jun 2017 16:52:39 +0300 -Subject: [PATCH] connman.service: stop systemd-resolved when we use connman - -Stop systemd-resolved service when we use connman as network manager. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - src/connman.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/connman.service.in b/src/connman.service.in -index 7376346..79e75d6 100644 ---- a/src/connman.service.in -+++ b/src/connman.service.in -@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman - After=dbus.service network-pre.target systemd-sysusers.service - Before=network.target multi-user.target shutdown.target - Wants=network.target -+Conflicts=systemd-resolved.service - - [Service] - Type=dbus diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb index aa9da070dec1b4aac02019ae9c3158256b534c61..2622a8ebfed0ceec7ac39fcf3ffad76291de5797 100644 --- a/meta/recipes-connectivity/connman/connman_1.44.bb +++ b/meta/recipes-connectivity/connman/connman_1.44.bb @@ -12,65 +12,79 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36" -inherit autotools pkgconfig systemd update-rc.d update-alternatives - CVE_PRODUCT = "connman connection_manager" DEPENDS = "dbus glib-2.0" SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ - file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ file://connman \ file://0002-resolve-musl-does-not-implement-res_ninit.patch \ - " +" SRC_URI[sha256sum] = "2be2b00321632b775f9eff713acd04ef21e31fbf388f6ebf45512ff4289574ff" +inherit autotools pkgconfig systemd update-rc.d update-alternatives + +RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'wifi', '${WIRELESS_DAEMON}', '', d)}" RRECOMMENDS:${PN} = "connman-conf" -RCONFLICTS:${PN} = "networkmanager" EXTRA_OECONF += "\ - ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ - ac_cv_path_PPPD=${sbindir}/pppd \ - --enable-debug \ - --enable-loopback \ - --enable-ethernet \ + --enable-datafiles \ --enable-tools \ - --disable-polkit \ - --runstatedir=/run \ + --runstatedir='${runtimedir}' \ + --with-dns-backend='${@bb.utils.contains("DISTRO_FEATURES", "systemd-resolved", "systemd-resolved", "internal", d)}' \ + ac_cv_path_IP6TABLES_SAVE=${sbindir}/ip6tables-save \ + ac_cv_path_IPTABLES_SAVE=${sbindir}/iptables-save \ + ac_cv_path_PPPD=${sbindir}/pppd \ + ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ " + # 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', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \ +# Choose "iptables" or "nftables" +CONNMAN_FIREWALL ??= "iptables" + +# Default is 16kB +CONNMAN_STATS_MAX_FILE_SIZE = "16384" + +PACKAGECONFIG ??= "client ethernet loopback wispr ${CONNMAN_FIREWALL} \ + ${@bb.utils.filter('DISTRO_FEATURES', '3g bluetooth nfc polkit selinux systemd usbgadget wifi', d)} \ + ${@bb.utils.filter('WIRELESS_DAEMON', 'iwd', d)} \ " -# If you want ConnMan to support VPN, add following statement into -# local.conf or distro config -# 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" -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" +PACKAGECONFIG[3g] = "--enable-ofono,--disable-ofono,ofono" +PACKAGECONFIG[bluetooth] = "--enable-bluetooth,--disable-bluetooth,bluez5,bluez5" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[dundee] = "--enable-dundee,--disable-dundee" +PACKAGECONFIG[ethernet] = "--enable-ethernet,--disable-ethernet" +PACKAGECONFIG[hh2serial-gps] = "--enable-hh2serial-gps,--disable-hh2serial-gps" +PACKAGECONFIG[iospm] = "--enable-iospm,--disable-iospm" +PACKAGECONFIG[iptables] = ",,iptables,iptables,nftables" +PACKAGECONFIG[iwd] = "--enable-iwd,--disable-iwd" +PACKAGECONFIG[loopback] = "--enable-loopback,--disable-loopback" +PACKAGECONFIG[nfc] = "--enable-neard,--disable-neard,neard" +PACKAGECONFIG[nftables] = ",,libmnl libnftnl,,kernel-module-nf-tables kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-masq-ipv4 kernel-module-nft-nat,iptables" +PACKAGECONFIG[nmcompat] = "--enable-nmcompat,--disable-nmcompat" +PACKAGECONFIG[pacrunner] = "--enable-pacrunner,--disable-pacrunner" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" +PACKAGECONFIG[session-policy-local] = "--enable-session-policy-local,--disable-session-policy-local" +PACKAGECONFIG[stats] = "--enable-stats --with-stats-max-file-size=${CONNMAN_STATS_MAX_FILE_SIZE},--disable-stats" +PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${nonarch_libdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''" +PACKAGECONFIG[test] = "--enable-test,--disable-test" +PACKAGECONFIG[tist] = "--enable-tist,--disable-tist" +PACKAGECONFIG[usbgadget] = "--enable-gadget,--disable-gadget" +PACKAGECONFIG[wifi] = "--enable-wifi,--disable-wifi" +PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls" + PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,ppp,xl2tpd" +PACKAGECONFIG[openconnect] = "--enable-openconnect --with-openconnect=${sbindir}/openconnect,--disable-openconnect,openconnect,openconnect" +PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn" PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,ppp,pptp-linux" -# WISPr support for logging into hotspots, requires TLS -PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls," -PACKAGECONFIG[nftables] = "--with-firewall=nftables ,,libmnl libnftnl,,kernel-module-nf-tables kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-masq-ipv4 kernel-module-nft-nat" -PACKAGECONFIG[iptables] = "--with-firewall=iptables ,,iptables,iptables" -PACKAGECONFIG[nfc] = "--enable-neard, --disable-neard, neard, neard" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc" PACKAGECONFIG[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl" INITSCRIPT_NAME = "connman" @@ -115,6 +129,7 @@ do_install:append() { # For read-only filesystem, do not create links during bootup if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${sysconfdir} ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman fi }
Add all missing build options as PACKAGECONFIG items. Add CONNMAN_FIREWALL to select iptables or nftables (one is required). Set dns-backend automatically based on systemd-resolved in DISTRO_FEATURES, then drop "connman.service: stop systemd-resolved when we use connman" as we now use connman's systemd-resolved support. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ------- meta/recipes-connectivity/connman/connman_1.44.bb | 85 +++++++++++++--------- 2 files changed, 50 insertions(+), 61 deletions(-)