aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2021-05-30 11:14:09 -0500
committerJory Pratt <anarchy@gentoo.org>2021-05-30 11:14:09 -0500
commitd1dd81b40c23b1b6451a95e269394adccfbd81cc (patch)
tree5fa263b084f6a426f342ef6c8a528bae64a99985
parentx11-libs/vte: sync with ::gentoo stable (diff)
downloadmusl-d1dd81b40c23b1b6451a95e269394adccfbd81cc.tar.gz
musl-d1dd81b40c23b1b6451a95e269394adccfbd81cc.tar.bz2
musl-d1dd81b40c23b1b6451a95e269394adccfbd81cc.zip
net-misc/networkmanager: supported via ::gentoo with 1.30.x
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
-rw-r--r--net-misc/networkmanager/Manifest2
-rw-r--r--net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules7
-rw-r--r--net-misc/networkmanager/files/1.28.0/0001-uncouple-glibc-functions-and-headers.patch60
-rw-r--r--net-misc/networkmanager/files/1.28.0/0002-network-support.patch62
-rw-r--r--net-misc/networkmanager/files/1.28.0/0003-Fix-includes-to-support-musl.patch110
-rw-r--r--net-misc/networkmanager/files/1.28.0/0004-Fix-pthread-support-for-non-glibc-users.patch54
-rw-r--r--net-misc/networkmanager/files/1.28.0/0005-define-compare-for-non-glibc-users.patch30
-rw-r--r--net-misc/networkmanager/files/1.28.0/0006-musl-added-support-for-reallocarray-0-but-the-functi.patch43
-rw-r--r--net-misc/networkmanager/files/10-openrc-status-r435
-rw-r--r--net-misc/networkmanager/files/conf.d.NetworkManager4
-rw-r--r--net-misc/networkmanager/files/init.d.NetworkManager-r262
-rw-r--r--net-misc/networkmanager/files/musl-basic.patch46
-rw-r--r--net-misc/networkmanager/files/musl-compar.patch18
-rw-r--r--net-misc/networkmanager/files/musl-fix-includes.patch90
-rw-r--r--net-misc/networkmanager/files/musl-network-support.patch42
-rw-r--r--net-misc/networkmanager/files/musl-no-drand.patch58
-rw-r--r--net-misc/networkmanager/files/musl-process-util.patch40
-rw-r--r--net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch169
-rw-r--r--net-misc/networkmanager/files/networkmanager-1.28.0-dhcpcd9.patch265
-rw-r--r--net-misc/networkmanager/files/reallocarray-1.patch43
-rw-r--r--net-misc/networkmanager/metadata.xml37
-rw-r--r--net-misc/networkmanager/networkmanager-1.26.4.ebuild357
-rw-r--r--net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild356
23 files changed, 0 insertions, 1990 deletions
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 <anarchy@gentoo.org>
-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 <dlfcn.h>
-
-+#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 <printf.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-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 <netinet/in.h>
-
- /* For ETH_ALEN and INFINIBAND_ALEN */
-+#if defined(__GLIBC__)
- #include <linux/if_ether.h>
-+#else
-+#define ETH_ALEN 6 /* Octets in one ethernet addr */
-+#endif
- #include <linux/if_infiniband.h>
-
- #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 <sys/socket.h>
- #include <sys/types.h>
- #include <sys/un.h>
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#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 <net/ethernet.h>
-+#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 <netinet/if_ether.h>
- #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 <linux/if_ether.h>
-+
- #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 <arpa/inet.h>
- #include <fcntl.h>
- #include <linux/if_addr.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/rtnetlink.h>
-
- #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 <sys/stat.h>
- #include <sys/sendfile.h>
- #include <limits.h>
-+#include <asm/types.h>
-
- #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 <arpa/inet.h>
- #include <dlfcn.h>
-@@ -14,7 +15,11 @@
- #include <libudev.h>
- #include <linux/fib_rules.h>
- #include <linux/ip.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/if_bridge.h>
- #include <linux/if_link.h>
- #include <linux/if_tun.h>
-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 <errno.h>
- #include <sys/ioctl.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/if_infiniband.h>
-
- #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 <sys/wait.h>
- #include <syslog.h>
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
- #if 0 /* NM_IGNORED */
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
-@@ -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 <anarchy@gentoo.org>
-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 <malloc.h>
--
-+#include <stdlib.h>
- "
- 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 <malloc.h>
-+#include <stdlib.h>
- ]])
-
- 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 <compnerd@compnerd.org>
-# 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 <dlfcn.h>
-
-+#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 <printf.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-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 <netinet/if_ether.h>
- #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 <arpa/inet.h>
- #include <fcntl.h>
- #include <linux/if_addr.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/rtnetlink.h>
- #include <linux/pkt_sched.h>
-
-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 <sys/stat.h>
- #include <sys/sendfile.h>
- #include <limits.h>
-+#include <asm/types.h>
-
- #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 <arpa/inet.h>
- #include <dlfcn.h>
-@@ -14,7 +15,11 @@
- #include <libudev.h>
- #include <linux/fib_rules.h>
- #include <linux/ip.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/if_bridge.h>
- #include <linux/if_link.h>
- #include <linux/if_tun.h>
-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 <errno.h>
- #include <sys/ioctl.h>
-+#if defined(__GLIBC__)
- #include <linux/if_arp.h>
-+#else
-+#include <linux/if.h>
-+#endif
- #include <linux/if_infiniband.h>
-
- #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 <linux/if_ether.h>
-+
- #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 <netinet/in.h>
-
- /* For ETH_ALEN and INFINIBAND_ALEN */
-+#if defined(__GLIBC__)
- #include <linux/if_ether.h>
-+#else
-+#define ETH_ALEN 6 /* Octets in one ethernet addr */
-+#endif
- #include <linux/if_infiniband.h>
-
- #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 <net/ethernet.h>
-+#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 <sys/socket.h>
- #include <sys/types.h>
- #include <sys/un.h>
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#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 <g@s01.de>
-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 <sys/wait.h>
- #include <syslog.h>
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
- #if 0 /* NM_IGNORED */
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
-@@ -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 <roy@marples.name>
-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 <roy@marples.name>
- * Copyright (C) 2010 Dan Williams <dcbw@redhat.com>
- */
-
-@@ -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-<ifname>.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 <anarchy@gentoo.org>
-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 <malloc.h>
--
-+#include <stdlib.h>
- "
- 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 <malloc.h>
-+#include <stdlib.h>
- ]])
-
- 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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="connection-sharing">Use <pkg>net-dns/dnsmasq</pkg> and
- <pkg>net-firewall/iptables</pkg> for connection sharing</flag>
- <flag name="dhclient">Use dhclient from <pkg>net-misc/dhcp</pkg> for
- getting ip</flag>
- <flag name="dhcpcd">Use <pkg>net-misc/dhcpcd</pkg> for getting ip</flag>
- <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for session tracking</flag>
- <flag name="iwd">Use <pkg>net-wireless/iwd</pkg> instead of
- <pkg>net-wireless/wpa_supplicant</pkg> for wifi support by default</flag>
- <flag name="json">Enable JSON validation via <pkg>dev-libs/jansson</pkg>
- in libnm.</flag>
- <flag name="modemmanager">Enable support for mobile broadband devices
- using <pkg>net-misc/modemmanager</pkg></flag>
- <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
- <flag name="ofono">Use <pkg>net-misc/ofono</pkg> for telephony support.</flag>
- <flag name="ovs">Enable OpenVSwitch support</flag>
- <flag name="ppp">Enable support for mobile broadband and PPPoE
- connections using <pkg>net-dialup/ppp</pkg></flag>
- <flag name="resolvconf">Use <pkg>net-dns/openresolv</pkg> 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.</flag>
- <flag name="teamd">Enable Teamd control support</flag>
- <flag name="wifi">Enable support for wifi and 802.1x security</flag>
- <flag name="wext">Enable support for the deprecated Wext (Wireless
- Extensions) API; needed for some older drivers (e.g. ipw2200,
- ndiswrapper)</flag>
- </use>
-</pkgmetadata>
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
-}