diff options
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity/networkmanager')
-rw-r--r-- | meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch | 34 | ||||
-rw-r--r-- | meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb) | 136 |
2 files changed, 93 insertions, 77 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch deleted file mode 100644 index 6be2d4bed1..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7b5dc04e1fcc28dc653fb7bf0e9dda3700d93218 Mon Sep 17 00:00:00 2001 -From: Yi Zhao <yi.zhao@windriver.com> -Date: Tue, 3 May 2022 15:30:37 +0800 -Subject: [PATCH] libnm-client-test: add dependency libnm_client_public_dep - -Fix parallel build error: -| In file included from ../NetworkManager-1.36.0/src/libnm-client-test/nm-test-utils-impl.c:10: -| ../NetworkManager-1.36.0/src/libnm-client-public/NetworkManager.h:47:10: fatal error: nm-enum-types.h: No such file or directory -| 47 | #include "nm-enum-types.h" -| | ^~~~~~~~~~~~~~~~~ - -Upstream-Status: Submitted -[https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1206] - -Signed-off-by: Yi Zhao <yi.zhao@windriver.com> ---- - src/libnm-client-test/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/libnm-client-test/meson.build b/src/libnm-client-test/meson.build -index 8e2fba1130..bcac437702 100644 ---- a/src/libnm-client-test/meson.build -+++ b/src/libnm-client-test/meson.build -@@ -13,6 +13,7 @@ libnm_client_test = static_library( - ], - dependencies: [ - libnm_core_public_dep, -+ libnm_client_public_dep, - glib_dep, - ], - ) --- -2.25.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb index 6c665d53bb..d52ad6e6ce 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb @@ -19,6 +19,7 @@ DEPENDS = " \ curl \ dbus \ " +DEPENDS:append:class-target = " bash-completion" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even @@ -29,9 +30,8 @@ SRC_URI = " \ file://enable-dhcpcd.conf \ file://enable-iwd.conf \ file://0001-do-not-ask-host-for-ifcfg-defaults.patch \ - file://0001-libnm-client-test-add-dependency-libnm_client_public.patch \ " -SRC_URI[sha256sum] = "ab855cbe3b41832e9a3b003810e7c7313dfe19e630d29806d14d87fdd1470cab" +SRC_URI[sha256sum] = "82a4cf07ddfeb0816787b67c0f5058ae6c50d6259c0b0541a24e35156062b2ef" S = "${WORKDIR}/NetworkManager-${PV}" @@ -41,6 +41,10 @@ NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" # ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools'] NETWORKMANAGER_DHCP_DEFAULT ??= "internal" +# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. +# ['', 'iptables', 'nftables'] +NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables" + EXTRA_OEMESON = "\ -Difcfg_rh=false \ -Dtests=yes \ @@ -71,7 +75,6 @@ PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ " -inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} PACKAGECONFIG[systemd] = "\ @@ -83,11 +86,12 @@ PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" # consolekit is not picked by shlibs, so add it to RDEPENDS too PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" -PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp,ppp" +PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp" PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf" PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls" +PACKAGECONFIG[crypto-null] = "-Dcrypto=null" PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" @@ -105,25 +109,42 @@ PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" PACKAGES =+ " \ + libnm \ ${PN}-adsl \ ${PN}-bluetooth \ ${PN}-cloud-setup \ - ${PN}-nmcli ${PN}-nmcli-doc \ - ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-nmcli \ + ${PN}-nmcli-bash-completion \ + ${PN}-nmtui \ ${PN}-wifi \ ${PN}-wwan \ - ${PN}-ovs ${PN}-ovs-doc \ + ${PN}-ovs \ ${PN}-ppp \ + ${PN}-daemon \ " -SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" +SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup" +INITSCRIPT_PACKAGES = "${PN}-daemon" NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}" +NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d" + +SUMMARY:libnm = "Libraries for adding NetworkManager support to applications" +FILES:libnm = "\ + ${libdir}/libnm.so.* \ + ${libdir}/girepository-1.0/NM-1.0.typelib \ +" + +SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager" FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" +RDEPENDS:${PN}-adsl += "${PN}-daemon" +SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager" FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" +RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}" +SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud" FILES:${PN}-cloud-setup = " \ ${libexecdir}/nm-cloud-setup \ ${systemd_system_unitdir}/nm-cloud-setup.service \ @@ -131,75 +152,117 @@ FILES:${PN}-cloud-setup = " \ ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ " +RDEPENDS:${PN}-cloud-setup += "${PN}-daemon" ALLOW_EMPTY:${PN}-cloud-setup = "1" SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" +SUMMARY:${PN}-nmcli = "NetworkManager command line client" FILES:${PN}-nmcli = " \ ${bindir}/nmcli \ " +RDEPENDS:${PN}-nmcli += "${PN}-daemon" -FILES:${PN}-nmcli-doc = " \ - ${mandir}/man1/nmcli* \ -" +SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion" +FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli" +RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion" +SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI" FILES:${PN}-nmtui = " \ ${bindir}/nmtui \ ${bindir}/nmtui-edit \ ${bindir}/nmtui-connect \ ${bindir}/nmtui-hostname \ " +RDEPENDS:${PN}-nmtui += "${PN}-daemon" -FILES:${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ +SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager" +FILES:${PN}-wifi = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \ + ${libdir}/NetworkManager/conf.d/enable-iwd.conf \ " - -FILES:${PN}-wifi = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so" - +def get_wifi_deps(d): + packageconfig = (d.getVar('PACKAGECONFIG') or "").split() + if 'wifi' in packageconfig: + if 'iwd' in packageconfig: + return 'iwd' + else: + return 'wpa-supplicant' + else: + return '' +RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}" + +SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager" FILES:${PN}-wwan = "\ ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ " +RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}" +SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager" FILES:${PN}-ovs = "\ ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ " +RDEPENDS:${PN}-ovs += "${PN}-daemon" -FILES:${PN}-ovs-doc = "\ - ${mandir}/man7/nm-openvswitch.7* \ -" - +SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager" FILES:${PN}-ppp = "\ ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ ${libdir}/pppd/*/nm-pppd-plugin.so \ " +RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}" FILES:${PN}-dev += " \ ${libdir}/pppd/*/*.la \ ${libdir}/NetworkManager/*.la \ ${NETWORKMANAGER_PLUGINDIR}/*.la \ + ${datadir}/dbus-1/interfaces/*.xml \ " -FILES:${PN} += " \ - ${libexecdir} \ +SUMMARY:${PN}-daemon += "The NetworkManager daemon" +FILES:${PN}-daemon += " \ + ${bindir}/nm-online \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ ${libdir}/NetworkManager \ - ${nonarch_libdir}/firewalld/zones \ + ${libexecdir} \ + ${localstatedir}/lib/NetworkManager \ + ${NETWORKMANAGER_DISPATCHERDIR} \ + ${nonarch_base_libdir}/udev/* \ + ${nonarch_libdir}/firewalld \ ${nonarch_libdir}/NetworkManager/conf.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d \ ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ - ${nonarch_libdir}/NetworkManager/VPN \ ${nonarch_libdir}/NetworkManager/system-connections \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${nonarch_base_libdir}/udev/* \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${sbindir}/NetworkManager \ + ${sysconfdir}/init.d/network-manager \ + ${sysconfdir}/NetworkManager \ ${systemd_system_unitdir} \ " +RRECOMMENDS:${PN}-daemon += "\ + ${NETWORKMANAGER_FIREWALL_DEFAULT} \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +INITSCRIPT_NAME:${PN}-daemon = "network-manager" +SYSTEMD_SERVICE:${PN}-daemon = "\ + NetworkManager.service \ + NetworkManager-dispatcher.service \ +" +RCONFLICTS:${PN}-daemon += "connman" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + +# The networkmanager package is an empty meta package which weakly depends on all the compiled features. +# Install this package to get all plugins and related dependencies installed. Alternatively just install +# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan +# packages to the firmware. +ALLOW_EMPTY:${PN} = "1" RRECOMMENDS:${PN} += "\ - iptables \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \ ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \ ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \ @@ -210,19 +273,6 @@ RRECOMMENDS:${PN} += "\ ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ " -RCONFLICTS:${PN} = "connman" - - -INITSCRIPT_NAME = "network-manager" -SYSTEMD_SERVICE:${PN} = "\ - NetworkManager.service \ - NetworkManager-dispatcher.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.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" do_install:append() { install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager |