summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-networking/recipes-connectivity/networkmanager
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity/networkmanager')
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd110
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb)40
2 files changed, 131 insertions, 19 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
new file mode 100644
index 000000000..4fdd80d41
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
@@ -0,0 +1,110 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: network-manager
+# Required-Start: $remote_fs dbus udev
+# Required-Stop: $remote_fs dbus udev
+# Should-Start: $syslog
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: network connection manager
+# Description: Daemon for automatically switching network
+# connections to the best available connection.
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="network connection manager"
+NAME="NetworkManager"
+
+DAEMON=/usr/sbin/$NAME
+
+PIDFILE=/run/$NAME/$NAME.pid
+
+SCRIPTNAME=/etc/init.d/network-manager
+
+. /etc/init.d/functions || exit 1
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+log_daemon_msg() {
+ echo -n $*
+}
+
+log_end_msg() {
+ if [ $1 -eq 0 ]; then
+ success
+ else
+ failure
+ fi
+ echo
+}
+
+log_progress_msg () {
+ if [ -z "${1:-}" ]; then
+ return 1
+ fi
+ echo -n " $@"
+}
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $DAEMON_OPTS
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+ start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+d_reload() {
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ d_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already started"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ d_stop
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already stopped"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ reload|force-reload)
+ log_daemon_msg "Reloading $DESC" "$NAME"
+ d_reload
+ log_end_msg $?
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ status)
+ status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb
index 9215a8676..0d6e1a0b0 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb
@@ -5,7 +5,6 @@ SECTION = "net/misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
- file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \
"
DEPENDS = " \
@@ -20,10 +19,11 @@ DEPENDS = " \
curl \
"
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
+inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+ file://${BPN}.initd \
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
file://0002-Do-not-create-settings-settings-property-documentati.patch \
"
@@ -31,11 +31,8 @@ SRC_URI_append_libc-musl = " \
file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
file://musl/0002-Fix-build-with-musl.patch \
"
-SRC_URI[md5sum] = "c8c27116a8083bab5d5fcca0d03e988a"
-SRC_URI[sha256sum] = "c6e8df25e5a3c7309bc17664be8971689314884cdd08afdd6b0847d29d2a8ba6"
-
-UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/"
-UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
+SRC_URI[md5sum] = "ca1e6175c6ba97ca1adf65a67861ccd9"
+SRC_URI[sha256sum] = "4dd97ca974cd1f97990746527258f551f4257cbf011fecd01d10b7d74a6fa5c3"
S = "${WORKDIR}/NetworkManager-${PV}"
@@ -51,17 +48,8 @@ EXTRA_OECONF = " \
# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
# avoids:
# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
-#
-# and
-#
-# | In file included from ../NetworkManager-1.16.0/src/systemd/nm-sd-utils-core.c:25:
-# | ../NetworkManager-1.16.0/src/systemd/sd-adapt-core/nm-sd-adapt-core.h:68:6: error: #error neither secure_getenv nor __secure_getenv is available
-# | # error neither secure_getenv nor __secure_getenv is available
-# | ^~~~~
CFLAGS_append_libc-musl = " \
-DRTLD_DEEPBIND=0 \
- -DHAVE_SECURE_GETENV \
- -Dsecure_getenv=getenv \
"
do_compile_prepend() {
@@ -70,7 +58,7 @@ do_compile_prepend() {
PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
"
PACKAGECONFIG[systemd] = " \
@@ -88,6 +76,7 @@ PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-clien
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
@@ -102,7 +91,7 @@ FILES_libnmutil += "${libdir}/libnm-util.so.*"
FILES_libnmglib += "${libdir}/libnm-glib.so.*"
FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
+FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
FILES_${PN} += " \
${libexecdir} \
@@ -111,7 +100,7 @@ FILES_${PN} += " \
${nonarch_libdir}/NetworkManager/conf.d \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
- ${noarch_base_libdir}/udev/* \
+ ${nonarch_base_libdir}/udev/* \
${systemd_unitdir}/system \
${libdir}/pppd \
"
@@ -139,8 +128,21 @@ 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)}"
+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
+
rm -rf ${D}/run ${D}${localstatedir}/run
+
+ # For read-only filesystem, do not create links during bootup
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
+ fi
}