From d1dd81b40c23b1b6451a95e269394adccfbd81cc Mon Sep 17 00:00:00 2001 From: Jory Pratt Date: Sun, 30 May 2021 11:14:09 -0500 Subject: net-misc/networkmanager: supported via ::gentoo with 1.30.x Signed-off-by: Jory Pratt --- net-misc/networkmanager/Manifest | 2 - ...top.NetworkManager.settings.modify.system.rules | 7 - ...0001-uncouple-glibc-functions-and-headers.patch | 60 ---- .../files/1.28.0/0002-network-support.patch | 62 ---- .../1.28.0/0003-Fix-includes-to-support-musl.patch | 110 ------- ...4-Fix-pthread-support-for-non-glibc-users.patch | 54 ---- .../0005-define-compare-for-non-glibc-users.patch | 30 -- ...support-for-reallocarray-0-but-the-functi.patch | 43 --- net-misc/networkmanager/files/10-openrc-status-r4 | 35 -- .../networkmanager/files/conf.d.NetworkManager | 4 - .../networkmanager/files/init.d.NetworkManager-r2 | 62 ---- net-misc/networkmanager/files/musl-basic.patch | 46 --- net-misc/networkmanager/files/musl-compar.patch | 18 -- .../networkmanager/files/musl-fix-includes.patch | 90 ------ .../files/musl-network-support.patch | 42 --- net-misc/networkmanager/files/musl-no-drand.patch | 58 ---- .../networkmanager/files/musl-process-util.patch | 40 --- .../networkmanager-1.26.4-iwd-fixes-pr640.patch | 169 ---------- .../files/networkmanager-1.28.0-dhcpcd9.patch | 265 --------------- net-misc/networkmanager/files/reallocarray-1.patch | 43 --- net-misc/networkmanager/metadata.xml | 37 --- .../networkmanager/networkmanager-1.26.4.ebuild | 357 --------------------- .../networkmanager/networkmanager-1.28.0-r1.ebuild | 356 -------------------- 23 files changed, 1990 deletions(-) delete mode 100644 net-misc/networkmanager/Manifest delete mode 100644 net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules delete mode 100644 net-misc/networkmanager/files/1.28.0/0001-uncouple-glibc-functions-and-headers.patch delete mode 100644 net-misc/networkmanager/files/1.28.0/0002-network-support.patch delete mode 100644 net-misc/networkmanager/files/1.28.0/0003-Fix-includes-to-support-musl.patch delete mode 100644 net-misc/networkmanager/files/1.28.0/0004-Fix-pthread-support-for-non-glibc-users.patch delete mode 100644 net-misc/networkmanager/files/1.28.0/0005-define-compare-for-non-glibc-users.patch delete mode 100644 net-misc/networkmanager/files/1.28.0/0006-musl-added-support-for-reallocarray-0-but-the-functi.patch delete mode 100644 net-misc/networkmanager/files/10-openrc-status-r4 delete mode 100644 net-misc/networkmanager/files/conf.d.NetworkManager delete mode 100644 net-misc/networkmanager/files/init.d.NetworkManager-r2 delete mode 100644 net-misc/networkmanager/files/musl-basic.patch delete mode 100644 net-misc/networkmanager/files/musl-compar.patch delete mode 100644 net-misc/networkmanager/files/musl-fix-includes.patch delete mode 100644 net-misc/networkmanager/files/musl-network-support.patch delete mode 100644 net-misc/networkmanager/files/musl-no-drand.patch delete mode 100644 net-misc/networkmanager/files/musl-process-util.patch delete mode 100644 net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch delete mode 100644 net-misc/networkmanager/files/networkmanager-1.28.0-dhcpcd9.patch delete mode 100644 net-misc/networkmanager/files/reallocarray-1.patch delete mode 100644 net-misc/networkmanager/metadata.xml delete mode 100644 net-misc/networkmanager/networkmanager-1.26.4.ebuild delete mode 100644 net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest deleted file mode 100644 index e16febce..00000000 --- a/net-misc/networkmanager/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST NetworkManager-1.26.4.tar.xz 5051424 BLAKE2B 53a8fd9f9a061b9ac6b117f431e72b1967cfd2fffb539e0dc9335c37a3a59dc33562e81f7887019c3460f403a95b96e8105b1ae41b00c8488ae12a370a3d82ff SHA512 91e865c83a6ae694c9f6aa50e7f938dfa55bfddac32a6dfb73e6edb34b2539068ff9f83bf662bb2d689bd3c66cf53d7fa015930940cf7bda2d4a16561cf02328 -DIST NetworkManager-1.28.0.tar.xz 5129848 BLAKE2B 37dc9cda283dad29a70c85ed41a77844b4f60a9815be4b6780fbefecfeffb644fd67ea65373a1895fd2102f2beec9ad141b6e9a92a1a32de646d64acd4250b62 SHA512 ab0bc39626dc55df4e122ad6e1a8086e1467f44bdd41c4491c752dca3ffb549796e0ac888041f12f661f2f6cf4142d0fce59b5135549e48a0076fafcdc45ca06 diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules deleted file mode 100644 index d00b2685..00000000 --- a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules +++ /dev/null @@ -1,7 +0,0 @@ -// Let users in plugdev group modify NetworkManager -polkit.addRule(function(action, subject) { - if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && - subject.isInGroup("plugdev") && subject.active) { - return "yes"; - } -}); diff --git a/net-misc/networkmanager/files/1.28.0/0001-uncouple-glibc-functions-and-headers.patch b/net-misc/networkmanager/files/1.28.0/0001-uncouple-glibc-functions-and-headers.patch deleted file mode 100644 index 59f524f3..00000000 --- a/net-misc/networkmanager/files/1.28.0/0001-uncouple-glibc-functions-and-headers.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 839343b02e59cb36e58f7e3def8bb39bf4ee3d5b Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Thu, 11 Mar 2021 07:59:56 -0600 -Subject: [PATCH] uncouple glibc functions and headers - ---- - shared/nm-glib-aux/nm-json-aux.c | 4 ++++ - shared/systemd/src/basic/stdio-util.h | 2 ++ - shared/systemd/src/basic/util.h | 6 ++++++ - 3 files changed, 12 insertions(+) - -diff --git a/shared/nm-glib-aux/nm-json-aux.c b/shared/nm-glib-aux/nm-json-aux.c -index 4212e62..83114c7 100644 ---- a/shared/nm-glib-aux/nm-json-aux.c -+++ b/shared/nm-glib-aux/nm-json-aux.c -@@ -9,6 +9,10 @@ - - #include - -+#ifndef RTLD_DEEPBIND -+#define RTLD_DEEPBIND 0 -+#endif -+ - /*****************************************************************************/ - - static void -diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h -index c3b9448..e80a938 100644 ---- a/shared/systemd/src/basic/stdio-util.h -+++ b/shared/systemd/src/basic/stdio-util.h -@@ -1,7 +1,9 @@ - /* SPDX-License-Identifier: LGPL-2.1+ */ - #pragma once - -+#if defined(__GLIBC__) - #include -+#endif - #include - #include - #include -diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h -index 6fc7480..fab72e5 100644 ---- a/shared/systemd/src/basic/util.h -+++ b/shared/systemd/src/basic/util.h -@@ -30,6 +30,12 @@ static inline unsigned u64log2(uint64_t n) { - #endif - } - -+#if !defined(__GLIBC__) -+typedef int (*__compar_fn_t) (const void*, const void*); -+typedef __compar_fn_t comparison_fn_t; -+typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -+#endif -+ - static inline unsigned u32ctz(uint32_t n) { - #if __SIZEOF_INT__ == 4 - return n != 0 ? __builtin_ctz(n) : 32; --- -2.26.2 - diff --git a/net-misc/networkmanager/files/1.28.0/0002-network-support.patch b/net-misc/networkmanager/files/1.28.0/0002-network-support.patch deleted file mode 100644 index 4915ffb1..00000000 --- a/net-misc/networkmanager/files/1.28.0/0002-network-support.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 08d889a2bcaaad17a92303277b331a515bf40fb8 Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 11 Mar 2021 07:42:39 -0600 -Subject: [PATCH 2/6] network support - ---- - libnm-core/nm-utils.h | 4 ++++ - shared/systemd/src/basic/socket-util.h | 5 +++++ - src/platform/wifi/nm-wifi-utils.h | 4 ++++ - 3 files changed, 13 insertions(+) - -diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h -index 9589c51..6b42883 100644 ---- a/libnm-core/nm-utils.h -+++ b/libnm-core/nm-utils.h -@@ -15,7 +15,11 @@ - #include - - /* For ETH_ALEN and INFINIBAND_ALEN */ -+#if defined(__GLIBC__) - #include -+#else -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - #include - - #include "nm-core-enum-types.h" -diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h -index 1ece911..c6d5a60 100644 ---- a/shared/systemd/src/basic/socket-util.h -+++ b/shared/systemd/src/basic/socket-util.h -@@ -13,6 +13,11 @@ - #include - #include - #include -+#if !defined(__GLIBC__) -+/* SIOCGSTAMPNS from linux/asm-generic.h -+ * for src/systemd/src/libsystemd-network/sd-lldp.c */ -+#include -+#endif - - #include "macro.h" - #include "missing_socket.h" -diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h -index d1df2fb..792f4ab 100644 ---- a/src/platform/wifi/nm-wifi-utils.h -+++ b/src/platform/wifi/nm-wifi-utils.h -@@ -7,7 +7,11 @@ - #ifndef __WIFI_UTILS_H__ - #define __WIFI_UTILS_H__ - -+#if defined(__GLIBC__) - #include -+#else /* musl libc */ -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - - #include "nm-dbus-interface.h" - #include "nm-setting-wireless.h" --- -2.26.2 - diff --git a/net-misc/networkmanager/files/1.28.0/0003-Fix-includes-to-support-musl.patch b/net-misc/networkmanager/files/1.28.0/0003-Fix-includes-to-support-musl.patch deleted file mode 100644 index cdf9d530..00000000 --- a/net-misc/networkmanager/files/1.28.0/0003-Fix-includes-to-support-musl.patch +++ /dev/null @@ -1,110 +0,0 @@ -From a089fdec09fe8893ee8cff79ce2027d3ea2fa5bb Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 11 Mar 2021 07:42:59 -0600 -Subject: [PATCH 3/6] Fix includes to support musl - ---- - src/NetworkManagerUtils.c | 1 + - src/devices/nm-device-bridge.c | 2 ++ - src/devices/nm-device.c | 4 ++++ - src/nm-manager.c | 1 + - src/platform/nm-linux-platform.c | 5 +++++ - src/systemd/src/libsystemd-network/sd-dhcp6-client.c | 4 ++++ - 6 files changed, 17 insertions(+) - -diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c -index 4739e9d..ceadb50 100644 ---- a/src/NetworkManagerUtils.c -+++ b/src/NetworkManagerUtils.c -@@ -4,6 +4,7 @@ - * Copyright (C) 2005 - 2008 Novell, Inc. - */ - -+#include - #include "nm-default.h" - - #include "NetworkManagerUtils.h" -diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c -index 48dcec1..e78eab5 100644 ---- a/src/devices/nm-device-bridge.c -+++ b/src/devices/nm-device-bridge.c -@@ -15,6 +15,8 @@ - #include "nm-device-factory.h" - #include "nm-core-internal.h" - -+#include -+ - #include "nm-device-logging.h" - _LOG_DECLARE_SELF(NMDeviceBridge); - -diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c -index 0be05f2..ebf233b 100644 ---- a/src/devices/nm-device.c -+++ b/src/devices/nm-device.c -@@ -17,7 +17,11 @@ - #include - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - - #include "nm-std-aux/unaligned.h" -diff --git a/src/nm-manager.c b/src/nm-manager.c -index 46f81c7..090916e 100644 ---- a/src/nm-manager.c -+++ b/src/nm-manager.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #include "nm-glib-aux/nm-c-list.h" - -diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index b377c85..7e32eea 100644 ---- a/src/platform/nm-linux-platform.c -+++ b/src/platform/nm-linux-platform.c -@@ -6,6 +6,7 @@ - #include "nm-default.h" - - #include "nm-linux-platform.h" -+#include "wpan/nm-wpan-utils.h" - - #include - #include -@@ -14,7 +15,11 @@ - #include - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -index ec7f1be..ae63a86 100644 ---- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -+++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -@@ -7,7 +7,11 @@ - - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - - #include "sd-dhcp6-client.h" --- -2.26.2 - diff --git a/net-misc/networkmanager/files/1.28.0/0004-Fix-pthread-support-for-non-glibc-users.patch b/net-misc/networkmanager/files/1.28.0/0004-Fix-pthread-support-for-non-glibc-users.patch deleted file mode 100644 index 6ac79bef..00000000 --- a/net-misc/networkmanager/files/1.28.0/0004-Fix-pthread-support-for-non-glibc-users.patch +++ /dev/null @@ -1,54 +0,0 @@ -From edd98123a8aa41c799331d6ab844d026ecff2c46 Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 11 Mar 2021 07:43:23 -0600 -Subject: [PATCH 4/6] Fix pthread support for non glibc users - ---- - shared/systemd/src/basic/process-util.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c -index 03ca04e..1e97688 100644 ---- a/shared/systemd/src/basic/process-util.c -+++ b/shared/systemd/src/basic/process-util.c -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifndef __GLIBC__ -+#include -+#endif - #if 0 /* NM_IGNORED */ - #if HAVE_VALGRIND_VALGRIND_H - #include -@@ -1152,11 +1155,13 @@ void reset_cached_pid(void) { - cached_pid = CACHED_PID_UNSET; - } - -+#ifdef __GLIBC__ - /* 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 _weak_; -+#endif - - pid_t getpid_cached(void) { - static bool installed = false; -@@ -1185,7 +1190,12 @@ pid_t getpid_cached(void) { - * only half-documented (glibc doesn't document it but LSB does — though only superficially) - * we'll check for errors only in the most generic fashion possible. */ - -- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { -+ #ifdef __GLIBC__ -+ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { -+ #else -+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { -+ #endif -+ - /* OOM? Let's try again later */ - cached_pid = CACHED_PID_UNSET; - return new_pid; --- -2.26.2 - diff --git a/net-misc/networkmanager/files/1.28.0/0005-define-compare-for-non-glibc-users.patch b/net-misc/networkmanager/files/1.28.0/0005-define-compare-for-non-glibc-users.patch deleted file mode 100644 index e2720d74..00000000 --- a/net-misc/networkmanager/files/1.28.0/0005-define-compare-for-non-glibc-users.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 062717e43db51cad0528415f619300e8f5a282cf Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 11 Mar 2021 07:45:17 -0600 -Subject: [PATCH 5/6] define compare for non glibc users - ---- - shared/systemd/src/basic/sort-util.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h -index a8dc3bb..d619a54 100644 ---- a/shared/systemd/src/basic/sort-util.h -+++ b/shared/systemd/src/basic/sort-util.h -@@ -5,6 +5,13 @@ - - #include "macro.h" - -+#ifndef __COMPAR_FN_T -+# define __COMPAR_FN_T -+typedef int (*__compar_fn_t) (const void *, const void *); -+typedef __compar_fn_t comparison_fn_t; -+typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -+#endif -+ - void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, - __compar_d_fn_t compar, void *arg); - --- -2.26.2 - diff --git a/net-misc/networkmanager/files/1.28.0/0006-musl-added-support-for-reallocarray-0-but-the-functi.patch b/net-misc/networkmanager/files/1.28.0/0006-musl-added-support-for-reallocarray-0-but-the-functi.patch deleted file mode 100644 index 3c1a3917..00000000 --- a/net-misc/networkmanager/files/1.28.0/0006-musl-added-support-for-reallocarray-0-but-the-functi.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 94820f35e5559d610cd2a5bf967932d97df6fed9 Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Thu, 11 Mar 2021 07:46:00 -0600 -Subject: [PATCH 6/6] musl [added support for reallocarray](0), but the - function prototype is declared in `stdlib.h` instead of `malloc.h`. - -Update the check for reallocarray to check both in `malloc.h` and -`stdlib.h`. - -[0]:https://git.musl-libc.org/cgit/musl/commit/?id=821083ac7b54eaa040d5a8ddc67c6206a175e0ca ---- - configure | 2 +- - configure.ac | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index ec42b54..8e87c92 100755 ---- a/configure -+++ b/configure -@@ -18250,7 +18250,7 @@ _ACEOF - - ac_fn_c_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" " - #include -- -+#include - " - if test "x$ac_cv_have_decl_reallocarray" = xyes; then : - ac_have_decl=1 -diff --git a/configure.ac b/configure.ac -index 8483dd7..d32bd46 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -83,6 +83,7 @@ AC_CHECK_DECLS([ - reallocarray], - [], [], [[ - #include -+#include - ]]) - - AC_CHECK_DECLS([ --- -2.26.2 - diff --git a/net-misc/networkmanager/files/10-openrc-status-r4 b/net-misc/networkmanager/files/10-openrc-status-r4 deleted file mode 100644 index e195ccc1..00000000 --- a/net-misc/networkmanager/files/10-openrc-status-r4 +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# Copyright (c) 2012 Alexandre Rostovtsev -# Released under the 2-clause BSD license. - -# Ensures that the NetworkManager OpenRC service is marked as started and -# providing net only when it has a successful connection. - -if [ ! -e "/run/openrc/softlevel" ]; then - # OpenRC is not running - exit 0 -fi - -# Ensure rc-service is in PATH -PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin" - -# Exit if the NetworkManager OpenRC service is not running -rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0 - -# Call rc-service in background mode so that the start/stop functions update -# NetworkManager service status to started or inactive instead of actually -# starting or stopping the daemon -export IN_BACKGROUND=YES - -case "$2" in - up) nm-online -t 0 -x && - ! rc-service NetworkManager status 2>&1 | grep -q started && - exec rc-service NetworkManager start ;; - down) nm-online -t 0 -x || - rc-service NetworkManager status 2>&1 | grep -q stopped || - exec rc-service NetworkManager stop ;; - pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped || - exec rc-service NetworkManager stop ;; -esac -exit 0 -# vim: set ts=4: diff --git a/net-misc/networkmanager/files/conf.d.NetworkManager b/net-misc/networkmanager/files/conf.d.NetworkManager deleted file mode 100644 index 4a992296..00000000 --- a/net-misc/networkmanager/files/conf.d.NetworkManager +++ /dev/null @@ -1,4 +0,0 @@ -# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT -# seconds after starting, the service will be marked as inactive, and it will -# continue to wait for a connection in background mode. -INACTIVE_TIMEOUT=1 diff --git a/net-misc/networkmanager/files/init.d.NetworkManager-r2 b/net-misc/networkmanager/files/init.d.NetworkManager-r2 deleted file mode 100644 index f7b95c04..00000000 --- a/net-misc/networkmanager/files/init.d.NetworkManager-r2 +++ /dev/null @@ -1,62 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2008 Saleem Abdulrasool -# Copyright 2013-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="NetworkManager daemon. The service is marked as started only \ -when a network connection is established." - -depend() { - need dbus - use consolekit - provide net -} - -start_pre() { - checkpath -q -d -m 0755 /run/NetworkManager -} - -start() { - # If we are re-called by a dispatcher event, we want to mark the service - # as started without starting the daemon again - yesno "${IN_BACKGROUND}" && return 0 - - [ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1" - - ebegin "Starting NetworkManager" - start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \ - --exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid - local _retval=$? - eend "${_retval}" - if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then - einfo "Marking NetworkManager as inactive. It will automatically be marked" - einfo "as started after a network connection has been established." - mark_service_inactive - fi - return "${_retval}" -} - -stop() { - # If we are re-called by a dispatcher event, we want to mark the service - # as inactive without stopping the daemon - if yesno "${IN_BACKGROUND}"; then - mark_service_inactive "${SVCNAME}" - return 0 - fi - - ebegin "Stopping NetworkManager" - local pidfile=/run/NetworkManager/NetworkManager.pid - if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then - # Try stopping the pid file used by <0.9.7 - pidfile=/var/run/NetworkManager.pid - start-stop-daemon --stop --quiet --pidfile "${pidfile}" - ret=$? - [ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}" - eend ${ret} - else - start-stop-daemon --stop --quiet --pidfile "${pidfile}" - eend $? - fi -} - -# vim: set ft=gentoo-init-d ts=4 : diff --git a/net-misc/networkmanager/files/musl-basic.patch b/net-misc/networkmanager/files/musl-basic.patch deleted file mode 100644 index 2e0d562d..00000000 --- a/net-misc/networkmanager/files/musl-basic.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/libnm-core/nm-json.c b/libnm-core/nm-json.c -index aa181a4..98c39fc 100644 ---- 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/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h -index c3b9448..e80a938 100644 ---- a/shared/systemd/src/basic/stdio-util.h -+++ b/shared/systemd/src/basic/stdio-util.h -@@ -1,7 +1,9 @@ - /* SPDX-License-Identifier: LGPL-2.1+ */ - #pragma once - -+#if defined(__GLIBC__) - #include -+#endif - #include - #include - #include -diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h -index 25e6ab8..7967e8a 100644 ---- a/shared/systemd/src/basic/util.h -+++ b/shared/systemd/src/basic/util.h -@@ -46,6 +46,12 @@ static inline unsigned u64log2(uint64_t n) { - #endif - } - -+#if !defined(__GLIBC__) -+typedef int (*__compar_fn_t) (const void*, const void*); -+typedef __compar_fn_t comparison_fn_t; -+typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -+#endif -+ - static inline unsigned u32ctz(uint32_t n) { - #if __SIZEOF_INT__ == 4 - return n != 0 ? __builtin_ctz(n) : 32; diff --git a/net-misc/networkmanager/files/musl-compar.patch b/net-misc/networkmanager/files/musl-compar.patch deleted file mode 100644 index 1b1de2f2..00000000 --- a/net-misc/networkmanager/files/musl-compar.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h -index e029f86..935f136 100644 ---- a/shared/systemd/src/basic/sort-util.h -+++ b/shared/systemd/src/basic/sort-util.h -@@ -5,6 +5,13 @@ - - #include "macro.h" - -+#ifndef __COMPAR_FN_T -+# define __COMPAR_FN_T -+typedef int (*__compar_fn_t) (const void *, const void *); -+typedef __compar_fn_t comparison_fn_t; -+typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -+#endif -+ - void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, - __compar_d_fn_t compar, void *arg); - diff --git a/net-misc/networkmanager/files/musl-fix-includes.patch b/net-misc/networkmanager/files/musl-fix-includes.patch deleted file mode 100644 index 98f8bc28..00000000 --- a/net-misc/networkmanager/files/musl-fix-includes.patch +++ /dev/null @@ -1,90 +0,0 @@ ---- a/src/NetworkManagerUtils.c 2020-07-17 20:05:45.382005791 +0200 -+++ b/src/NetworkManagerUtils.c 2020-07-17 20:05:39.721463542 +0200 -@@ -4,6 +4,7 @@ - * Copyright (C) 2005 - 2008 Novell, Inc. - */ - -+#include - #include "nm-default.h" - - #include "NetworkManagerUtils.h" -diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c -index e7a4a05..7578abf 100644 ---- a/src/devices/nm-device.c -+++ b/src/devices/nm-device.c -@@ -17,7 +17,11 @@ - #include - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - #include - -diff --git a/src/nm-manager.c b/src/nm-manager.c -index 132cf5a..0dd71dd 100644 ---- a/src/nm-manager.c -+++ b/src/nm-manager.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #include "nm-glib-aux/nm-c-list.h" - -diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index 305ae52..10cfec6 100644 ---- a/src/platform/nm-linux-platform.c -+++ b/src/platform/nm-linux-platform.c -@@ -6,6 +6,7 @@ - #include "nm-default.h" - - #include "nm-linux-platform.h" -+#include "wpan/nm-wpan-utils.h" - - #include - #include -@@ -14,7 +15,11 @@ - #include - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -index e1150f9..3cb8390 100644 ---- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -+++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c -@@ -7,7 +7,11 @@ - - #include - #include -+#if defined(__GLIBC__) - #include -+#else -+#include -+#endif - #include - - #include "sd-dhcp6-client.h" -diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c -index c93c6a5..66d2532 100644 ---- a/src/devices/nm-device-bridge.c -+++ b/src/devices/nm-device-bridge.c -@@ -15,6 +15,8 @@ - #include "nm-device-factory.h" - #include "nm-core-internal.h" - -+#include -+ - #include "nm-device-logging.h" - _LOG_DECLARE_SELF(NMDeviceBridge); diff --git a/net-misc/networkmanager/files/musl-network-support.patch b/net-misc/networkmanager/files/musl-network-support.patch deleted file mode 100644 index 36536df6..00000000 --- a/net-misc/networkmanager/files/musl-network-support.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/libnm-core/nm-utils.h -+++ b/libnm-core/nm-utils.h -@@ -30,7 +30,11 @@ - #include - - /* For ETH_ALEN and INFINIBAND_ALEN */ -+#if defined(__GLIBC__) - #include -+#else -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - #include - - #include "nm-core-enum-types.h" ---- a/src/platform/wifi/nm-wifi-utils.h -+++ b/src/platform/wifi/nm-wifi-utils.h -@@ -22,7 +22,11 @@ - #ifndef __WIFI_UTILS_H__ - #define __WIFI_UTILS_H__ - -+#if defined(__GLIBC__) - #include -+#else /* musl libc */ -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - - #include "nm-dbus-interface.h" - ---- a/shared/systemd/src/basic/socket-util.h 2019-03-16 15:41:33.287235649 +0100 -+++ b/shared/systemd/src/basic/socket-util.h 2019-03-16 15:42:24.273912106 +0100 -@@ -12,6 +12,11 @@ - #include - #include - #include -+#if !defined(__GLIBC__) -+/* SIOCGSTAMPNS from linux/asm-generic.h -+ * for src/systemd/src/libsystemd-network/sd-lldp.c */ -+#include -+#endif - - #include "macro.h" - #include "missing_socket.h" diff --git a/net-misc/networkmanager/files/musl-no-drand.patch b/net-misc/networkmanager/files/musl-no-drand.patch deleted file mode 100644 index 46e3a795..00000000 --- a/net-misc/networkmanager/files/musl-no-drand.patch +++ /dev/null @@ -1,58 +0,0 @@ -From ec471e66ee14d7da06d4d0a22bc3cdb5f615fd6f Mon Sep 17 00:00:00 2001 -From: Enno Boland -Date: Wed, 7 Aug 2019 16:51:16 +0200 -Subject: [PATCH] use jrand48 instead of mrand48_r on non glibc platforms - ---- - shared/n-dhcp4/src/n-dhcp4-c-probe.c | 8 ++++++++ - shared/n-dhcp4/src/n-dhcp4-private.h | 4 ++++ - 2 files changed, 12 insertions(+) - -diff --git a/shared/n-dhcp4/src/n-dhcp4-c-probe.c b/shared/n-dhcp4/src/n-dhcp4-c-probe.c -index 308cff8307..9463528b1f 100644 ---- a/shared/n-dhcp4/src/n-dhcp4-c-probe.c -+++ b/shared/n-dhcp4/src/n-dhcp4-c-probe.c -@@ -362,8 +362,12 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe - seed16v[1] = (u64 >> 16) ^ (u64 >> 0); - seed16v[2] = (u64 >> 32) ^ (u64 >> 16); - -+#ifdef __GLIBC__ - r = seed48_r(seed16v, &config->entropy); - c_assert(!r); -+#else -+ memcpy(config->entropy, seed16v, sizeof seed16v); -+#endif - } - - /** -@@ -377,10 +381,14 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe - */ - uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) { - long int result; -+#ifdef __GLIBC__ - int r; - - r = mrand48_r(&config->entropy, &result); - c_assert(!r); -+#else -+ result = jrand48(config->entropy); -+#endif - - return result; - }; -diff --git a/shared/n-dhcp4/src/n-dhcp4-private.h b/shared/n-dhcp4/src/n-dhcp4-private.h -index c38ddbfc80..fb48807712 100644 ---- a/shared/n-dhcp4/src/n-dhcp4-private.h -+++ b/shared/n-dhcp4/src/n-dhcp4-private.h -@@ -259,7 +259,11 @@ struct NDhcp4ClientProbeConfig { - bool inform_only; - bool init_reboot; - struct in_addr requested_ip; -+#ifdef __GLIBC__ - struct drand48_data entropy; /* entropy pool */ -+#else -+ unsigned short entropy[3]; /* entropy pool */ -+#endif - uint64_t ms_start_delay; /* max ms to wait before starting probe */ - NDhcp4ClientProbeOption *options[UINT8_MAX + 1]; - int8_t request_parameters[UINT8_MAX + 1]; diff --git a/net-misc/networkmanager/files/musl-process-util.patch b/net-misc/networkmanager/files/musl-process-util.patch deleted file mode 100644 index 0eb0057f..00000000 --- a/net-misc/networkmanager/files/musl-process-util.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/shared/systemd/src/basic/process-util.c -+++ b/shared/systemd/src/basic/process-util.c -@@ -21,6 +21,9 @@ - #include - #include - #include -+#ifndef __GLIBC__ -+#include -+#endif - #if 0 /* NM_IGNORED */ - #if HAVE_VALGRIND_VALGRIND_H - #include -@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) { - cached_pid = CACHED_PID_UNSET; - } - -+#ifdef __GLIBC__ - /* 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 _weak_; -+#endif - - pid_t getpid_cached(void) { - static bool installed = false; -@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) { - * only half-documented (glibc doesn't document it but LSB does — though only superficially) - * we'll check for errors only in the most generic fashion possible. */ - -- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { -+ #ifdef __GLIBC__ -+ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { -+ #else -+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { -+ #endif -+ - /* OOM? Let's try again later */ - cached_pid = CACHED_PID_UNSET; - return new_pid; diff --git a/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch b/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch deleted file mode 100644 index b3b63758..00000000 --- a/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch +++ /dev/null @@ -1,169 +0,0 @@ -Backport of https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/640 - ---- a/src/devices/wifi/nm-device-iwd.c -+++ b/src/devices/wifi/nm-device-iwd.c -@@ -1905,38 +1905,39 @@ schedule_periodic_scan (NMDeviceIwd *self, gboolean initial_scan) - { - NMDeviceIwdPrivate *priv = NM_DEVICE_IWD_GET_PRIVATE (self); - GVariant *value; -- gboolean disconnected; -+ gboolean disconnected = TRUE; - guint interval; - -- if (!priv->can_scan || priv->scan_requested) -- return; -- -- value = g_dbus_proxy_get_cached_property (priv->dbus_station_proxy, "State"); -- disconnected = nm_streq0 (get_variant_state (value), "disconnected"); -- g_variant_unref (value); -+ if (priv->can_scan) { -+ value = g_dbus_proxy_get_cached_property (priv->dbus_station_proxy, "State"); -+ disconnected = nm_streq0 (get_variant_state (value), "disconnected"); -+ g_variant_unref (value); -+ } - - /* Start scan immediately after a disconnect, mode change or -- * device UP, otherwise wait a period dependent on the current -- * state. -+ * device UP, otherwise wait 10 seconds. When connected, update -+ * AP list mainly on UI requests. - * - * (initial_scan && disconnected) override priv->scanning below - * because of an IWD quirk where a device will often be in the - * autoconnect state and scanning at the time of our initial_scan, -- * but our logic will the send it a Disconnect() causeing IWD to -+ * but our logic will then send it a Disconnect() causing IWD to - * exit autoconnect and interrupt the ongoing scan, meaning that - * we still want a new scan ASAP. - */ -- if (initial_scan && disconnected) -+ if (!priv->can_scan || !disconnected || priv->scan_requested || priv->scanning) -+ interval = -1; -+ else if (initial_scan) - interval = 0; -- else if (!priv->periodic_scan_id && !priv->scanning) -- interval = disconnected ? 10 : 20; -+ else if (!priv->periodic_scan_id) -+ interval = 10; - else - return; - - nm_clear_g_source (&priv->periodic_scan_id); -- priv->periodic_scan_id = g_timeout_add_seconds (interval, -- periodic_scan_timeout_cb, -- self); -+ -+ if (interval != (guint) -1) -+ priv->periodic_scan_id = g_timeout_add_seconds (interval, periodic_scan_timeout_cb, self); - } - - static void -@@ -2331,7 +2332,6 @@ powered_changed (NMDeviceIwd *self, gboolean new_powered) - update_aps (self); - } else { - set_can_scan (self, FALSE); -- nm_clear_g_source (&priv->periodic_scan_id); - priv->scanning = FALSE; - priv->scan_requested = FALSE; - priv->can_connect = FALSE; -@@ -2537,17 +2537,7 @@ dispose (GObject *object) - - nm_clear_g_cancellable (&priv->cancellable); - -- nm_clear_g_source (&priv->periodic_scan_id); -- -- cleanup_association_attempt (self, TRUE); -- -- g_clear_object (&priv->dbus_device_proxy); -- g_clear_object (&priv->dbus_station_proxy); -- g_clear_object (&priv->dbus_ap_proxy); -- g_clear_object (&priv->dbus_adhoc_proxy); -- g_clear_object (&priv->dbus_obj); -- -- remove_all_aps (self); -+ nm_device_iwd_set_dbus_object(self, NULL); - - G_OBJECT_CLASS (nm_device_iwd_parent_class)->dispose (object); - ---- a/src/devices/wifi/nm-iwd-manager.c -+++ b/src/devices/wifi/nm-iwd-manager.c -@@ -622,6 +622,38 @@ interface_removed (GDBusObjectManager *object_manager, GDBusObject *object, - } - } - -+static void -+object_added(GDBusObjectManager *object_manager, GDBusObject *object, gpointer user_data) -+{ -+ GList *interfaces, *iter; -+ -+ interfaces = g_dbus_object_get_interfaces(object); -+ -+ for (iter = interfaces; iter; iter = iter->next) { -+ GDBusInterface *interface = G_DBUS_INTERFACE(iter->data); -+ -+ interface_added(NULL, object, interface, user_data); -+ } -+ -+ g_list_free_full(interfaces, g_object_unref); -+} -+ -+static void -+object_removed(GDBusObjectManager *object_manager, GDBusObject *object, gpointer user_data) -+{ -+ GList *interfaces, *iter; -+ -+ interfaces = g_dbus_object_get_interfaces(object); -+ -+ for (iter = interfaces; iter; iter = iter->next) { -+ GDBusInterface *interface = G_DBUS_INTERFACE(iter->data); -+ -+ interface_removed(NULL, object, interface, user_data); -+ } -+ -+ g_list_free_full(interfaces, g_object_unref); -+} -+ - static void - connection_removed (NMSettings *settings, - NMSettingsConnection *sett_conn, -@@ -682,22 +714,6 @@ _om_has_name_owner (GDBusObjectManager *object_manager) - return !!name_owner; - } - --static void --object_added (NMIwdManager *self, GDBusObject *object) --{ -- GList *interfaces, *iter; -- -- interfaces = g_dbus_object_get_interfaces (object); -- -- for (iter = interfaces; iter; iter = iter->next) { -- GDBusInterface *interface = G_DBUS_INTERFACE (iter->data); -- -- interface_added (NULL, object, interface, self); -- } -- -- g_list_free_full (interfaces, g_object_unref); --} -- - static void - release_object_manager (NMIwdManager *self) - { -@@ -836,12 +852,16 @@ got_object_manager (GObject *object, GAsyncResult *result, gpointer user_data) - G_CALLBACK (interface_added), self); - g_signal_connect (priv->object_manager, "interface-removed", - G_CALLBACK (interface_removed), self); -+ g_signal_connect (priv->object_manager, "object-added", -+ G_CALLBACK(object_added), self); -+ g_signal_connect (priv->object_manager, "object-removed", -+ G_CALLBACK(object_removed), self); - - g_hash_table_remove_all (priv->known_networks); - - objects = g_dbus_object_manager_get_objects (object_manager); - for (iter = objects; iter; iter = iter->next) -- object_added (self, G_DBUS_OBJECT (iter->data)); -+ object_added (NULL, G_DBUS_OBJECT(iter->data), self); - - g_list_free_full (objects, g_object_unref); - diff --git a/net-misc/networkmanager/files/networkmanager-1.28.0-dhcpcd9.patch b/net-misc/networkmanager/files/networkmanager-1.28.0-dhcpcd9.patch deleted file mode 100644 index cfa642dd..00000000 --- a/net-misc/networkmanager/files/networkmanager-1.28.0-dhcpcd9.patch +++ /dev/null @@ -1,265 +0,0 @@ -From a58a89213bf4d0cefb155fef1ec9425f7a6ca5c8 Mon Sep 17 00:00:00 2001 -From: Roy Marples -Date: Tue, 19 Jan 2021 05:04:31 +0000 -Subject: [PATCH] DHCP: Support dhcpcd-9.x - -This locks NM into dhcpcd-9.3.3 as that is the first version to support -the --noconfigure option. Older versions are no longer supported by NM -because they do modify the host which is undesirable. - -Due to the way dhcpcd-9 uses privilege separation and that it re-parents -itself to PID 1, the main process cannot be reaped or waited for. -So we rely on dhcpcd correctly cleaning up after itself. -A new function nm_dhcp_client_stop_watch_child() has been added -so that dhcpcd can perform similar cleanup to the equivalent stop call. - -As part of this change, the STOP and STOPPED reasons are mapped to -NM_DHCP_STATE_DONE and PREINIT is mapped to a new state NM_DHCP_STATE_NOOP -which means NM should just ignore this state. - -https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/668 ---- - NEWS | 3 ++ - src/dhcp/nm-dhcp-client.c | 20 +++++++++- - src/dhcp/nm-dhcp-client.h | 3 ++ - src/dhcp/nm-dhcp-dhcpcd.c | 82 ++++++++++++++++++++------------------- - 4 files changed, 67 insertions(+), 41 deletions(-) - -diff --git a/NEWS b/NEWS -index 8a48587e5..958bbe91c 100644 ---- a/NEWS -+++ b/NEWS -@@ -45,6 +45,9 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! - cmdline argument actually generates a connection which disables both - ipv4 and ipv6. Previously the generated connection would disable ipv4 - but ipv6 would be set to the 'auto' method. -+* The dhcpcd plugin now requires a minimum version of dhcpcd-9.3.3 with -+ the --noconfigure option. Using an older version will cause dhcpcd to -+ exit with a status code of 1. - - ============================================= - NetworkManager-1.26 -diff --git a/src/dhcp/nm-dhcp-client.c b/src/dhcp/nm-dhcp-client.c -index 46ab48959..56f599abf 100644 ---- a/src/dhcp/nm-dhcp-client.c -+++ b/src/dhcp/nm-dhcp-client.c -@@ -367,10 +367,13 @@ reason_to_state(NMDhcpClient *self, const char *iface, const char *reason) - else if (g_ascii_strcasecmp(reason, "nak") == 0 || g_ascii_strcasecmp(reason, "expire") == 0 - || g_ascii_strcasecmp(reason, "expire6") == 0) - return NM_DHCP_STATE_EXPIRE; -- else if (g_ascii_strcasecmp(reason, "end") == 0) -+ else if (g_ascii_strcasecmp(reason, "end") == 0 || g_ascii_strcasecmp(reason, "stop") == 0 -+ || g_ascii_strcasecmp(reason, "stopped") == 0) - return NM_DHCP_STATE_DONE; - else if (g_ascii_strcasecmp(reason, "fail") == 0 || g_ascii_strcasecmp(reason, "abend") == 0) - return NM_DHCP_STATE_FAIL; -+ else if (g_ascii_strcasecmp(reason, "preinit") == 0) -+ return NM_DHCP_STATE_NOOP; - - _LOGD("unmapped DHCP state '%s'", reason); - return NM_DHCP_STATE_UNKNOWN; -@@ -547,6 +550,18 @@ nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid) - priv->watch_id = g_child_watch_add(pid, daemon_watch_cb, self); - } - -+void -+nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid) -+{ -+ NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self); -+ -+ g_return_if_fail(priv->pid == pid); -+ priv->pid = -1; -+ -+ watch_cleanup(self); -+ timeout_cleanup(self); -+} -+ - gboolean - nm_dhcp_client_start_ip4(NMDhcpClient *self, - GBytes * client_id, -@@ -874,6 +889,9 @@ nm_dhcp_client_handle_event(gpointer unused, - state_to_string(new_state), - reason); - -+ if (new_state == NM_DHCP_STATE_NOOP) -+ return TRUE; -+ - if (NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED)) { - GVariantIter iter; - const char * name; -diff --git a/src/dhcp/nm-dhcp-client.h b/src/dhcp/nm-dhcp-client.h -index 05faa9ea5..46446849a 100644 ---- a/src/dhcp/nm-dhcp-client.h -+++ b/src/dhcp/nm-dhcp-client.h -@@ -55,6 +55,7 @@ typedef enum { - NM_DHCP_STATE_EXPIRE, /* lease expired or NAKed */ - NM_DHCP_STATE_FAIL, /* failed for some reason */ - NM_DHCP_STATE_TERMINATED, /* client is no longer running */ -+ NM_DHCP_STATE_NOOP, /* state is a non operation for NetworkManager */ - __NM_DHCP_STATE_MAX, - NM_DHCP_STATE_MAX = __NM_DHCP_STATE_MAX - 1, - } NMDhcpState; -@@ -183,6 +184,8 @@ void nm_dhcp_client_start_timeout(NMDhcpClient *self); - - void nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid); - -+void nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid); -+ - void nm_dhcp_client_set_state(NMDhcpClient *self, - NMDhcpState new_state, - NMIPConfig * ip_config, -diff --git a/src/dhcp/nm-dhcp-dhcpcd.c b/src/dhcp/nm-dhcp-dhcpcd.c -index b2b5d28bd..7cb003859 100644 ---- a/src/dhcp/nm-dhcp-dhcpcd.c -+++ b/src/dhcp/nm-dhcp-dhcpcd.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: GPL-2.0+ */ - /* -- * Copyright (C) 2008 Roy Marples -+ * Copyright (C) 2008,2020 Roy Marples - * Copyright (C) 2010 Dan Williams - */ - -@@ -40,7 +40,6 @@ static GType nm_dhcp_dhcpcd_get_type(void); - /*****************************************************************************/ - - typedef struct { -- char * pid_file; - NMDhcpListener *dhcp_listener; - } NMDhcpDhcpcdPrivate; - -@@ -71,39 +70,37 @@ ip4_start(NMDhcpClient *client, - const char * last_ip4_address, - GError ** error) - { -- NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); -- NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(self); -- gs_unref_ptrarray GPtrArray *argv = NULL; -- pid_t pid = -1; -- GError * local = NULL; -- gs_free char * cmd_str = NULL; -- gs_free char * binary_name = NULL; -+ NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); -+ gs_unref_ptrarray GPtrArray *argv = NULL; -+ pid_t pid; -+ GError * local; -+ gs_free char * cmd_str = NULL; - const char * iface; - const char * dhcpcd_path; - const char * hostname; - -- g_return_val_if_fail(priv->pid_file == NULL, FALSE); -+ pid = nm_dhcp_client_get_pid(client); -+ g_return_val_if_fail(pid == -1, FALSE); - - iface = nm_dhcp_client_get_iface(client); - -- /* dhcpcd does not allow custom pidfiles; the pidfile is always -- * RUNSTATEDIR "dhcpcd-.pid". -- */ -- priv->pid_file = g_strdup_printf(RUNSTATEDIR "/dhcpcd-%s.pid", iface); -- - dhcpcd_path = nm_dhcp_dhcpcd_get_path(); - if (!dhcpcd_path) { - nm_utils_error_set_literal(error, NM_UTILS_ERROR_UNKNOWN, "dhcpcd binary not found"); - return FALSE; - } - -- /* Kill any existing dhcpcd from the pidfile */ -- binary_name = g_path_get_basename(dhcpcd_path); -- nm_dhcp_client_stop_existing(priv->pid_file, binary_name); -- - argv = g_ptr_array_new(); - g_ptr_array_add(argv, (gpointer) dhcpcd_path); - -+ /* Don't configure anything, we will do that instead. -+ * This requires dhcpcd-9.3.3 or newer. -+ * Older versions only had an option not to install a default route, -+ * dhcpcd still added addresses and other routes so we no longer support that -+ * as it doesn't fit how NetworkManager wants to work. -+ */ -+ g_ptr_array_add(argv, (gpointer) "--noconfigure"); -+ - g_ptr_array_add(argv, (gpointer) "-B"); /* Don't background on lease (disable fork()) */ - - g_ptr_array_add(argv, (gpointer) "-K"); /* Disable built-in carrier detection */ -@@ -113,8 +110,6 @@ ip4_start(NMDhcpClient *client, - /* --noarp. Don't request or claim the address by ARP; this also disables IPv4LL. */ - g_ptr_array_add(argv, (gpointer) "-A"); - -- g_ptr_array_add(argv, (gpointer) "-G"); /* Let NM handle routing */ -- - g_ptr_array_add(argv, (gpointer) "-c"); /* Set script file */ - g_ptr_array_add(argv, (gpointer) nm_dhcp_helper_path); - -@@ -146,8 +141,8 @@ ip4_start(NMDhcpClient *client, - if (!g_spawn_async(NULL, - (char **) argv->pdata, - NULL, -- G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL -- | G_SPAWN_STDERR_TO_DEV_NULL, -+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL -+ | G_SPAWN_DO_NOT_REAP_CHILD, - nm_utils_setpgid, - NULL, - &pid, -@@ -169,23 +164,32 @@ ip4_start(NMDhcpClient *client, - static void - stop(NMDhcpClient *client, gboolean release) - { -- NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); -- NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(self); -- int errsv; -- -- NM_DHCP_CLIENT_CLASS(nm_dhcp_dhcpcd_parent_class)->stop(client, release); -- -- if (priv->pid_file) { -- if (remove(priv->pid_file) == -1) { -- errsv = errno; -- _LOGD("could not remove dhcp pid file \"%s\": %d (%s)", -- priv->pid_file, -- errsv, -- nm_strerror_native(errsv)); -- } -+ NMDhcpDhcpcd *self = NM_DHCP_DHCPCD(client); -+ pid_t pid; -+ int sig, errsv; -+ -+ pid = nm_dhcp_client_get_pid(client); -+ sig = release ? SIGALRM : SIGTERM; -+ _LOGD("sending %s to dhcpcd pid %d", sig == SIGALRM ? "SIGALRM" : "SIGTERM", pid); -+ -+ /* dhcpcd-9.x features privilege separation. -+ * It's not our job to track all these processes so we rely on dhcpcd -+ * to always cleanup after itself. -+ * Because it also re-parents itself to PID 1, the process cannot be -+ * reaped or waited for. -+ * As such, just send the correct signal. -+ */ -+ if (kill(pid, sig) == -1) { -+ errsv = errno; -+ _LOGE("failed to kill dhcpcd %d:%s", errsv, strerror(errsv)); - } - -- /* FIXME: implement release... */ -+ /* When this function exits NM expects the PID to be -1. -+ * This means we also need to stop watching the pid. -+ * If we need to know the exit status then we need to refactor NM -+ * to allow a non -1 to mean we're waiting to exit still. -+ */ -+ nm_dhcp_client_stop_watch_child(client, pid); - } - - /*****************************************************************************/ -@@ -214,8 +218,6 @@ dispose(GObject *object) - g_clear_object(&priv->dhcp_listener); - } - -- nm_clear_g_free(&priv->pid_file); -- - G_OBJECT_CLASS(nm_dhcp_dhcpcd_parent_class)->dispose(object); - } - --- -2.30.0 - diff --git a/net-misc/networkmanager/files/reallocarray-1.patch b/net-misc/networkmanager/files/reallocarray-1.patch deleted file mode 100644 index 2cc703fa..00000000 --- a/net-misc/networkmanager/files/reallocarray-1.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 6f6c844ab880d5535a05dd341643a28f7afeb6ec Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 3 Feb 2021 09:58:22 -0600 -Subject: [PATCH] musl [added support for reallocarray](0), but the function - prototype is declared in `stdlib.h` instead of `malloc.h`. - -Update the check for reallocarray to check both in `malloc.h` and -`stdlib.h`. - -[0]:https://git.musl-libc.org/cgit/musl/commit/?id=821083ac7b54eaa040d5a8ddc67c6206a175e0ca ---- - configure | 2 +- - configure.ac | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index 40eed6c..4d12779 100755 ---- a/configure -+++ b/configure -@@ -18252,7 +18252,7 @@ _ACEOF - - ac_fn_c_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" " - #include -- -+#include - " - if test "x$ac_cv_have_decl_reallocarray" = xyes; then : - ac_have_decl=1 -diff --git a/configure.ac b/configure.ac -index 0d448f3..bfc1972 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -83,6 +83,7 @@ AC_CHECK_DECLS([ - reallocarray], - [], [], [[ - #include -+#include - ]]) - - AC_CHECK_DECLS([ --- -2.26.2 - diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml deleted file mode 100644 index 855614f4..00000000 --- a/net-misc/networkmanager/metadata.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - gnome@gentoo.org - Gentoo GNOME Desktop - - - Use net-dns/dnsmasq and - net-firewall/iptables for connection sharing - Use dhclient from net-misc/dhcp for - getting ip - Use net-misc/dhcpcd for getting ip - Use sys-auth/elogind for session tracking - Use net-wireless/iwd instead of - net-wireless/wpa_supplicant for wifi support by default - Enable JSON validation via dev-libs/jansson - in libnm. - Enable support for mobile broadband devices - using net-misc/modemmanager - Use dev-libs/nss for cryptography - Use net-misc/ofono for telephony support. - Enable OpenVSwitch support - Enable support for mobile broadband and PPPoE - connections using net-dialup/ppp - Use net-dns/openresolv for managing - DNS information in /etc/resolv.conf. Generally, a symlink to - /run/NetworkManager/resolv.conf is simpler. On systems running - systemd-resolved, disable this flag and create a symlink to - /run/systemd/resolve/stub-resolv.conf. - Enable Teamd control support - Enable support for wifi and 802.1x security - Enable support for the deprecated Wext (Wireless - Extensions) API; needed for some older drivers (e.g. ipw2200, - ndiswrapper) - - diff --git a/net-misc/networkmanager/networkmanager-1.26.4.ebuild b/net-misc/networkmanager/networkmanager-1.26.4.ebuild deleted file mode 100644 index ffc63eed..00000000 --- a/net-misc/networkmanager/networkmanager-1.26.4.ebuild +++ /dev/null @@ -1,357 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME_ORG_MODULE="NetworkManager" -GNOME2_LA_PUNT="yes" -VALA_USE_DEPEND="vapigen" -PYTHON_COMPAT=( python3_{7,8} ) - -inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd readme.gentoo-r1 vala virtualx udev multilib-minimal - -DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" -HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" - -LICENSE="GPL-2+" -SLOT="0" - -IUSE="audit bluetooth connection-sharing dhclient dhcpcd elogind gnutls +introspection iwd json kernel_linux +nss +modemmanager ncurses ofono ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - bluetooth? ( modemmanager ) - iwd? ( wifi ) - vala? ( introspection ) - wext? ( wifi ) - || ( nss gnutls ) - ?? ( elogind systemd ) -" - -KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86" - -# gobject-introspection-0.10.3 is needed due to gnome bug 642300 -# wpa_supplicant-0.7.3-r3 is needed due to bug 359271 -COMMON_DEPEND=" - >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}] - policykit? ( >=sys-auth/polkit-0.106 ) - net-libs/libndp[${MULTILIB_USEDEP}] - >=net-misc/curl-7.24 - net-misc/iputils - sys-apps/util-linux[${MULTILIB_USEDEP}] - sys-libs/readline:0= - >=virtual/libudev-175:=[${MULTILIB_USEDEP}] - audit? ( sys-process/audit ) - bluetooth? ( >=net-wireless/bluez-5 ) - connection-sharing? ( - net-dns/dnsmasq[dbus,dhcp] - net-firewall/iptables ) - dhclient? ( >=net-misc/dhcp-4[client] ) - dhcpcd? ( net-misc/dhcpcd ) - elogind? ( >=sys-auth/elogind-219 ) - introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) - json? ( >=dev-libs/jansson-2.5[${MULTILIB_USEDEP}] ) - modemmanager? ( >=net-misc/modemmanager-0.7.991:0= - net-misc/mobile-broadband-provider-info ) - ncurses? ( >=dev-libs/newt-0.52.15 ) - nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] ) - !nss? ( gnutls? ( - dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}] - >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) ) - ofono? ( net-misc/ofono ) - ovs? ( dev-libs/jansson ) - ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] ) - resolvconf? ( net-dns/openresolv ) - selinux? ( sys-libs/libselinux ) - systemd? ( >=sys-apps/systemd-209:0= ) - teamd? ( - dev-libs/jansson - >=net-misc/libteam-1.9 - ) -" -RDEPEND="${COMMON_DEPEND} - acct-group/plugdev - || ( - net-misc/iputils[arping(+)] - net-analyzer/arping - ) - wifi? ( - !iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] ) - iwd? ( net-wireless/iwd ) - ) -" -DEPEND="${COMMON_DEPEND} - dev-util/gdbus-codegen - dev-util/glib-utils - dev-util/gtk-doc-am - >=dev-util/intltool-0.40 - >=sys-devel/gettext-0.17 - >=sys-kernel/linux-headers-3.18 - virtual/pkgconfig - introspection? ( - $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') - dev-lang/perl - dev-libs/libxslt - ) - vala? ( $(vala_depend) ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}]') - ) -" - -PATCHES=( "${FILESDIR}"/${PN}-1.26.4-iwd-fixes-pr640.patch - # Required to build on musl - "${FILESDIR}"/musl-basic.patch - "${FILESDIR}"/musl-network-support.patch - "${FILESDIR}"/musl-fix-includes.patch - "${FILESDIR}"/musl-process-util.patch - "${FILESDIR}"/musl-compar.patch - "${FILESDIR}"/musl-no-drand.patch - "${FILESDIR}"/reallocarray-1.patch -) - -python_check_deps() { - if use introspection; then - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return - fi - if use test; then - has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" - fi -} - -sysfs_deprecated_check() { - ebegin "Checking for SYSFS_DEPRECATED support" - - if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then - eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel" - eerror "or NetworkManager will not work correctly." - eerror "See https://bugs.gentoo.org/333639 for more info." - die "CONFIG_SYSFS_DEPRECATED_V2 support detected!" - fi - eend $? -} - -pkg_pretend() { - if use kernel_linux; then - get_version - if linux_config_exists; then - sysfs_deprecated_check - else - ewarn "Was unable to determine your kernel .config" - ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly." - ewarn "See https://bugs.gentoo.org/333639 for more info." - fi - - fi -} - -pkg_setup() { - if use connection-sharing; then - if kernel_is lt 5 1; then - CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4" - else - CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE" - fi - linux-info_pkg_setup - fi - if use introspection || use test; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - DOC_CONTENTS="To modify system network connections without needing to enter the - root password, add your user account to the 'plugdev' group." - - use vala && vala_src_prepare - gnome2_src_prepare - - sed -i \ - -e 's#/usr/bin/sed#/bin/sed#' \ - data/84-nm-drivers.rules \ - || die -} - -multilib_src_configure() { - local myconf=( - --disable-more-warnings - --disable-static - --localstatedir=/var - --with-runstatedir=/run - --disable-lto - --disable-qt - --without-netconfig - --with-dbus-sys-dir=/etc/dbus-1/system.d - $(multilib_native_with nmcli) - --with-udev-dir="$(get_udevdir)" - --with-config-plugins-default=keyfile - --with-iptables=/sbin/iptables - --with-ebpf=yes - $(multilib_native_enable concheck) - --with-nm-cloud-setup=$(multilib_is_native_abi && echo yes || echo no) - --with-crypto=$(usex nss nss gnutls) - # elogind lacks multilib for now, and consolekit doesn't require linking against, so we use it as a fake option - # This SHOULD be removable once elogind has that. We abuse the fact that 'consolekit' does nothing at buildtime. - # (There is no off switch, and we do not support upower.) - # bug #747358 - --with-session-tracking=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind consolekit)) - --with-suspend-resume=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind consolekit)) - $(multilib_native_use_with audit libaudit) - $(multilib_native_use_enable bluetooth bluez5-dun) - --without-dhcpcanon - $(use_with dhclient) - $(use_with dhcpcd) - --with-config-dhcp-default=internal - $(multilib_native_use_enable introspection) - $(use_enable json json-validation) - $(multilib_native_use_enable ppp) - --without-libpsl - $(multilib_native_use_with modemmanager modem-manager-1) - $(multilib_native_use_with ncurses nmtui) - $(multilib_native_use_with ofono) - $(multilib_native_use_enable ovs) - $(multilib_native_use_enable policykit polkit) - $(multilib_native_use_with resolvconf) - $(multilib_native_use_with selinux) - $(multilib_native_use_with systemd systemd-journal) - $(multilib_native_use_enable teamd teamdctl) - $(multilib_native_use_enable test tests) - $(multilib_native_use_enable vala) - --without-valgrind - $(multilib_native_use_with wifi iwd) - $(multilib_native_use_with wext) - $(multilib_native_use_enable wifi) - ) - - # Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986 - if use ppp; then - local PPPD_VER=`best_version net-dialup/ppp` - PPPD_VER=${PPPD_VER#*/*-} #reduce it to ${PV}-${PR} - PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision - myconf+=( --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} ) - fi - - # unit files directory needs to be passed only when systemd is enabled, - # otherwise systemd support is not disabled completely, bug #524534 - use systemd && myconf+=( --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) - - if multilib_is_native_abi; then - # work-around man out-of-source brokenness, must be done before configure - ln -s "${S}/docs" docs || die - ln -s "${S}/man" man || die - fi - - ECONF_SOURCE=${S} gnome2_src_configure "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - emake - else - local targets=( - libnm/libnm.la - ) - emake "${targets[@]}" - fi -} - -multilib_src_test() { - if use test && multilib_is_native_abi; then - python_setup - virtx emake check - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - # Install completions at proper place, bug #465100 - gnome2_src_install completiondir="$(get_bashcompdir)" - insinto /usr/lib/NetworkManager/conf.d #702476 - doins "${S}"/examples/nm-conf.d/31-mac-addr-change.conf - else - local targets=( - install-libLTLIBRARIES - install-libnmincludeHEADERS - install-nodist_libnmincludeHEADERS - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${targets[@]}" - fi -} - -multilib_src_install_all() { - einstalldocs - ! use systemd && readme.gentoo_create_doc - - newinitd "${FILESDIR}/init.d.NetworkManager-r2" NetworkManager - newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager - - # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts - keepdir /etc/NetworkManager/dispatcher.d - - # Provide openrc net dependency only when nm is connected - exeinto /etc/NetworkManager/dispatcher.d - newexe "${FILESDIR}/10-openrc-status-r4" 10-openrc-status - sed -e "s:@EPREFIX@:${EPREFIX}:g" \ - -i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die - - keepdir /etc/NetworkManager/system-connections - chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765, upstream bug #754594 - - # Allow users in plugdev group to modify system connections - insinto /usr/share/polkit-1/rules.d/ - doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules" - - if use iwd; then - # This goes to $nmlibdir/conf.d/ and $nmlibdir is '${prefix}'/lib/$PACKAGE, thus always lib, not get_libdir - cat <<-EOF > "${ED%/}"/usr/lib/NetworkManager/conf.d/iwd.conf - [device] - wifi.backend=iwd - EOF - fi - - # Empty - rmdir "${ED%/}"/var{/lib{/NetworkManager,},} || die -} - -pkg_postinst() { - gnome2_pkg_postinst - systemd_reenable NetworkManager.service - ! use systemd && readme.gentoo_print_elog - - if [[ -e "${EROOT}etc/NetworkManager/nm-system-settings.conf" ]]; then - ewarn "The ${PN} system configuration file has moved to a new location." - ewarn "You must migrate your settings from ${EROOT}/etc/NetworkManager/nm-system-settings.conf" - ewarn "to ${EROOT}etc/NetworkManager/NetworkManager.conf" - ewarn - ewarn "After doing so, you can remove ${EROOT}etc/NetworkManager/nm-system-settings.conf" - fi - - # NM fallbacks to plugin specified at compile time (upstream bug #738611) - # but still show a warning to remember people to have cleaner config file - if [[ -e "${EROOT}etc/NetworkManager/NetworkManager.conf" ]]; then - if grep plugins "${EROOT}etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then - ewarn - ewarn "You seem to use 'ifnet' plugin in ${EROOT}etc/NetworkManager/NetworkManager.conf" - ewarn "Since it won't be used, you will need to stop setting ifnet plugin there." - ewarn - fi - fi - - # NM shows lots of errors making nmcli almost unusable, bug #528748 upstream bug #690457 - if grep -r "psk-flags=1" "${EROOT}"/etc/NetworkManager/; then - ewarn "You have psk-flags=1 setting in above files, you will need to" - ewarn "either reconfigure affected networks or, at least, set the flag" - ewarn "value to '0'." - fi - - if use dhclient || use dhcpcd; then - ewarn "You have enabled USE=dhclient and/or USE=dhcpcd, but NetworkManager since" - ewarn "version 1.20 defaults to the internal DHCP client. If the internal client" - ewarn "works for you, and you're happy with, the alternative USE flags can be" - ewarn "disabled. If you want to use dhclient or dhcpcd, then you need to tweak" - ewarn "the main.dhcp configuration option to use one of them instead of internal." - fi -} diff --git a/net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild b/net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild deleted file mode 100644 index b093a198..00000000 --- a/net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -GNOME_ORG_MODULE="NetworkManager" -VALA_USE_DEPEND="vapigen" -PYTHON_COMPAT=( python3_{7..9} ) - -inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd readme.gentoo-r1 vala virtualx udev multilib-minimal - -DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" -HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" - -LICENSE="GPL-2+" -SLOT="0" - -IUSE="audit bluetooth connection-sharing dhclient dhcpcd elogind gnutls +introspection iwd kernel_linux +nss +modemmanager ncurses ofono ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - bluetooth? ( modemmanager ) - iwd? ( wifi ) - vala? ( introspection ) - wext? ( wifi ) - || ( nss gnutls ) - ?? ( elogind systemd ) -" - -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -# gobject-introspection-0.10.3 is needed due to gnome bug 642300 -# wpa_supplicant-0.7.3-r3 is needed due to bug 359271 -COMMON_DEPEND=" - >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}] - policykit? ( >=sys-auth/polkit-0.106 ) - net-libs/libndp[${MULTILIB_USEDEP}] - >=net-misc/curl-7.24 - net-misc/iputils - sys-apps/util-linux[${MULTILIB_USEDEP}] - sys-libs/readline:0= - >=virtual/libudev-175:=[${MULTILIB_USEDEP}] - audit? ( sys-process/audit ) - bluetooth? ( >=net-wireless/bluez-5 ) - connection-sharing? ( - net-dns/dnsmasq[dbus,dhcp] - net-firewall/iptables ) - dhclient? ( >=net-misc/dhcp-4[client] ) - dhcpcd? ( >=net-misc/dhcpcd-9.3.3 ) - elogind? ( >=sys-auth/elogind-219 ) - introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) - modemmanager? ( >=net-misc/modemmanager-0.7.991:0= - net-misc/mobile-broadband-provider-info ) - ncurses? ( >=dev-libs/newt-0.52.15 ) - nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] ) - !nss? ( gnutls? ( - dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}] - >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) ) - ofono? ( net-misc/ofono ) - ovs? ( dev-libs/jansson ) - ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] ) - resolvconf? ( net-dns/openresolv ) - selinux? ( sys-libs/libselinux ) - systemd? ( >=sys-apps/systemd-209:0= ) - teamd? ( - dev-libs/jansson - >=net-misc/libteam-1.9 - ) -" -RDEPEND="${COMMON_DEPEND} - acct-group/plugdev - || ( - net-misc/iputils[arping(+)] - net-analyzer/arping - ) - wifi? ( - !iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] ) - iwd? ( net-wireless/iwd ) - ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.18 - " -BDEPEND=" - dev-util/gdbus-codegen - dev-util/glib-utils - dev-util/gtk-doc-am - >=dev-util/intltool-0.40 - >=sys-devel/gettext-0.17 - virtual/pkgconfig - introspection? ( - $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') - dev-lang/perl - dev-libs/libxslt - ) - vala? ( $(vala_depend) ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}]') - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-1.28.0-dhcpcd9.patch" - # Required to build on musl - "${FILESDIR}/1.28.0/"0001-uncouple-glibc-functions-and-headers.patch - "${FILESDIR}/1.28.0/"0002-network-support.patch - "${FILESDIR}/1.28.0/"0003-Fix-includes-to-support-musl.patch - "${FILESDIR}/1.28.0/"0004-Fix-pthread-support-for-non-glibc-users.patch - "${FILESDIR}/1.28.0/"0005-define-compare-for-non-glibc-users.patch - "${FILESDIR}/1.28.0/"0006-musl-added-support-for-reallocarray-0-but-the-functi.patch -) - -python_check_deps() { - if use introspection; then - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return - fi - if use test; then - has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" - fi -} - -sysfs_deprecated_check() { - ebegin "Checking for SYSFS_DEPRECATED support" - - if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then - eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel" - eerror "or NetworkManager will not work correctly." - eerror "See https://bugs.gentoo.org/333639 for more info." - die "CONFIG_SYSFS_DEPRECATED_V2 support detected!" - fi - eend $? -} - -pkg_pretend() { - if use kernel_linux; then - get_version - if linux_config_exists; then - sysfs_deprecated_check - else - ewarn "Was unable to determine your kernel .config" - ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly." - ewarn "See https://bugs.gentoo.org/333639 for more info." - fi - - fi -} - -pkg_setup() { - if use connection-sharing; then - if kernel_is lt 5 1; then - CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4" - else - CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE" - fi - linux-info_pkg_setup - fi - if use introspection || use test; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - DOC_CONTENTS="To modify system network connections without needing to enter the - root password, add your user account to the 'plugdev' group." - - use vala && vala_src_prepare - gnome2_src_prepare - - sed -i \ - -e 's#/usr/bin/sed#/bin/sed#' \ - data/84-nm-drivers.rules \ - || die -} - -multilib_src_configure() { - local myconf=( - --disable-more-warnings - --disable-static - --localstatedir=/var - --with-runstatedir=/run - --disable-lto - --disable-qt - --without-netconfig - --with-dbus-sys-dir=/etc/dbus-1/system.d - $(multilib_native_with nmcli) - --with-udev-dir="$(get_udevdir)" - --with-config-plugins-default=keyfile - --with-iptables=/sbin/iptables - --with-ebpf=yes - $(multilib_native_enable concheck) - --with-nm-cloud-setup=$(multilib_is_native_abi && echo yes || echo no) - --with-crypto=$(usex nss nss gnutls) - # elogind lacks multilib for now, and consolekit doesn't require linking against, so we use it as a fake option - # This SHOULD be removable once elogind has that. We abuse the fact that 'consolekit' does nothing at buildtime. - # (There is no off switch, and we do not support upower.) - # bug #747358 - --with-session-tracking=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind consolekit)) - --with-suspend-resume=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind consolekit)) - $(multilib_native_use_with audit libaudit) - $(multilib_native_use_enable bluetooth bluez5-dun) - --without-dhcpcanon - $(use_with dhclient) - $(use_with dhcpcd) - --with-config-dhcp-default=internal - $(multilib_native_use_enable introspection) - $(multilib_native_use_enable ppp) - --without-libpsl - $(multilib_native_use_with modemmanager modem-manager-1) - $(multilib_native_use_with ncurses nmtui) - $(multilib_native_use_with ofono) - $(multilib_native_use_enable ovs) - $(multilib_native_use_enable policykit polkit) - $(multilib_native_use_with resolvconf) - $(multilib_native_use_with selinux) - $(multilib_native_use_with systemd systemd-journal) - $(multilib_native_use_enable teamd teamdctl) - $(multilib_native_use_enable test tests) - $(multilib_native_use_enable vala) - --without-valgrind - $(multilib_native_use_with wifi iwd) - $(multilib_native_use_with wext) - $(multilib_native_use_enable wifi) - ) - - # Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986 - if use ppp; then - local PPPD_VER=`best_version net-dialup/ppp` - PPPD_VER=${PPPD_VER#*/*-} #reduce it to ${PV}-${PR} - PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision - myconf+=( --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} ) - fi - - # unit files directory needs to be passed only when systemd is enabled, - # otherwise systemd support is not disabled completely, bug #524534 - use systemd && myconf+=( --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) - - if multilib_is_native_abi; then - # work-around man out-of-source brokenness, must be done before configure - ln -s "${S}/docs" docs || die - ln -s "${S}/man" man || die - fi - - ECONF_SOURCE=${S} gnome2_src_configure "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - emake - else - local targets=( - libnm/libnm.la - ) - emake "${targets[@]}" - fi -} - -multilib_src_test() { - if use test && multilib_is_native_abi; then - python_setup - virtx emake check - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - # Install completions at proper place, bug #465100 - gnome2_src_install completiondir="$(get_bashcompdir)" - insinto /usr/lib/NetworkManager/conf.d #702476 - doins "${S}"/examples/nm-conf.d/31-mac-addr-change.conf - else - local targets=( - install-libLTLIBRARIES - install-libnmincludeHEADERS - install-nodist_libnmincludeHEADERS - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${targets[@]}" - fi -} - -multilib_src_install_all() { - einstalldocs - ! use systemd && readme.gentoo_create_doc - - newinitd "${FILESDIR}/init.d.NetworkManager-r2" NetworkManager - newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager - - # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts - keepdir /etc/NetworkManager/dispatcher.d - - # Provide openrc net dependency only when nm is connected - exeinto /etc/NetworkManager/dispatcher.d - newexe "${FILESDIR}/10-openrc-status-r4" 10-openrc-status - sed -e "s:@EPREFIX@:${EPREFIX}:g" \ - -i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die - - keepdir /etc/NetworkManager/system-connections - chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765, upstream bug #754594 - - # Allow users in plugdev group to modify system connections - insinto /usr/share/polkit-1/rules.d/ - doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules" - - if use iwd; then - # This goes to $nmlibdir/conf.d/ and $nmlibdir is '${prefix}'/lib/$PACKAGE, thus always lib, not get_libdir - cat <<-EOF > "${ED}"/usr/lib/NetworkManager/conf.d/iwd.conf - [device] - wifi.backend=iwd - EOF - fi - - # Empty - rmdir "${ED}"/var{/lib{/NetworkManager,},} || die -} - -pkg_postinst() { - gnome2_pkg_postinst - systemd_reenable NetworkManager.service - ! use systemd && readme.gentoo_print_elog - - if [[ -e "${EROOT}/etc/NetworkManager/nm-system-settings.conf" ]]; then - ewarn "The ${PN} system configuration file has moved to a new location." - ewarn "You must migrate your settings from ${EROOT}/etc/NetworkManager/nm-system-settings.conf" - ewarn "to ${EROOT}/etc/NetworkManager/NetworkManager.conf" - ewarn - ewarn "After doing so, you can remove ${EROOT}/etc/NetworkManager/nm-system-settings.conf" - fi - - # NM fallbacks to plugin specified at compile time (upstream bug #738611) - # but still show a warning to remember people to have cleaner config file - if [[ -e "${EROOT}/etc/NetworkManager/NetworkManager.conf" ]]; then - if grep plugins "${EROOT}/etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then - ewarn - ewarn "You seem to use 'ifnet' plugin in ${EROOT}/etc/NetworkManager/NetworkManager.conf" - ewarn "Since it won't be used, you will need to stop setting ifnet plugin there." - ewarn - fi - fi - - # NM shows lots of errors making nmcli almost unusable, bug #528748 upstream bug #690457 - if grep -r "psk-flags=1" "${EROOT}"/etc/NetworkManager/; then - ewarn "You have psk-flags=1 setting in above files, you will need to" - ewarn "either reconfigure affected networks or, at least, set the flag" - ewarn "value to '0'." - fi - - if use dhclient || use dhcpcd; then - ewarn "You have enabled USE=dhclient and/or USE=dhcpcd, but NetworkManager since" - ewarn "version 1.20 defaults to the internal DHCP client. If the internal client" - ewarn "works for you, and you're happy with, the alternative USE flags can be" - ewarn "disabled. If you want to use dhclient or dhcpcd, then you need to tweak" - ewarn "the main.dhcp configuration option to use one of them instead of internal." - fi -} -- cgit v1.2.3-65-gdbad