From: Alex Kiernan <alex.kiernan@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alex Kiernan <alex.kiernan@gmail.com>
Subject: [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
Date: Wed, 02 Apr 2025 16:02:16 +0000 [thread overview]
Message-ID: <20250402-connman-v1-4-2e4fbbb7caf9@gmail.com> (raw)
In-Reply-To: <20250402-connman-v1-0-2e4fbbb7caf9@gmail.com>
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"
+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
}
--
2.25.1
next prev parent reply other threads:[~2025-04-02 16:02 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-02 16:02 [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 1/5] connman: Merge .inc into .bb Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 2/5] connman: Delete patches for gold and MIPS binutils fix Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 3/5] connman: Move ppp from DEPENDS to PACKAGECONFIG Alex Kiernan
2025-04-02 16:02 ` Alex Kiernan [this message]
2025-04-02 19:41 ` [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG Richard Purdie
2025-04-02 20:08 ` Alex Kiernan
2025-04-04 12:02 ` Ross Burton
2025-04-04 12:29 ` Alexander Kanavin
2025-04-08 9:38 ` Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 5/5] connman: Rework to avoid splitting into many single binary packages Alex Kiernan
2025-04-02 19:33 ` [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy Richard Purdie
2025-04-03 6:42 ` Alex Kiernan
2025-04-03 7:36 ` Richard Purdie
2025-04-03 16:46 ` Scott Murray
2025-04-03 16:52 ` Richard Purdie
2025-04-07 16:44 ` Adrian Freihofer
2025-04-08 9:33 ` Alex Kiernan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250402-connman-v1-4-2e4fbbb7caf9@gmail.com \
--to=alex.kiernan@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox