From fc74201f2bb3f49e7d2ff52ac3b5ede4ca97c0d3 Mon Sep 17 00:00:00 2001 From: Taner Tas Date: Thu, 3 May 2018 16:32:40 +0300 Subject: community/networkmanager: Upgrade to 1.10.6 * Clarify license * Patches are revised * Enable dhclient utility support * Enable system-wide network configuration support * Enable polkit-agent * disable_set_hostname.patch is no more appendable. Removed. * Add wpa_supplicant as runtime dependency * Add "provide net" rule to the service file * Re-arrange configure options in alphabetical order * Create plugdev group if missing on system * Display a message during install & upgrade --- community/networkmanager/APKBUILD | 82 ++++++++++------------ .../networkmanager/disable_set_hostname.patch | 20 ------ community/networkmanager/musl-basic.patch | 53 +++++++------- community/networkmanager/networkmanager.initd | 1 + .../networkmanager/networkmanager.pre-install | 9 +++ .../networkmanager/networkmanager.pre-upgrade | 1 + 6 files changed, 76 insertions(+), 90 deletions(-) delete mode 100644 community/networkmanager/disable_set_hostname.patch create mode 100644 community/networkmanager/networkmanager.pre-install create mode 120000 community/networkmanager/networkmanager.pre-upgrade (limited to 'community/networkmanager') diff --git a/community/networkmanager/APKBUILD b/community/networkmanager/APKBUILD index bb20a51924..fac8e085e3 100644 --- a/community/networkmanager/APKBUILD +++ b/community/networkmanager/APKBUILD @@ -1,15 +1,15 @@ # Contributor: Stuart Cardall # Maintainer: William Pitcock pkgname=networkmanager -pkgver=1.7.2 -pkgrel=2 +pkgver=1.10.6 +pkgrel=0 pkgdesc="network management tool" url="http://projects.gnome.org/NetworkManager/" arch="all" -license="GPL" -depends="dhcpcd iptables dbus" +license="GPL-2.0-or-later" +depends="dhcpcd iptables dbus wpa_supplicant" +install="$pkgname.pre-install $pkgname.pre-upgrade" depends_dev= -options="!check" makedepends="$depends_dev curl-dev dbus-glib-dev @@ -31,92 +31,88 @@ makedepends="$depends_dev util-linux-dev jansson-dev vala - autoconf automake libtool " -subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.gnome.org/sources/NetworkManager/${pkgver:0:3}/NetworkManager-$pkgver.tar.xz +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc" +source="https://download.gnome.org/sources/NetworkManager/${pkgver:0:4}/NetworkManager-$pkgver.tar.xz $pkgname.conf $pkgname.initd $pkgname.rules - disable_set_hostname.patch musl-basic.patch musl-network-support.patch musl-dlopen-configure-ac.patch " +options="!check" -_builddir="$srcdir"/NetworkManager-$pkgver -prepare() { - local i - cd "$_builddir" - for i in $source; do - case $i in - *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; - esac - done +builddir="$srcdir"/NetworkManager-$pkgver +prepare() { + cd "$builddir" + default_prepare autoreconf } build() { - cd "$_builddir" + cd "$builddir" ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ - --disable-more-warnings \ - --disable-config-plugin-ibft \ - --disable-tests \ - --disable-wimax \ - --disable-introspection \ - --enable-ifupdown \ --enable-concheck \ - --with-dhcpcd=yes \ - --with-systemdsystemunitdir=no \ + --enable-ifupdown \ + --enable-modify-system \ + --enable-polkit-agent \ + --with-config-dhcp-default=dhcpcd \ --with-crypto=nss \ + --with-dhcpcd=yes \ + --with-dhclient=yes \ --with-modem-manager-1 \ --with-nmtui=yes \ - --with-wext=yes \ --with-resolvconf=yes \ --with-session-tracking=no \ + --with-systemdsystemunitdir=no \ + --with-systemd-journal=no \ + --with-systemd-logind=no \ --with-suspend-resume=upower \ + --with-wext=yes \ + --disable-config-plugin-ibft \ + --disable-gtk-doc \ + --disable-introspection \ + --disable-more-warnings \ + --disable-tests \ --without-valgrind \ - || return 1 + --disable-wimax # ourLDFLAGS confuses the gir-scanner unset LDFLAGS make libnm-core/nm-core-enum-types.h - make || return 1 + make } package() { - cd "$_builddir" - make DESTDIR="$pkgdir" install || return 1 - - install -m755 -D "$srcdir"/networkmanager.initd \ - "$pkgdir"/etc/init.d/networkmanager || return 1 + cd "$builddir" + make DESTDIR="$pkgdir" install - install -m644 -D "$srcdir/$pkgname.conf" \ - "$pkgdir/etc/NetworkManager/NetworkManager.conf" || return 1 + install -m755 -D "$srcdir"/networkmanager.initd "$pkgdir"/etc/init.d/networkmanager + install -m644 -D "$srcdir/$pkgname.conf" "$pkgdir"/etc/NetworkManager/NetworkManager.conf # allow plugdev users to modify connections install -m644 -D "$srcdir/$pkgname.rules" \ - "$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules" || return 1 + "$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules" mkdir -p "$pkgdir/usr/share/apk-tools/$pkgname" # post-install message - mv "$pkgdir/usr/share/doc/NetworkManager" "$pkgdir/usr/share/doc/$pkgname" || return 1 + mv "$pkgdir/usr/share/doc/NetworkManager" "$pkgdir/usr/share/doc/$pkgname" cat > $pkgdir/usr/share/doc/$pkgname/README.alpine <manager, &best_req4); -@@ -356,6 +357,7 @@ - } - } - -+#endif - /* If no automatically-configured hostname, try using the hostname from - * when NM started up. - */ - diff --git a/community/networkmanager/musl-basic.patch b/community/networkmanager/musl-basic.patch index 3d5bb1dca2..533ed98449 100644 --- a/community/networkmanager/musl-basic.patch +++ b/community/networkmanager/musl-basic.patch @@ -24,23 +24,9 @@ size_t page_size(void) _pure_; #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) ---- a/src/systemd/src/basic/parse-util.c -+++ b/src/systemd/src/basic/parse-util.c -@@ -25,7 +25,11 @@ - #include - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - - #include "alloc-util.h" - #include "extract-word.h" --- a/src/systemd/sd-adapt/nm-sd-adapt.h +++ b/src/systemd/sd-adapt/nm-sd-adapt.h -@@ -119,7 +119,7 @@ +@@ -134,7 +134,7 @@ # ifdef HAVE___SECURE_GETENV # define secure_getenv __secure_getenv # else @@ -49,17 +35,30 @@ # endif #endif ---- a/src/systemd/src/systemd/sd-event.h -+++ b/src/systemd/src/systemd/sd-event.h -@@ -69,11 +69,7 @@ - typedef int (*sd_event_io_handler_t)(sd_event_source *s, int fd, uint32_t revents, void *userdata); - typedef int (*sd_event_time_handler_t)(sd_event_source *s, uint64_t usec, void *userdata); - typedef int (*sd_event_signal_handler_t)(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata); --#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - typedef int (*sd_event_child_handler_t)(sd_event_source *s, const siginfo_t *si, void *userdata); --#else --typedef void* sd_event_child_handler_t; --#endif +--- a/src/systemd/src/basic/process-util.c ++++ b/src/systemd/src/basic/process-util.c +@@ -1018,8 +1018,9 @@ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ +-extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); +-extern void* __dso_handle __attribute__ ((__weak__)); ++//extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); ++//extern void* __dso_handle __attribute__ ((__weak__)); ++#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) - int sd_event_default(sd_event **e); + pid_t getpid_cached(void) { + pid_t current_value; +--- a/libnm-core/nm-json.c ++++ b/libnm-core/nm-json.c +@@ -23,6 +23,10 @@ + #include + ++#ifndef RTLD_DEEPBIND ++#define RTLD_DEEPBIND 0 ++#endif ++ + void *_nm_jansson_json_object_iter_value; + void *_nm_jansson_json_object_key_to_iter; + void *_nm_jansson_json_integer; diff --git a/community/networkmanager/networkmanager.initd b/community/networkmanager/networkmanager.initd index 575b413897..1c5e41fc0a 100644 --- a/community/networkmanager/networkmanager.initd +++ b/community/networkmanager/networkmanager.initd @@ -5,6 +5,7 @@ depend() { need dbus + provide net } start() { diff --git a/community/networkmanager/networkmanager.pre-install b/community/networkmanager/networkmanager.pre-install new file mode 100644 index 0000000000..26811dfb09 --- /dev/null +++ b/community/networkmanager/networkmanager.pre-install @@ -0,0 +1,9 @@ +#!/bin/sh + +addgroup -S plugdev 2>/dev/null + +printf " *\n * To setup system connections, regular users must be member of 'plugdev' group.\n *\n" +printf " *\n * To control WiFi devices, enable wpa_supplicant service: 'rc-update add wpa_supplicant default'\n" +printf " * then reboot the system or restart 'wpa_supplicant' and 'networkmanager' services respectively.\n *\n" + +exit 0 diff --git a/community/networkmanager/networkmanager.pre-upgrade b/community/networkmanager/networkmanager.pre-upgrade new file mode 120000 index 0000000000..a349c88895 --- /dev/null +++ b/community/networkmanager/networkmanager.pre-upgrade @@ -0,0 +1 @@ +networkmanager.pre-install \ No newline at end of file -- cgit v1.2.3