* [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
@ 2025-04-02 16:02 Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 1/5] connman: Merge .inc into .bb Alex Kiernan
` (5 more replies)
0 siblings, 6 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
connman has a legacy style, this patch set adds in all the PACKAGECONFIG
options which the upstream pacakge supports, removes patches which are no
longer required, explicitly supports operation alongside systemd-resolved and
reworks the packaging so that PACKAGECONFIG and explicit package selection for
every VPN is no longer required.
Everything up to the final patch should be backward compatible cleanup of the
existing recipe, with only the final patch reworking the packaging.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
Alex Kiernan (5):
connman: Merge .inc into .bb
connman: Delete patches for gold and MIPS binutils fix
connman: Move ppp from DEPENDS to PACKAGECONFIG
connman: Add all build options as PACKAGECONFIG
connman: Rework to avoid splitting into many single binary packages
meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
...ange-visibility-to-default-for-debug-symb.patch | 31 ---
.../connman/connman/no-version-scripts.patch | 47 -----
meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
5 files changed, 147 insertions(+), 332 deletions(-)
---
base-commit: 17a75e55017cbf213cf1b63568b4e757240192ff
change-id: 20250331-connman-97d433659424
Best regards,
--
Alex Kiernan <alex.kiernan@gmail.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH OE-Core 1/5] connman: Merge .inc into .bb
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 ` Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 2/5] connman: Delete patches for gold and MIPS binutils fix Alex Kiernan
` (4 subsequent siblings)
5 siblings, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
No functional changes.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
meta/recipes-connectivity/connman/connman_1.44.bb | 223 +++++++++++++++++++++-
2 files changed, 221 insertions(+), 223 deletions(-)
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
deleted file mode 100644
index 804c2db9a7eeae2a294e3ae64b86b3e3fe344c35..0000000000000000000000000000000000000000
--- a/meta/recipes-connectivity/connman/connman.inc
+++ /dev/null
@@ -1,221 +0,0 @@
-SUMMARY = "A daemon for managing internet connections within embedded devices"
-DESCRIPTION = "The ConnMan project provides a daemon for managing \
-internet connections within embedded devices running the Linux \
-operating system. The Connection Manager is designed to be slim and \
-to use as few resources as possible, so it can be easily integrated. \
-It is a fully modular system that can be extended, through plug-ins, \
-to support all kinds of wired or wireless technologies. Also, \
-configuration methods, like DHCP and domain name resolving, are \
-implemented using plug-ins."
-HOMEPAGE = "http://connman.net/"
-BUGTRACKER = "https://01.org/jira/browse/CM"
-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 ppp"
-
-EXTRA_OECONF += "\
- ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \
- ac_cv_path_PPPD=${sbindir}/pppd \
- --enable-debug \
- --enable-loopback \
- --enable-ethernet \
- --enable-tools \
- --disable-polkit \
- --runstatedir=/run \
-"
-# 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)} \
-"
-
-# 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[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
-PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,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[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl"
-
-INITSCRIPT_NAME = "connman"
-INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
-
-python __anonymous () {
- systemd_packages = "${PN} ${PN}-wait-online"
- pkgconfig = d.getVar('PACKAGECONFIG')
- if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
- systemd_packages += " ${PN}-vpn"
- d.setVar('SYSTEMD_PACKAGES', systemd_packages)
-}
-
-SYSTEMD_SERVICE:${PN} = "connman.service"
-SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service"
-SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
-ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
-
-do_install:append() {
- if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${UNPACKDIR}/connman ${D}${sysconfdir}/init.d/connman
- sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman
- fi
-
- install -d ${D}${bindir}
- install -m 0755 ${B}/tools/*-test ${D}${bindir}
- if [ -e ${B}/tools/wispr ]; then
- install -m 0755 ${B}/tools/wispr ${D}${bindir}
- fi
-
- # We don't need to package an empty directory
- rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
-
- # Automake 1.12 won't install empty directories, but we need the
- # plugins directory to be present for ownership
- mkdir -p ${D}${libdir}/connman/plugins
-
- # For read-only filesystem, do not create links during bootup
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
- fi
-}
-
-# These used to be plugins, but now they are core
-RPROVIDES:${PN} = "\
- connman-plugin-loopback \
- connman-plugin-ethernet \
- ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
- "
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
- plugintype = pkg.split( '-' )[-1]
- if plugintype in depmap:
- rdepends = map(lambda x: multilib_prefix + x, \
- depmap[plugintype].split())
- d.setVar("RDEPENDS:%s" % pkg, " ".join(rdepends))
- if add_insane_skip:
- d.appendVar("INSANE_SKIP:%s" % pkg, "dev-so")
-
-python populate_packages:prepend() {
- depmap = dict(pppd="ppp")
- multilib_prefix = (d.getVar("MLPREFIX") or "")
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
- plugin_dir = d.expand('${libdir}/connman/plugins/')
- plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
- plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
- plugin_name = d.expand('${PN}-plugin-vpn-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
-}
-
-PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
-
-FILES:${PN}-tools = "${bindir}/wispr"
-RDEPENDS:${PN}-tools = "${PN}"
-
-FILES:${PN}-tests = "${bindir}/*-test"
-
-FILES:${PN}-client = "${bindir}/connmanctl"
-RDEPENDS:${PN}-client = "${PN}"
-
-FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
- ${libdir}/connman/plugins \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
- ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
- ${datadir}/dbus-1/system-services/* \
- ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
-
-FILES:${PN}-dev += "${libdir}/connman/*/*.la"
-
-PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
-
-SUMMARY:${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
-DESCRIPTION:${PN}-vpn = "The ConnMan VPN provides a daemon for \
-managing VPN connections within embedded devices running the Linux \
-operating system. The connman-vpnd handles all the VPN connections \
-and starts/stops VPN client processes when necessary. The connman-vpnd \
-provides a DBus API for managing VPN connections. All the different \
-VPN technogies are implemented using plug-ins."
-FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
- ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
- ${datadir}/dbus-1/system-services/net.connman.vpn.service \
- ${systemd_system_unitdir}/connman-vpn.service"
-
-SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
-DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
-the system waits until a network connection is established."
-FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
- ${systemd_system_unitdir}/connman-wait-online.service"
-
-SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
-to create a VPN connection to OpenVPN server."
-FILES:${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
- ${libdir}/connman/plugins-vpn/openvpn.so"
-RDEPENDS:${PN}-plugin-vpn-openvpn += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
-to create a VPN connection to Cisco3000 VPN Concentrator."
-FILES:${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
- ${libdir}/connman/plugins-vpn/vpnc.so \
- ${libdir}/connman/scripts/vpn-script"
-RDEPENDS:${PN}-plugin-vpn-vpnc += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
-to create a VPN connection to L2TP server."
-FILES:${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/l2tp.so"
-RDEPENDS:${PN}-plugin-vpn-l2tp += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
-to create a VPN connection to PPTP server."
-FILES:${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/pptp.so"
-RDEPENDS:${PN}-plugin-vpn-pptp += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb
index 396d8bc5ce2c1a00e7fce1c7322b0f938de3c11c..1cd97d342f894bcffa6a7ed80ac8dc23e6a0565d 100644
--- a/meta/recipes-connectivity/connman/connman_1.44.bb
+++ b/meta/recipes-connectivity/connman/connman_1.44.bb
@@ -1,4 +1,23 @@
-require connman.inc
+SUMMARY = "A daemon for managing internet connections within embedded devices"
+DESCRIPTION = "The ConnMan project provides a daemon for managing \
+internet connections within embedded devices running the Linux \
+operating system. The Connection Manager is designed to be slim and \
+to use as few resources as possible, so it can be easily integrated. \
+It is a fully modular system that can be extended, through plug-ins, \
+to support all kinds of wired or wireless technologies. Also, \
+configuration methods, like DHCP and domain name resolving, are \
+implemented using plug-ins."
+HOMEPAGE = "http://connman.net/"
+BUGTRACKER = "https://01.org/jira/browse/CM"
+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 ppp"
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
@@ -8,8 +27,208 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0002-resolve-musl-does-not-implement-res_ninit.patch \
"
-
SRC_URI[sha256sum] = "2be2b00321632b775f9eff713acd04ef21e31fbf388f6ebf45512ff4289574ff"
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-tools \
+ --disable-polkit \
+ --runstatedir=/run \
+"
+# 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)} \
+"
+
+# 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[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
+PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,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[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl"
+
+INITSCRIPT_NAME = "connman"
+INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
+
+python __anonymous () {
+ systemd_packages = "${PN} ${PN}-wait-online"
+ pkgconfig = d.getVar('PACKAGECONFIG')
+ if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
+ systemd_packages += " ${PN}-vpn"
+ d.setVar('SYSTEMD_PACKAGES', systemd_packages)
+}
+
+SYSTEMD_SERVICE:${PN} = "connman.service"
+SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service"
+SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service"
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${UNPACKDIR}/connman ${D}${sysconfdir}/init.d/connman
+ sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman
+ fi
+
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/tools/*-test ${D}${bindir}
+ if [ -e ${B}/tools/wispr ]; then
+ install -m 0755 ${B}/tools/wispr ${D}${bindir}
+ fi
+
+ # We don't need to package an empty directory
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
+
+ # Automake 1.12 won't install empty directories, but we need the
+ # plugins directory to be present for ownership
+ mkdir -p ${D}${libdir}/connman/plugins
+
+ # For read-only filesystem, do not create links during bootup
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
+ fi
+}
+
+# These used to be plugins, but now they are core
+RPROVIDES:${PN} = "\
+ connman-plugin-loopback \
+ connman-plugin-ethernet \
+ ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
+ "
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
+
+def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
+ plugintype = pkg.split( '-' )[-1]
+ if plugintype in depmap:
+ rdepends = map(lambda x: multilib_prefix + x, \
+ depmap[plugintype].split())
+ d.setVar("RDEPENDS:%s" % pkg, " ".join(rdepends))
+ if add_insane_skip:
+ d.appendVar("INSANE_SKIP:%s" % pkg, "dev-so")
+
+python populate_packages:prepend() {
+ depmap = dict(pppd="ppp")
+ multilib_prefix = (d.getVar("MLPREFIX") or "")
+
+ hook = lambda file,pkg,x,y,z: \
+ add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
+ plugin_dir = d.expand('${libdir}/connman/plugins/')
+ plugin_name = d.expand('${PN}-plugin-%s')
+ do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
+ '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
+
+ hook = lambda file,pkg,x,y,z: \
+ add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
+ plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
+ plugin_name = d.expand('${PN}-plugin-vpn-%s')
+ do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
+ '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
+}
+
+PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
+
+FILES:${PN}-tools = "${bindir}/wispr"
+RDEPENDS:${PN}-tools = "${PN}"
+
+FILES:${PN}-tests = "${bindir}/*-test"
+
+FILES:${PN}-client = "${bindir}/connmanctl"
+RDEPENDS:${PN}-client = "${PN}"
+
+FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
+ ${libdir}/connman/plugins \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
+ ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
+ ${datadir}/dbus-1/system-services/* \
+ ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
+
+FILES:${PN}-dev += "${libdir}/connman/*/*.la"
+
+PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
+
+SUMMARY:${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
+DESCRIPTION:${PN}-vpn = "The ConnMan VPN provides a daemon for \
+managing VPN connections within embedded devices running the Linux \
+operating system. The connman-vpnd handles all the VPN connections \
+and starts/stops VPN client processes when necessary. The connman-vpnd \
+provides a DBus API for managing VPN connections. All the different \
+VPN technogies are implemented using plug-ins."
+FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
+ ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
+ ${datadir}/dbus-1/system-services/net.connman.vpn.service \
+ ${systemd_system_unitdir}/connman-vpn.service"
+
+SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
+DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
+the system waits until a network connection is established."
+FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
+ ${systemd_system_unitdir}/connman-wait-online.service"
+
+SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
+to create a VPN connection to OpenVPN server."
+FILES:${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
+ ${libdir}/connman/plugins-vpn/openvpn.so"
+RDEPENDS:${PN}-plugin-vpn-openvpn += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
+
+SUMMARY:${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
+to create a VPN connection to Cisco3000 VPN Concentrator."
+FILES:${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
+ ${libdir}/connman/plugins-vpn/vpnc.so \
+ ${libdir}/connman/scripts/vpn-script"
+RDEPENDS:${PN}-plugin-vpn-vpnc += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
+
+SUMMARY:${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
+to create a VPN connection to L2TP server."
+FILES:${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
+ ${libdir}/connman/plugins-vpn/l2tp.so"
+RDEPENDS:${PN}-plugin-vpn-l2tp += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
+
+SUMMARY:${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
+to create a VPN connection to PPTP server."
+FILES:${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
+ ${libdir}/connman/plugins-vpn/pptp.so"
+RDEPENDS:${PN}-plugin-vpn-pptp += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH OE-Core 2/5] connman: Delete patches for gold and MIPS binutils fix
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 ` Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 3/5] connman: Move ppp from DEPENDS to PACKAGECONFIG Alex Kiernan
` (3 subsequent siblings)
5 siblings, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
gold is no longer built/supported. The workaround for binutils on MIPS no
longer appears to be required.
Also fix up tabs/whitespace in shell functions, correct HOMEPAGE, drop broken
BUGTRACKER link.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
...ange-visibility-to-default-for-debug-symb.patch | 31 --------------
.../connman/connman/no-version-scripts.patch | 47 ----------------------
meta/recipes-connectivity/connman/connman_1.44.bb | 13 +++---
3 files changed, 5 insertions(+), 86 deletions(-)
diff --git a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch b/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
deleted file mode 100644
index a68707b2fa62a6e1ac37e05b8706908c456cec02..0000000000000000000000000000000000000000
--- a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c254226d4ebbd846c1f8169d70413a0d32d7ae77 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 7 Apr 2012 18:52:12 -0700
-Subject: [PATCH] plugin.h: Change visibility to default for debug symbols
-
-gold refuses to link in undefined weak symbols which
-have hidden visibility
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- include/plugin.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/plugin.h b/include/plugin.h
-index 8d2bb08..a12a6be 100644
---- a/include/plugin.h
-+++ b/include/plugin.h
-@@ -89,9 +89,9 @@ struct connman_plugin_desc {
- #else
- #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
- extern struct connman_debug_desc __start___debug[] \
-- __attribute__ ((weak, visibility("hidden"))); \
-+ __attribute__ ((weak, visibility("default"))); \
- extern struct connman_debug_desc __stop___debug[] \
-- __attribute__ ((weak, visibility("hidden"))); \
-+ __attribute__ ((weak, visibility("default"))); \
- extern struct connman_plugin_desc connman_plugin_desc \
- __attribute__ ((visibility("default"))); \
- struct connman_plugin_desc connman_plugin_desc = { \
diff --git a/meta/recipes-connectivity/connman/connman/no-version-scripts.patch b/meta/recipes-connectivity/connman/connman/no-version-scripts.patch
deleted file mode 100644
index 3667a166f69346c3ca3592d179cc1baaa16cb1b4..0000000000000000000000000000000000000000
--- a/meta/recipes-connectivity/connman/connman/no-version-scripts.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 67f37aafcc8ef5d2eb006387e7bec21f74518727 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 9 Aug 2016 12:12:02 +0100
-Subject: [PATCH] connman: disable version-scripts to fix crashes at startup
-
-With binutils 2.27 on at least MIPS, connmand will crash on startup. This
-appears to be due to the symbol visibilty scripts hiding symbols that stdio
-looks up at runtime, resulting in it segfaulting.
-
-This certainly appears to be a bug in binutils 2.27 although the problem has
-been known about for some time:
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=17908
-
-As the version scripts are only used to hide symbols from plugins we can safely
-remove the scripts to work around the problem until binutils is fixed.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- Makefile.am | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 3dc3bb5..3be5ccb 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -143,8 +143,7 @@ src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
- @GIO_LIBS@ @GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ \
- -lresolv -ldl -lrt
-
--src_connmand_LDFLAGS = -Wl,--export-dynamic \
-- -Wl,--version-script=$(srcdir)/src/connman.ver
-+src_connmand_LDFLAGS = -Wl,--export-dynamic
-
- src_connmand_wait_online_SOURCES = src/connmand-wait-online.c
-
-@@ -187,8 +186,7 @@ vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
- @GIO_LIBS@ @GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ \
- -lresolv -ldl
-
--vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
-- -Wl,--version-script=$(srcdir)/vpn/vpn.ver
-+vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic
- endif
-
- BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) \
diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb
index 1cd97d342f894bcffa6a7ed80ac8dc23e6a0565d..553a377684c67190bbf274a28759bc1825b21d75 100644
--- a/meta/recipes-connectivity/connman/connman_1.44.bb
+++ b/meta/recipes-connectivity/connman/connman_1.44.bb
@@ -7,8 +7,7 @@ It is a fully modular system that can be extended, through plug-ins, \
to support all kinds of wired or wireless technologies. Also, \
configuration methods, like DHCP and domain name resolving, are \
implemented using plug-ins."
-HOMEPAGE = "http://connman.net/"
-BUGTRACKER = "https://01.org/jira/browse/CM"
+HOMEPAGE = "https://web.git.kernel.org/pub/scm/network/connman/connman.git/about/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36"
@@ -20,10 +19,8 @@ CVE_PRODUCT = "connman connection_manager"
DEPENDS = "dbus glib-2.0 ppp"
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
- file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
file://connman \
- file://no-version-scripts.patch \
file://0002-resolve-musl-does-not-implement-res_ninit.patch \
"
@@ -116,10 +113,10 @@ do_install:append() {
# plugins directory to be present for ownership
mkdir -p ${D}${libdir}/connman/plugins
- # For read-only filesystem, do not create links during bootup
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
- fi
+ # For read-only filesystem, do not create links during bootup
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
+ fi
}
# These used to be plugins, but now they are core
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH OE-Core 3/5] connman: Move ppp from DEPENDS to PACKAGECONFIG
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 ` Alex Kiernan
2025-04-02 16:02 ` [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG Alex Kiernan
` (2 subsequent siblings)
5 siblings, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
ppp is only required by connman when building the L2TP or PPTP plugins. Move it
from DEPENDS to PACKAGECONFIG so it's only there when required.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
meta/recipes-connectivity/connman/connman_1.44.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb
index 553a377684c67190bbf274a28759bc1825b21d75..aa9da070dec1b4aac02019ae9c3158256b534c61 100644
--- a/meta/recipes-connectivity/connman/connman_1.44.bb
+++ b/meta/recipes-connectivity/connman/connman_1.44.bb
@@ -16,7 +16,7 @@ inherit autotools pkgconfig systemd update-rc.d update-alternatives
CVE_PRODUCT = "connman connection_manager"
-DEPENDS = "dbus glib-2.0 ppp"
+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 \
@@ -63,8 +63,8 @@ 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[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
-PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
+PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,ppp,xl2tpd"
+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"
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
2025-04-02 16:02 [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy Alex Kiernan
` (2 preceding siblings ...)
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
2025-04-02 19:41 ` [OE-core] " Richard Purdie
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
5 siblings, 1 reply; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
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
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH OE-Core 5/5] connman: Rework to avoid splitting into many single binary packages
2025-04-02 16:02 [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy Alex Kiernan
` (3 preceding siblings ...)
2025-04-02 16:02 ` [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG Alex Kiernan
@ 2025-04-02 16:02 ` 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
5 siblings, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 16:02 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
This recipe predates PACKAGECONFIG (or maybe widespread usage?) and so to use
the VPN options they had to be both enabled at the PACKAGECONFIG level and then
included as a separate package. In addition the list of VPN packages has
drifted so (for example) wireguard was not delivered this way.
Remove most of the subordinate packages and just populate the main connman
package based on PACKAGECONFIG. Keep connman-client separate as `connmanctl`
has a dependency on readline (which is GPLv3 licensed) and separate out
connman-tools for `stats-tool` and connman-tests for all the test binaries
(which possibly in the future could be used as the basis of a ptest package).
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
meta/recipes-connectivity/connman/connman_1.44.bb | 159 +++++-----------------
1 file changed, 34 insertions(+), 125 deletions(-)
diff --git a/meta/recipes-connectivity/connman/connman_1.44.bb b/meta/recipes-connectivity/connman/connman_1.44.bb
index 2622a8ebfed0ceec7ac39fcf3ffad76291de5797..b1616351b5c2b1a7d4f2ac577db19ab566ceac0e 100644
--- a/meta/recipes-connectivity/connman/connman_1.44.bb
+++ b/meta/recipes-connectivity/connman/connman_1.44.bb
@@ -90,17 +90,11 @@ PACKAGECONFIG[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl"
INITSCRIPT_NAME = "connman"
INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
-python __anonymous () {
- systemd_packages = "${PN} ${PN}-wait-online"
- pkgconfig = d.getVar('PACKAGECONFIG')
- if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
- systemd_packages += " ${PN}-vpn"
- d.setVar('SYSTEMD_PACKAGES', systemd_packages)
-}
-
-SYSTEMD_SERVICE:${PN} = "connman.service"
-SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service"
-SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service"
+SYSTEMD_SERVICE:${PN} = "\
+ connman.service \
+ connman-wait-online.service \
+ ${@bb.utils.contains_any('PACKAGECONFIG', ['openconnect', 'openvpn', 'vpnc', 'l2tp', 'pptp', 'wireguard'], 'connman-vpn.service', '', d)} \
+"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
@@ -114,18 +108,15 @@ do_install:append() {
sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman
fi
- install -d ${D}${bindir}
- install -m 0755 ${B}/tools/*-test ${D}${bindir}
- if [ -e ${B}/tools/wispr ]; then
- install -m 0755 ${B}/tools/wispr ${D}${bindir}
- fi
+ for noinst_program in ${NOINST_TESTS} ${NOINST_TOOLS}; do
+ if [ -r "${B}/$noinst_program" ]; then
+ install -d ${D}${bindir}
+ install -m 0755 "${B}/$noinst_program" ${D}${bindir}
+ fi
+ done
# We don't need to package an empty directory
- rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
-
- # Automake 1.12 won't install empty directories, but we need the
- # plugins directory to be present for ownership
- mkdir -p ${D}${libdir}/connman/plugins
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts ${D}${libdir}/connman
# For read-only filesystem, do not create links during bootup
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
@@ -134,113 +125,31 @@ do_install:append() {
fi
}
-# These used to be plugins, but now they are core
-RPROVIDES:${PN} = "\
- connman-plugin-loopback \
- connman-plugin-ethernet \
- ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
- "
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
- plugintype = pkg.split( '-' )[-1]
- if plugintype in depmap:
- rdepends = map(lambda x: multilib_prefix + x, \
- depmap[plugintype].split())
- d.setVar("RDEPENDS:%s" % pkg, " ".join(rdepends))
- if add_insane_skip:
- d.appendVar("INSANE_SKIP:%s" % pkg, "dev-so")
-
-python populate_packages:prepend() {
- depmap = dict(pppd="ppp")
- multilib_prefix = (d.getVar("MLPREFIX") or "")
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
- plugin_dir = d.expand('${libdir}/connman/plugins/')
- plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
- plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
- plugin_name = d.expand('${PN}-plugin-vpn-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
-}
-
-PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
+NOINST_TESTS = "tools/supplicant-test tools/dhcp-test tools/dhcp-server-test \
+ tools/addr-test tools/web-test tools/resolv-test tools/dbus-test \
+ tools/polkit-test tools/wpad-test tools/private-network-test \
+ tools/session-test tools/dnsproxy-test tools/iptables-test tools/ip6tables-test \
+ tools/iptables-unit tools/dnsproxy-standalone \
+ unit/test-ippool unit/test-iptables \
+"
+NOINST_TOOLS = "tools/stats-tool tools/wispr"
-FILES:${PN}-tools = "${bindir}/wispr"
-RDEPENDS:${PN}-tools = "${PN}"
+PACKAGE_BEFORE_PN = "${PN}-client ${PN}-tests ${PN}-tools"
-FILES:${PN}-tests = "${bindir}/*-test"
+FILES:${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/system.d \
+ ${datadir}/polkit-1 \
+ ${nonarch_libdir}/tmpfiles.d/*.conf \
+"
FILES:${PN}-client = "${bindir}/connmanctl"
RDEPENDS:${PN}-client = "${PN}"
-FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
- ${libdir}/connman/plugins \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
- ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
- ${datadir}/dbus-1/system-services/* \
- ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
-
-FILES:${PN}-dev += "${libdir}/connman/*/*.la"
-
-PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
-
-SUMMARY:${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
-DESCRIPTION:${PN}-vpn = "The ConnMan VPN provides a daemon for \
-managing VPN connections within embedded devices running the Linux \
-operating system. The connman-vpnd handles all the VPN connections \
-and starts/stops VPN client processes when necessary. The connman-vpnd \
-provides a DBus API for managing VPN connections. All the different \
-VPN technogies are implemented using plug-ins."
-FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
- ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
- ${datadir}/dbus-1/system-services/net.connman.vpn.service \
- ${systemd_system_unitdir}/connman-vpn.service"
-
-SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
-DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
-the system waits until a network connection is established."
-FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
- ${systemd_system_unitdir}/connman-wait-online.service"
-
-SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
-to create a VPN connection to OpenVPN server."
-FILES:${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
- ${libdir}/connman/plugins-vpn/openvpn.so"
-RDEPENDS:${PN}-plugin-vpn-openvpn += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
-to create a VPN connection to Cisco3000 VPN Concentrator."
-FILES:${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
- ${libdir}/connman/plugins-vpn/vpnc.so \
- ${libdir}/connman/scripts/vpn-script"
-RDEPENDS:${PN}-plugin-vpn-vpnc += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
-to create a VPN connection to L2TP server."
-FILES:${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/l2tp.so"
-RDEPENDS:${PN}-plugin-vpn-l2tp += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
-
-SUMMARY:${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
-DESCRIPTION:${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
-to create a VPN connection to PPTP server."
-FILES:${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/pptp.so"
-RDEPENDS:${PN}-plugin-vpn-pptp += "${PN}-vpn"
-RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
+FILES:${PN}-tests = "${@ ' '.join([os.path.join('${bindir}', os.path.basename(noinst_program)) for noinst_program in NOINST_TESTS.split()]) }"
+RDEPENDS:${PN}-tests = "${PN}"
+ALLOW_EMPTY:${PN}-tests = "1"
+
+FILES:${PN}-tools = "${@ ' '.join([os.path.join('${bindir}', os.path.basename(noinst_program)) for noinst_program in NOINST_TOOLS.split()]) }"
+RDEPENDS:${PN}-tools = "${PN}"
+ALLOW_EMPTY:${PN}-tools = "1"
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-02 16:02 [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy Alex Kiernan
` (4 preceding siblings ...)
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 ` Richard Purdie
2025-04-03 6:42 ` Alex Kiernan
5 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2025-04-02 19:33 UTC (permalink / raw)
To: alex.kiernan, openembedded-core
On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote:
> connman has a legacy style, this patch set adds in all the PACKAGECONFIG
> options which the upstream pacakge supports, removes patches which are no
> longer required, explicitly supports operation alongside systemd-resolved and
> reworks the packaging so that PACKAGECONFIG and explicit package selection for
> every VPN is no longer required.
>
> Everything up to the final patch should be backward compatible cleanup of the
> existing recipe, with only the final patch reworking the packaging.
>
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> ---
> Alex Kiernan (5):
> connman: Merge .inc into .bb
> connman: Delete patches for gold and MIPS binutils fix
> connman: Move ppp from DEPENDS to PACKAGECONFIG
> connman: Add all build options as PACKAGECONFIG
> connman: Rework to avoid splitting into many single binary packages
>
> meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
> ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
> ...ange-visibility-to-default-for-debug-symb.patch | 31 ---
> .../connman/connman/no-version-scripts.patch | 47 -----
> meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
> 5 files changed, 147 insertions(+), 332 deletions(-)
This failed in testing on the first try. I've added:
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 03f02d14ae8..c5ddea79005 100644
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
- kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
+ kernel-dev kernel-devsrc connman dhcpcd \
tzdata python3-pip perl-misc"
IMAGE_FEATURES += "x11-base package-management splash"
and will see what take 2 looks like.
Cheers,
Richard
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
2025-04-02 16:02 ` [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG Alex Kiernan
@ 2025-04-02 19:41 ` Richard Purdie
2025-04-02 20:08 ` Alex Kiernan
0 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2025-04-02 19:41 UTC (permalink / raw)
To: alex.kiernan, openembedded-core
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
2025-04-02 19:41 ` [OE-core] " Richard Purdie
@ 2025-04-02 20:08 ` Alex Kiernan
2025-04-04 12:02 ` Ross Burton
0 siblings, 1 reply; 18+ messages in thread
From: Alex Kiernan @ 2025-04-02 20:08 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
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.
--
Alex Kiernan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
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
0 siblings, 1 reply; 18+ messages in thread
From: Alex Kiernan @ 2025-04-03 6:42 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote:
> > connman has a legacy style, this patch set adds in all the PACKAGECONFIG
> > options which the upstream pacakge supports, removes patches which are no
> > longer required, explicitly supports operation alongside systemd-resolved and
> > reworks the packaging so that PACKAGECONFIG and explicit package selection for
> > every VPN is no longer required.
> >
> > Everything up to the final patch should be backward compatible cleanup of the
> > existing recipe, with only the final patch reworking the packaging.
> >
> > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > ---
> > Alex Kiernan (5):
> > connman: Merge .inc into .bb
> > connman: Delete patches for gold and MIPS binutils fix
> > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > connman: Add all build options as PACKAGECONFIG
> > connman: Rework to avoid splitting into many single binary packages
> >
> > meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
> > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
> > ...ange-visibility-to-default-for-debug-symb.patch | 31 ---
> > .../connman/connman/no-version-scripts.patch | 47 -----
> > meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
> > 5 files changed, 147 insertions(+), 332 deletions(-)
>
> This failed in testing on the first try. I've added:
>
> diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> index 03f02d14ae8..c5ddea79005 100644
> --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> @@ -6,7 +6,7 @@ LICENSE = "MIT"
> LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>
> IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
> - kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
> + kernel-dev kernel-devsrc connman dhcpcd \
> tzdata python3-pip perl-misc"
>
> IMAGE_FEATURES += "x11-base package-management splash"
Is keeping all those RPROVIDES (plus doubtless more at this point)
actually useful? I can see it in the traditional distribution world,
but for OE-Core it feels mostly redundant to me.
--
Alex Kiernan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-03 6:42 ` Alex Kiernan
@ 2025-04-03 7:36 ` Richard Purdie
2025-04-03 16:46 ` Scott Murray
0 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2025-04-03 7:36 UTC (permalink / raw)
To: Alex Kiernan, Scott Murray, Jan-Simon Möller; +Cc: openembedded-core
On Thu, 2025-04-03 at 07:42 +0100, Alex Kiernan wrote:
> On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> >
> > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote:
> > > connman has a legacy style, this patch set adds in all the PACKAGECONFIG
> > > options which the upstream pacakge supports, removes patches which are no
> > > longer required, explicitly supports operation alongside systemd-resolved and
> > > reworks the packaging so that PACKAGECONFIG and explicit package selection for
> > > every VPN is no longer required.
> > >
> > > Everything up to the final patch should be backward compatible cleanup of the
> > > existing recipe, with only the final patch reworking the packaging.
> > >
> > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > ---
> > > Alex Kiernan (5):
> > > connman: Merge .inc into .bb
> > > connman: Delete patches for gold and MIPS binutils fix
> > > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > > connman: Add all build options as PACKAGECONFIG
> > > connman: Rework to avoid splitting into many single binary packages
> > >
> > > meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
> > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
> > > ...ange-visibility-to-default-for-debug-symb.patch | 31 ---
> > > .../connman/connman/no-version-scripts.patch | 47 -----
> > > meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
> > > 5 files changed, 147 insertions(+), 332 deletions(-)
> >
> > This failed in testing on the first try. I've added:
> >
> > diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > index 03f02d14ae8..c5ddea79005 100644
> > --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > @@ -6,7 +6,7 @@ LICENSE = "MIT"
> > LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> >
> > IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
> > - kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
> > + kernel-dev kernel-devsrc connman dhcpcd \
> > tzdata python3-pip perl-misc"
> >
> > IMAGE_FEATURES += "x11-base package-management splash"
>
> Is keeping all those RPROVIDES (plus doubtless more at this point)
> actually useful? I can see it in the traditional distribution world,
> but for OE-Core it feels mostly redundant to me.
Short term, it will help fix people's builds and give some level of
runtime compatibility. Long term, it would be deadweight we carry. I'm
therefore torn.
I did note that meta-agl ran into a similar issue:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/55/builds/1250
With the above tweak and the tweaked nftables, the rest of the build
was ok through.
Cheers,
Richard
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-03 7:36 ` Richard Purdie
@ 2025-04-03 16:46 ` Scott Murray
2025-04-03 16:52 ` Richard Purdie
0 siblings, 1 reply; 18+ messages in thread
From: Scott Murray @ 2025-04-03 16:46 UTC (permalink / raw)
To: Richard Purdie; +Cc: Alex Kiernan, Jan-Simon Möller, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3800 bytes --]
On Thu, 3 Apr 2025, Richard Purdie wrote:
> On Thu, 2025-04-03 at 07:42 +0100, Alex Kiernan wrote:
> > On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote:
> > > > connman has a legacy style, this patch set adds in all the PACKAGECONFIG
> > > > options which the upstream pacakge supports, removes patches which are no
> > > > longer required, explicitly supports operation alongside systemd-resolved and
> > > > reworks the packaging so that PACKAGECONFIG and explicit package selection for
> > > > every VPN is no longer required.
> > > >
> > > > Everything up to the final patch should be backward compatible cleanup of the
> > > > existing recipe, with only the final patch reworking the packaging.
> > > >
> > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > > ---
> > > > Alex Kiernan (5):
> > > > connman: Merge .inc into .bb
> > > > connman: Delete patches for gold and MIPS binutils fix
> > > > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > > > connman: Add all build options as PACKAGECONFIG
> > > > connman: Rework to avoid splitting into many single binary packages
> > > >
> > > > meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
> > > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
> > > > ...ange-visibility-to-default-for-debug-symb.patch | 31 ---
> > > > .../connman/connman/no-version-scripts.patch | 47 -----
> > > > meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
> > > > 5 files changed, 147 insertions(+), 332 deletions(-)
> > >
> > > This failed in testing on the first try. I've added:
> > >
> > > diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > index 03f02d14ae8..c5ddea79005 100644
> > > --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > @@ -6,7 +6,7 @@ LICENSE = "MIT"
> > > LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> > >
> > > IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
> > > - kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
> > > + kernel-dev kernel-devsrc connman dhcpcd \
> > > tzdata python3-pip perl-misc"
> > >
> > > IMAGE_FEATURES += "x11-base package-management splash"
> >
> > Is keeping all those RPROVIDES (plus doubtless more at this point)
> > actually useful? I can see it in the traditional distribution world,
> > but for OE-Core it feels mostly redundant to me.
>
> Short term, it will help fix people's builds and give some level of
> runtime compatibility. Long term, it would be deadweight we carry. I'm
> therefore torn.
>
> I did note that meta-agl ran into a similar issue:
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/55/builds/1250
>
> With the above tweak and the tweaked nftables, the rest of the build
> was ok through.
If you're leaning towards taking it, we can adapt in AGL, though I can't
guarantee there won't be a brief instance of AB breakage before I push
a change. Overall, I'm a bit ambivalent about removing the split out
packages. I understand the desire for simplifying it, but I also see
some benefits to still mirroring what most other distributions do with
networkmanager packaging since there still seems to be some interest in
attempting to do binary packagefeeds...
Cheers,
Scott
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-03 16:46 ` Scott Murray
@ 2025-04-03 16:52 ` Richard Purdie
2025-04-07 16:44 ` Adrian Freihofer
0 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2025-04-03 16:52 UTC (permalink / raw)
To: Scott Murray
Cc: Alex Kiernan, Jan-Simon Möller, openembedded-core,
Ross Burton
On Thu, 2025-04-03 at 12:46 -0400, Scott Murray wrote:
> On Thu, 3 Apr 2025, Richard Purdie wrote:
>
> > On Thu, 2025-04-03 at 07:42 +0100, Alex Kiernan wrote:
> > > On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > >
> > > > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via lists.openembedded.org wrote:
> > > > > connman has a legacy style, this patch set adds in all the PACKAGECONFIG
> > > > > options which the upstream pacakge supports, removes patches which are no
> > > > > longer required, explicitly supports operation alongside systemd-resolved and
> > > > > reworks the packaging so that PACKAGECONFIG and explicit package selection for
> > > > > every VPN is no longer required.
> > > > >
> > > > > Everything up to the final patch should be backward compatible cleanup of the
> > > > > existing recipe, with only the final patch reworking the packaging.
> > > > >
> > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > > > ---
> > > > > Alex Kiernan (5):
> > > > > connman: Merge .inc into .bb
> > > > > connman: Delete patches for gold and MIPS binutils fix
> > > > > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > > > > connman: Add all build options as PACKAGECONFIG
> > > > > connman: Rework to avoid splitting into many single binary packages
> > > > >
> > > > > meta/recipes-connectivity/connman/connman.inc | 221 ---------------------
> > > > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 ---
> > > > > ...ange-visibility-to-default-for-debug-symb.patch | 31 ---
> > > > > .../connman/connman/no-version-scripts.patch | 47 -----
> > > > > meta/recipes-connectivity/connman/connman_1.44.bb | 154 +++++++++++++-
> > > > > 5 files changed, 147 insertions(+), 332 deletions(-)
> > > >
> > > > This failed in testing on the first try. I've added:
> > > >
> > > > diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > > index 03f02d14ae8..c5ddea79005 100644
> > > > --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > > +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
> > > > @@ -6,7 +6,7 @@ LICENSE = "MIT"
> > > > LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> > > >
> > > > IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
> > > > - kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
> > > > + kernel-dev kernel-devsrc connman dhcpcd \
> > > > tzdata python3-pip perl-misc"
> > > >
> > > > IMAGE_FEATURES += "x11-base package-management splash"
> > >
> > > Is keeping all those RPROVIDES (plus doubtless more at this point)
> > > actually useful? I can see it in the traditional distribution world,
> > > but for OE-Core it feels mostly redundant to me.
> >
> > Short term, it will help fix people's builds and give some level of
> > runtime compatibility. Long term, it would be deadweight we carry. I'm
> > therefore torn.
> >
> > I did note that meta-agl ran into a similar issue:
> >
> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/55/builds/1250
> >
> > With the above tweak and the tweaked nftables, the rest of the build
> > was ok through.
>
> If you're leaning towards taking it, we can adapt in AGL, though I can't
> guarantee there won't be a brief instance of AB breakage before I push
> a change. Overall, I'm a bit ambivalent about removing the split out
> packages. I understand the desire for simplifying it, but I also see
> some benefits to still mirroring what most other distributions do with
> networkmanager packaging since there still seems to be some interest in
> attempting to do binary packagefeeds...
To be honest, I'm torn, I could be persuaded either way.
I copied more people to collect viewpoionts as well as make them aware
of the potential breakage.
Cheers,
Richard
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
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
0 siblings, 2 replies; 18+ messages in thread
From: Ross Burton @ 2025-04-04 12:02 UTC (permalink / raw)
To: alex.kiernan@gmail.com
Cc: Richard Purdie, openembedded-core@lists.openembedded.org
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
2025-04-04 12:02 ` Ross Burton
@ 2025-04-04 12:29 ` Alexander Kanavin
2025-04-08 9:38 ` Alex Kiernan
1 sibling, 0 replies; 18+ messages in thread
From: Alexander Kanavin @ 2025-04-04 12:29 UTC (permalink / raw)
To: ross.burton
Cc: alex.kiernan@gmail.com, Richard Purdie,
openembedded-core@lists.openembedded.org
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-03 16:52 ` Richard Purdie
@ 2025-04-07 16:44 ` Adrian Freihofer
2025-04-08 9:33 ` Alex Kiernan
0 siblings, 1 reply; 18+ messages in thread
From: Adrian Freihofer @ 2025-04-07 16:44 UTC (permalink / raw)
To: Alex Kiernan
Cc: Jan-Simon Möller, openembedded-core, Ross Burton,
richard.purdie, Scott Murray
On Thu, 2025-04-03 at 17:52 +0100, Richard Purdie via
lists.openembedded.org wrote:
> On Thu, 2025-04-03 at 12:46 -0400, Scott Murray wrote:
> > On Thu, 3 Apr 2025, Richard Purdie wrote:
> >
> > > On Thu, 2025-04-03 at 07:42 +0100, Alex Kiernan wrote:
> > > > On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
> > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > >
> > > > > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via
> > > > > lists.openembedded.org wrote:
> > > > > > connman has a legacy style, this patch set adds in all the
> > > > > > PACKAGECONFIG
> > > > > > options which the upstream pacakge supports, removes
> > > > > > patches which are no
> > > > > > longer required, explicitly supports operation alongside
> > > > > > systemd-resolved and
> > > > > > reworks the packaging so that PACKAGECONFIG and explicit
> > > > > > package selection for
> > > > > > every VPN is no longer required.
> > > > > >
> > > > > > Everything up to the final patch should be backward
> > > > > > compatible cleanup of the
> > > > > > existing recipe, with only the final patch reworking the
> > > > > > packaging.
> > > > > >
> > > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > > > > ---
> > > > > > Alex Kiernan (5):
> > > > > > connman: Merge .inc into .bb
> > > > > > connman: Delete patches for gold and MIPS binutils
> > > > > > fix
> > > > > > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > > > > > connman: Add all build options as PACKAGECONFIG
> > > > > > connman: Rework to avoid splitting into many single
> > > > > > binary packages
> > > > > >
> > > > > > meta/recipes-connectivity/connman/connman.inc | 221 -
> > > > > > --------------------
> > > > > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 -
> > > > > > --
> > > > > > ...ange-visibility-to-default-for-debug-symb.patch | 31 -
> > > > > > --
> > > > > > .../connman/connman/no-version-scripts.patch | 47 -
> > > > > > ----
> > > > > > meta/recipes-connectivity/connman/connman_1.44.bb | 154
> > > > > > +++++++++++++-
> > > > > > 5 files changed, 147 insertions(+), 332 deletions(-)
> > > > >
> > > > > This failed in testing on the first try. I've added:
> > > > >
> > > > > diff --git a/meta/recipes-core/images/build-appliance-
> > > > > image_15.0.0.bb b/meta/recipes-core/images/build-appliance-
> > > > > image_15.0.0.bb
> > > > > index 03f02d14ae8..c5ddea79005 100644
> > > > > --- a/meta/recipes-core/images/build-appliance-
> > > > > image_15.0.0.bb
> > > > > +++ b/meta/recipes-core/images/build-appliance-
> > > > > image_15.0.0.bb
> > > > > @@ -6,7 +6,7 @@ LICENSE = "MIT"
> > > > > LIC_FILES_CHKSUM =
> > > > > "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
> > > > > 361b4de20420"
> > > > >
> > > > > IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-
> > > > > ssh-openssh packagegroup-self-hosted \
> > > > > - kernel-dev kernel-devsrc connman connman-
> > > > > plugin-ethernet dhcpcd \
> > > > > + kernel-dev kernel-devsrc connman dhcpcd \
> > > > > tzdata python3-pip perl-misc"
> > > > >
> > > > > IMAGE_FEATURES += "x11-base package-management splash"
> > > >
> > > > Is keeping all those RPROVIDES (plus doubtless more at this
> > > > point)
> > > > actually useful? I can see it in the traditional distribution
> > > > world,
> > > > but for OE-Core it feels mostly redundant to me.
> > >
> > > Short term, it will help fix people's builds and give some level
> > > of
> > > runtime compatibility. Long term, it would be deadweight we
> > > carry. I'm
> > > therefore torn.
> > >
> > > I did note that meta-agl ran into a similar issue:
> > >
> > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/55/builds/1250
> > >
> > > With the above tweak and the tweaked nftables, the rest of the
> > > build
> > > was ok through.
> >
> > If you're leaning towards taking it, we can adapt in AGL, though I
> > can't
> > guarantee there won't be a brief instance of AB breakage before I
> > push
> > a change. Overall, I'm a bit ambivalent about removing the split
> > out
> > packages. I understand the desire for simplifying it, but I also
> > see
> > some benefits to still mirroring what most other distributions do
> > with
> > networkmanager packaging since there still seems to be some
> > interest in
> > attempting to do binary packagefeeds...
>
> To be honest, I'm torn, I could be persuaded either way.
>
> I copied more people to collect viewpoionts as well as make them
> aware
> of the potential breakage.
>
> Cheers,
>
> Richard
I don't use conman, so my opinion is not really relevant here.
But I think that PACKAGECONFIGS are of course the big advantage of
Yocto compared to binary distributions. But one should also not forget
why binary distributions are very successful in many areas: You can
address many different use cases with one distribution without having
to recompile different packages just to put together slightly different
firmware variants. With systemd or NetworkManager, for example, we have
the option of using PACAKGECONFGS as well as splitting it up into small
packages. This is very useful, at least for us, which is why I think
removing package splitting would also be a disadvantage for connman.
Regards,
Adrian
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#214329):
> https://lists.openembedded.org/g/openembedded-core/message/214329
> Mute This Topic: https://lists.openembedded.org/mt/112049312/4454582
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> adrian.freihofer@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 0/5] connman: Update for all PACKAGECONFIG options, clean up legacy
2025-04-07 16:44 ` Adrian Freihofer
@ 2025-04-08 9:33 ` Alex Kiernan
0 siblings, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-08 9:33 UTC (permalink / raw)
To: Adrian Freihofer
Cc: Jan-Simon Möller, openembedded-core, Ross Burton,
richard.purdie, Scott Murray
On Mon, Apr 7, 2025 at 5:44 PM Adrian Freihofer
<adrian.freihofer@gmail.com> wrote:
>
> On Thu, 2025-04-03 at 17:52 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Thu, 2025-04-03 at 12:46 -0400, Scott Murray wrote:
> > > On Thu, 3 Apr 2025, Richard Purdie wrote:
> > >
> > > > On Thu, 2025-04-03 at 07:42 +0100, Alex Kiernan wrote:
> > > > > On Wed, Apr 2, 2025 at 8:33 PM Richard Purdie
> > > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > > >
> > > > > > On Wed, 2025-04-02 at 16:02 +0000, Alex Kiernan via
> > > > > > lists.openembedded.org wrote:
> > > > > > > connman has a legacy style, this patch set adds in all the
> > > > > > > PACKAGECONFIG
> > > > > > > options which the upstream pacakge supports, removes
> > > > > > > patches which are no
> > > > > > > longer required, explicitly supports operation alongside
> > > > > > > systemd-resolved and
> > > > > > > reworks the packaging so that PACKAGECONFIG and explicit
> > > > > > > package selection for
> > > > > > > every VPN is no longer required.
> > > > > > >
> > > > > > > Everything up to the final patch should be backward
> > > > > > > compatible cleanup of the
> > > > > > > existing recipe, with only the final patch reworking the
> > > > > > > packaging.
> > > > > > >
> > > > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > > > > > ---
> > > > > > > Alex Kiernan (5):
> > > > > > > connman: Merge .inc into .bb
> > > > > > > connman: Delete patches for gold and MIPS binutils
> > > > > > > fix
> > > > > > > connman: Move ppp from DEPENDS to PACKAGECONFIG
> > > > > > > connman: Add all build options as PACKAGECONFIG
> > > > > > > connman: Rework to avoid splitting into many single
> > > > > > > binary packages
> > > > > > >
> > > > > > > meta/recipes-connectivity/connman/connman.inc | 221 -
> > > > > > > --------------------
> > > > > > > ...vice-stop-systemd-resolved-when-we-use-co.patch | 26 -
> > > > > > > --
> > > > > > > ...ange-visibility-to-default-for-debug-symb.patch | 31 -
> > > > > > > --
> > > > > > > .../connman/connman/no-version-scripts.patch | 47 -
> > > > > > > ----
> > > > > > > meta/recipes-connectivity/connman/connman_1.44.bb | 154
> > > > > > > +++++++++++++-
> > > > > > > 5 files changed, 147 insertions(+), 332 deletions(-)
> > > > > >
> > > > > > This failed in testing on the first try. I've added:
> > > > > >
> > > > > > diff --git a/meta/recipes-core/images/build-appliance-
> > > > > > image_15.0.0.bb b/meta/recipes-core/images/build-appliance-
> > > > > > image_15.0.0.bb
> > > > > > index 03f02d14ae8..c5ddea79005 100644
> > > > > > --- a/meta/recipes-core/images/build-appliance-
> > > > > > image_15.0.0.bb
> > > > > > +++ b/meta/recipes-core/images/build-appliance-
> > > > > > image_15.0.0.bb
> > > > > > @@ -6,7 +6,7 @@ LICENSE = "MIT"
> > > > > > LIC_FILES_CHKSUM =
> > > > > > "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
> > > > > > 361b4de20420"
> > > > > >
> > > > > > IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-
> > > > > > ssh-openssh packagegroup-self-hosted \
> > > > > > - kernel-dev kernel-devsrc connman connman-
> > > > > > plugin-ethernet dhcpcd \
> > > > > > + kernel-dev kernel-devsrc connman dhcpcd \
> > > > > > tzdata python3-pip perl-misc"
> > > > > >
> > > > > > IMAGE_FEATURES += "x11-base package-management splash"
> > > > >
> > > > > Is keeping all those RPROVIDES (plus doubtless more at this
> > > > > point)
> > > > > actually useful? I can see it in the traditional distribution
> > > > > world,
> > > > > but for OE-Core it feels mostly redundant to me.
> > > >
> > > > Short term, it will help fix people's builds and give some level
> > > > of
> > > > runtime compatibility. Long term, it would be deadweight we
> > > > carry. I'm
> > > > therefore torn.
> > > >
> > > > I did note that meta-agl ran into a similar issue:
> > > >
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/55/builds/1250
> > > >
> > > > With the above tweak and the tweaked nftables, the rest of the
> > > > build
> > > > was ok through.
> > >
> > > If you're leaning towards taking it, we can adapt in AGL, though I
> > > can't
> > > guarantee there won't be a brief instance of AB breakage before I
> > > push
> > > a change. Overall, I'm a bit ambivalent about removing the split
> > > out
> > > packages. I understand the desire for simplifying it, but I also
> > > see
> > > some benefits to still mirroring what most other distributions do
> > > with
> > > networkmanager packaging since there still seems to be some
> > > interest in
> > > attempting to do binary packagefeeds...
> >
> > To be honest, I'm torn, I could be persuaded either way.
> >
> > I copied more people to collect viewpoionts as well as make them
> > aware
> > of the potential breakage.
> >
> > Cheers,
> >
> > Richard
>
> I don't use conman, so my opinion is not really relevant here.
>
> But I think that PACKAGECONFIGS are of course the big advantage of
> Yocto compared to binary distributions. But one should also not forget
> why binary distributions are very successful in many areas: You can
> address many different use cases with one distribution without having
> to recompile different packages just to put together slightly different
> firmware variants. With systemd or NetworkManager, for example, we have
> the option of using PACAKGECONFGS as well as splitting it up into small
> packages. This is very useful, at least for us, which is why I think
> removing package splitting would also be a disadvantage for connman.
>
For this case, you literally have to add the PACKAGECONFIG and then
pull the resulting package into the image, the defaults are such that
you end up with a minimal package and no plugins.
But my sense here is that the consensus is to keep the splitting.
--
Alex Kiernan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OE-core] [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG
2025-04-04 12:02 ` Ross Burton
2025-04-04 12:29 ` Alexander Kanavin
@ 2025-04-08 9:38 ` Alex Kiernan
1 sibling, 0 replies; 18+ messages in thread
From: Alex Kiernan @ 2025-04-08 9:38 UTC (permalink / raw)
To: Ross Burton; +Cc: Richard Purdie, openembedded-core@lists.openembedded.org
On Fri, Apr 4, 2025 at 1:03 PM Ross Burton <Ross.Burton@arm.com> wrote:
>
> 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.
>
I guess I like the list everything, because that way you get all the
--disable options explicitly stated and nothing floating. But I don't
think that applies to anything in connman (other than the missing
iptables stuff to autoconf which already got picked up). But I also
get the implicit suggestion that if it's listed, it's supported/tested
- is the right answer really to list all the --disables in
EXTRA_OECONF? Though again, I don't think it's relevant here (there
are yet more options which I didn't expose - you can pass
--enable-...=builtin to the plugins to embed them).
Certainly feels like dropping the last two patches is the consensus here.
--
Alex Kiernan
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2025-04-08 9:39 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH OE-Core 4/5] connman: Add all build options as PACKAGECONFIG Alex Kiernan
2025-04-02 19:41 ` [OE-core] " 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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox