Message ID | 20220301161346.700028-2-adrian.freihofer@siemens.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On Tue, Mar 1, 2022 at 5:13 PM Adrian Freihofer <adrian.freihofer@gmail.com> wrote: > > - Allow to compile nmcli with libedit (alternative to gplv3 readline) > - Support iwd as well as wpa-supplicant for wifi > - Make vala build-time dependency optional > - Split all plugins into packages. By default all packages are installed > acc. to features in the PACKAGECONFIG but it's now possible to build > images where only some plugins are installed. > - Move FILES:networkmanager to last position to increase the FILES > priority of other packages. > > Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> > --- > .../networkmanager/enable-dhcpcd.conf | 2 + > .../networkmanager/enable-iwd.conf | 3 + > .../networkmanager/networkmanager_git.bb | 131 +++++++++++++----- > 3 files changed, 103 insertions(+), 33 deletions(-) > create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf > create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf > > diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf > new file mode 100644 > index 0000000000..8da4fe0487 > --- /dev/null > +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf > @@ -0,0 +1,2 @@ > +[main] > +dhcp=dhcpcd > diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf > new file mode 100644 > index 0000000000..abb5937341 > --- /dev/null > +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf > @@ -0,0 +1,3 @@ > +[device] > +wifi.iwd.autoconnect=yes > +wifi.backend=iwd > diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb > index 8c8e0ddb67..f28877e8a8 100644 > --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb > +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb > @@ -27,6 +27,8 @@ inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc upda > SRC_URI = " \ > git://gitlab.freedesktop.org/NetworkManager/NetworkManager.git;protocol=https;branch=main \ > file://${BPN}.initd \ > + file://enable-dhcpcd.conf \ > + file://enable-iwd.conf \ > file://0001-do-not-ask-host-for-ifcfg-defaults.patch \ > " > SRCREV ?= "ccb20e23e335b13f6b71354737d653ed3e88101b" > @@ -64,14 +66,16 @@ do_compile:prepend() { > export GI_TYPELIB_PATH="${B}}/src/libnm-client-impl${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" > } > > -PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ > +PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ > ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ > ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ > - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ > + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \ > + ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ > ${@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] = "\ > -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ > @@ -87,23 +91,42 @@ 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[wext] = "-Dwext=true,-Dwext=false" > PACKAGECONFIG[wifi] = "-Dwifi=true,-Dwifi=false" > +PACKAGECONFIG[iwd] = "-Dwifi=true -Diwd=true,-Diwd=false,,iwd" > PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" > PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" > PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" > +PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" > +PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" > PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" > PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" > PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" > +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" > +PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=yes,-Ddhcpcd=no,,dhcpcd" > +PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" > +PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" > + > > PACKAGES =+ " \ > + ${PN}-adsl \ > + ${PN}-bluetooth \ > + ${PN}-cloud-setup \ > ${PN}-nmcli ${PN}-nmcli-doc \ > ${PN}-nmtui ${PN}-nmtui-doc \ > - ${PN}-adsl ${PN}-cloud-setup \ > + ${PN}-wifi \ > + ${PN}-wwan \ > + ${PN}-ovs ${PN}-ovs-doc \ > + ${PN}-ppp \ > " And you promise to maintain this on future updates? Andreas > > SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" > > -FILES:${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" > +NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV_BASE}" > + > +FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" > + > +FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" > > FILES:${PN}-cloud-setup = " \ > ${libexecdir}/nm-cloud-setup \ > @@ -115,9 +138,54 @@ FILES:${PN}-cloud-setup = " \ > 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)}" > > +FILES:${PN}-nmcli = " \ > + ${bindir}/nmcli \ > +" > + > +FILES:${PN}-nmcli-doc = " \ > + ${mandir}/man1/nmcli* \ > +" > + > +FILES:${PN}-nmtui = " \ > + ${bindir}/nmtui \ > + ${bindir}/nmtui-edit \ > + ${bindir}/nmtui-connect \ > + ${bindir}/nmtui-hostname \ > +" > + > +FILES:${PN}-nmtui-doc = " \ > + ${mandir}/man1/nmtui* \ > +" > + > +FILES:${PN}-wifi = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so" > + > +FILES:${PN}-wwan = "\ > + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ > + ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ > +" > + > +FILES:${PN}-ovs = "\ > + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ > + ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ > +" > + > +FILES:${PN}-ovs-doc = "\ > + ${mandir}/man7/nm-openvswitch.7* \ > +" > + > +FILES:${PN}-ppp = "\ > + ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ > + ${libdir}/pppd/*/nm-pppd-plugin.so \ > +" > + > +FILES:${PN}-dev += " \ > + ${libdir}/pppd/*/*.la \ > + ${libdir}/NetworkManager/*.la \ > + ${NETWORKMANAGER_PLUGINDIR}/*.la \ > +" > + > FILES:${PN} += " \ > ${libexecdir} \ > - ${libdir}/NetworkManager/${PV}/*.so \ > ${libdir}/NetworkManager \ > ${libdir}/firewalld/zones \ > ${nonarch_libdir}/NetworkManager/conf.d \ > @@ -131,42 +199,29 @@ FILES:${PN} += " \ > ${datadir}/dbus-1 \ > ${nonarch_base_libdir}/udev/* \ > ${systemd_system_unitdir} \ > - ${libdir}/pppd \ > " > > -RRECOMMENDS:${PN} += "iptables \ > +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)} \ > + ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ > + ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ > + ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ > + ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ > + ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ > + ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ > " > RCONFLICTS:${PN} = "connman" > > -FILES:${PN}-dev += " \ > - ${datadir}/NetworkManager/gdb-cmd \ > - ${libdir}/pppd/*/*.la \ > - ${libdir}/NetworkManager/*.la \ > - ${libdir}/NetworkManager/${PV}/*.la \ > -" > - > -FILES:${PN}-nmcli = " \ > - ${bindir}/nmcli \ > -" > - > -FILES:${PN}-nmcli-doc = " \ > - ${mandir}/man1/nmcli* \ > -" > - > -FILES:${PN}-nmtui = " \ > - ${bindir}/nmtui \ > - ${bindir}/nmtui-edit \ > - ${bindir}/nmtui-connect \ > - ${bindir}/nmtui-hostname \ > -" > - > -FILES:${PN}-nmtui-doc = " \ > - ${mandir}/man1/nmtui* \ > -" > > INITSCRIPT_NAME = "network-manager" > -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" > +SYSTEMD_SERVICE:${PN} = "\ > + NetworkManager.service \ > + NetworkManager-dispatcher.service \ > +" > > ALTERNATIVE_PRIORITY = "100" > ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" > @@ -185,4 +240,14 @@ do_install:append() { > # systemd v210 and newer do not need this rule file > rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules > fi > + > + # Enable iwd if compiled > + if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then > + install -Dm 0644 ${WORKDIR}/enable-iwd.conf ${D}${libdir}/NetworkManager/conf.d/enable-iwd.conf > + fi > + > + # Enable dhcpd if compiled > + if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then > + install -Dm 0644 ${WORKDIR}/enable-dhcpcd.conf ${D}${libdir}/NetworkManager/conf.d/enable-dhcpcd.conf > + fi > } > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#95637): https://lists.openembedded.org/g/openembedded-devel/message/95637 > Mute This Topic: https://lists.openembedded.org/mt/89479963/3617609 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [schnitzeltony@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
> > And you promise to maintain this on future updates? > > It should not be that hard since it is what NetworkManager maintainers > do as well: > https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/contrib/fedora/rpm/NetworkManager.spec > > The use case is about supporting different devices, some with wifi, > some with wwan.... These additional packages provide the ability to > build different images for different devices, which without this split > would require different distros. Maintaining different distros to > support different build variant of NetworkManager is much less elegant > than splitting the plugins into separate packages and build just one > generic NetworkManager. > I understood your use case. Consider your answer more a 'no' Andreas
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf new file mode 100644 index 0000000000..8da4fe0487 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf @@ -0,0 +1,2 @@ +[main] +dhcp=dhcpcd diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf new file mode 100644 index 0000000000..abb5937341 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf @@ -0,0 +1,3 @@ +[device] +wifi.iwd.autoconnect=yes +wifi.backend=iwd diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb index 8c8e0ddb67..f28877e8a8 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_git.bb @@ -27,6 +27,8 @@ inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc upda SRC_URI = " \ git://gitlab.freedesktop.org/NetworkManager/NetworkManager.git;protocol=https;branch=main \ file://${BPN}.initd \ + file://enable-dhcpcd.conf \ + file://enable-iwd.conf \ file://0001-do-not-ask-host-for-ifcfg-defaults.patch \ " SRCREV ?= "ccb20e23e335b13f6b71354737d653ed3e88101b" @@ -64,14 +66,16 @@ do_compile:prepend() { export GI_TYPELIB_PATH="${B}}/src/libnm-client-impl${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" } -PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ +PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ ${@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] = "\ -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ @@ -87,23 +91,42 @@ 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[wext] = "-Dwext=true,-Dwext=false" PACKAGECONFIG[wifi] = "-Dwifi=true,-Dwifi=false" +PACKAGECONFIG[iwd] = "-Dwifi=true -Diwd=true,-Diwd=false,,iwd" PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" +PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" +PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" +PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=yes,-Ddhcpcd=no,,dhcpcd" +PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" +PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" + PACKAGES =+ " \ + ${PN}-adsl \ + ${PN}-bluetooth \ + ${PN}-cloud-setup \ ${PN}-nmcli ${PN}-nmcli-doc \ ${PN}-nmtui ${PN}-nmtui-doc \ - ${PN}-adsl ${PN}-cloud-setup \ + ${PN}-wifi \ + ${PN}-wwan \ + ${PN}-ovs ${PN}-ovs-doc \ + ${PN}-ppp \ " SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" -FILES:${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" +NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV_BASE}" + +FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" + +FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" FILES:${PN}-cloud-setup = " \ ${libexecdir}/nm-cloud-setup \ @@ -115,9 +138,54 @@ FILES:${PN}-cloud-setup = " \ 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)}" +FILES:${PN}-nmcli = " \ + ${bindir}/nmcli \ +" + +FILES:${PN}-nmcli-doc = " \ + ${mandir}/man1/nmcli* \ +" + +FILES:${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES:${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +FILES:${PN}-wifi = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so" + +FILES:${PN}-wwan = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ + ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ +" + +FILES:${PN}-ovs = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ + ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ +" + +FILES:${PN}-ovs-doc = "\ + ${mandir}/man7/nm-openvswitch.7* \ +" + +FILES:${PN}-ppp = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ + ${libdir}/pppd/*/nm-pppd-plugin.so \ +" + +FILES:${PN}-dev += " \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${NETWORKMANAGER_PLUGINDIR}/*.la \ +" + FILES:${PN} += " \ ${libexecdir} \ - ${libdir}/NetworkManager/${PV}/*.so \ ${libdir}/NetworkManager \ ${libdir}/firewalld/zones \ ${nonarch_libdir}/NetworkManager/conf.d \ @@ -131,42 +199,29 @@ FILES:${PN} += " \ ${datadir}/dbus-1 \ ${nonarch_base_libdir}/udev/* \ ${systemd_system_unitdir} \ - ${libdir}/pppd \ " -RRECOMMENDS:${PN} += "iptables \ +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)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ " RCONFLICTS:${PN} = "connman" -FILES:${PN}-dev += " \ - ${datadir}/NetworkManager/gdb-cmd \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${libdir}/NetworkManager/${PV}/*.la \ -" - -FILES:${PN}-nmcli = " \ - ${bindir}/nmcli \ -" - -FILES:${PN}-nmcli-doc = " \ - ${mandir}/man1/nmcli* \ -" - -FILES:${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" - -FILES:${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ -" INITSCRIPT_NAME = "network-manager" -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" +SYSTEMD_SERVICE:${PN} = "\ + NetworkManager.service \ + NetworkManager-dispatcher.service \ +" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" @@ -185,4 +240,14 @@ do_install:append() { # systemd v210 and newer do not need this rule file rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules fi + + # Enable iwd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then + install -Dm 0644 ${WORKDIR}/enable-iwd.conf ${D}${libdir}/NetworkManager/conf.d/enable-iwd.conf + fi + + # Enable dhcpd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then + install -Dm 0644 ${WORKDIR}/enable-dhcpcd.conf ${D}${libdir}/NetworkManager/conf.d/enable-dhcpcd.conf + fi }
- Allow to compile nmcli with libedit (alternative to gplv3 readline) - Support iwd as well as wpa-supplicant for wifi - Make vala build-time dependency optional - Split all plugins into packages. By default all packages are installed acc. to features in the PACKAGECONFIG but it's now possible to build images where only some plugins are installed. - Move FILES:networkmanager to last position to increase the FILES priority of other packages. Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> --- .../networkmanager/enable-dhcpcd.conf | 2 + .../networkmanager/enable-iwd.conf | 3 + .../networkmanager/networkmanager_git.bb | 131 +++++++++++++----- 3 files changed, 103 insertions(+), 33 deletions(-) create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-dhcpcd.conf create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/enable-iwd.conf