diff options
author | Matt Turner <mattst88@gentoo.org> | 2021-05-30 16:58:24 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2021-05-30 18:58:23 -0700 |
commit | 0ad6112466c595726e31beb479194e5e66308848 (patch) | |
tree | e6f26f3707850f0866bf5277f51c18ed0925c0e3 /net-misc | |
parent | net-misc/modemmanager: Drop old versions (diff) | |
download | gentoo-0ad6112466c595726e31beb479194e5e66308848.tar.gz gentoo-0ad6112466c595726e31beb479194e5e66308848.tar.bz2 gentoo-0ad6112466c595726e31beb479194e5e66308848.zip |
net-misc/networkmanager: Drop old versions
Bug: https://bugs.gentoo.org/792345
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'net-misc')
8 files changed, 0 insertions, 1371 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest index 906e23031191..362a102a8c48 100644 --- a/net-misc/networkmanager/Manifest +++ b/net-misc/networkmanager/Manifest @@ -1,4 +1 @@ -DIST NetworkManager-1.22.10.tar.bz2 6292347 BLAKE2B b6cb06a0630685714cdd3c8b8e1d788a6e979c2d7f232259e682fdc9e1f5569259731fdbbea65b6e8321561ecb8354b6f7a0b10843eb17cbe6f5937af8d9d898 SHA512 61b6214188a3cd281d0d5a5b8bfc402f8a19d8beaa6a3a2bd85983991cc66d62b2c3785d7ca652373903d53331610cd63a45d94bdb355196d939c48f42be29c1 -DIST NetworkManager-1.28.0.tar.xz 5129848 BLAKE2B 37dc9cda283dad29a70c85ed41a77844b4f60a9815be4b6780fbefecfeffb644fd67ea65373a1895fd2102f2beec9ad141b6e9a92a1a32de646d64acd4250b62 SHA512 ab0bc39626dc55df4e122ad6e1a8086e1467f44bdd41c4491c752dca3ffb549796e0ac888041f12f661f2f6cf4142d0fce59b5135549e48a0076fafcdc45ca06 -DIST NetworkManager-1.30.2.tar.xz 5302032 BLAKE2B 2fd30a09b479a4202c905ef29905d0672c0f4e07af15b0b124a626f160d150348e3d4b256386db43b91c4ac27c897f82269ede6e0f35f4b82905920494d070f2 SHA512 08482ac18814fd94bc99f0aa32de7d38c39d29c914a3080fb6df7ec2437b30f1aea1b5207edeae74ff63b9a181a4823cfa11e8884bc22ae80cb0b95f8cc3514e DIST NetworkManager-1.30.4.tar.xz 5303420 BLAKE2B c2d81fe03f75f4afd05cac06741d9e7fb0d2892bad30462788a39d9c84afd056614e8f8d3371f15f4de7398cc40a32861814498fc36911c43bbe8e43f5053cde SHA512 ca42907d0c0fc6a981d94798a5e264dd58c7d11576a8dd52c8ef6799334af46848091d872e9cec553714766c51457cbe12c5c2017eaac63abce968823b047624 diff --git a/net-misc/networkmanager/files/networkmanager-1.20.6-dont_call_helpers_with_full_paths.patch b/net-misc/networkmanager/files/networkmanager-1.20.6-dont_call_helpers_with_full_paths.patch deleted file mode 100644 index f7ce742c5d53..000000000000 --- a/net-misc/networkmanager/files/networkmanager-1.20.6-dont_call_helpers_with_full_paths.patch +++ /dev/null @@ -1,12 +0,0 @@ -We don't have sed in /usr/bin - ---- NetworkManager-1.20.6/data/84-nm-drivers.rules -+++ NetworkManager-1.20.6/data/84-nm-drivers.rules -@@ -7,6 +7,6 @@ - # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?) - ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end" - DRIVERS=="?*", GOTO="nm_drivers_end" --PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" -+PROGRAM="/bin/sh -c 'ethtool -i $$1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" - - LABEL="nm_drivers_end" 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 cfa642dd29b0..000000000000 --- 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/networkmanager-1.30.2-iwd-autoconnect-fix-pr785.patch b/net-misc/networkmanager/files/networkmanager-1.30.2-iwd-autoconnect-fix-pr785.patch deleted file mode 100644 index 0e60ccdcb894..000000000000 --- a/net-misc/networkmanager/files/networkmanager-1.30.2-iwd-autoconnect-fix-pr785.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 4409900f1d05bf60647492a75e478590647b997a Mon Sep 17 00:00:00 2001 -From: Andrew Zaborowski <andrew.zaborowski@intel.com> -Date: Thu, 18 Mar 2021 00:21:31 +0100 -Subject: [PATCH] iwd: Don't call IWD methods when device unmanaged - -When using IWD-side autoconnect mode (current default), in .deactivate() -and .deactivate_async() refrain from commanding IWD to actually -disconnect until the device is managed. Likely the device is already -disconnected but in any case it's up to IWD to decide in this mode. - -Calling IWD device's .Disconnect() D-Bus method has the side effect of -disabling autoconnect and doing this while NM is still in platform-init -was unexpectedly leaving the device without autoconnect after -platform-init was done, according to user reports. - -Fixes: dc0e31fb7014d8a97aca96bf97a8f86f8236300c ---- - src/core/devices/wifi/nm-device-iwd.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/core/devices/wifi/nm-device-iwd.c b/src/core/devices/wifi/nm-device-iwd.c -index 95ade44b58..01f2a30396 100644 ---- a/src/core/devices/wifi/nm-device-iwd.c -+++ b/src/core/devices/wifi/nm-device-iwd.c -@@ -588,10 +588,16 @@ deactivate(NMDevice *device) - return; - } - -- cleanup_association_attempt(self, TRUE); -+ cleanup_association_attempt(self, FALSE); - priv->act_mode_switch = FALSE; - -- if (!priv->dbus_station_proxy) -+ /* Don't trigger any actions on the IWD side until the device is managed */ -+ if (priv->iwd_autoconnect && nm_device_get_state(device) < NM_DEVICE_STATE_DISCONNECTED) -+ return; -+ -+ if (priv->dbus_station_proxy) -+ send_disconnect(self); -+ else - reset_mode(self, NULL, NULL, NULL); - } - -@@ -647,6 +653,11 @@ deactivate_async(NMDevice * device, - cleanup_association_attempt(self, FALSE); - priv->act_mode_switch = FALSE; - -+ if (priv->iwd_autoconnect && nm_device_get_state(device) < NM_DEVICE_STATE_DISCONNECTED) { -+ nm_utils_invoke_on_idle(cancellable, disconnect_cb_on_idle, user_data); -+ return; -+ } -+ - if (priv->dbus_station_proxy) { - g_dbus_proxy_call(priv->dbus_station_proxy, - "Disconnect", --- -GitLab - diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml index 808f71c51288..bad2d1a41b75 100644 --- a/net-misc/networkmanager/metadata.xml +++ b/net-misc/networkmanager/metadata.xml @@ -6,7 +6,6 @@ <name>Gentoo GNOME Desktop</name> </maintainer> <use> - <flag name="concheck">Enable connectivity checking support</flag> <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 @@ -15,10 +14,6 @@ <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="libpsl">Link against libpsl</flag> - <flag name="lto">Link-time optimization</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> @@ -32,7 +27,6 @@ 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="tools">Build cli tools such as nmcli, nmtui and nm_cloud_setup</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, diff --git a/net-misc/networkmanager/networkmanager-1.22.10-r12.ebuild b/net-misc/networkmanager/networkmanager-1.22.10-r12.ebuild deleted file mode 100644 index 562789d7de90..000000000000 --- a/net-misc/networkmanager/networkmanager-1.22.10-r12.ebuild +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8} ) - -inherit meson linux-info python-any-r1 systemd udev vala - -DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" -HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" -SRC_URI="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/archive/${PV}/NetworkManager-${PV}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="audit bluetooth +concheck connection-sharing +dhclient dhcpcd " -IUSE+="debug elogind examples +gnutls gtk-doc introspection iwd json kernel_linux " -IUSE+="libpsl lto modemmanager nss ofono ovs +policykit ppp resolvconf selinux " -IUSE+="syslog systemd teamd test +tools vala wext +wifi" - -REQUIRED_USE=" - gtk-doc? ( introspection ) - iwd? ( wifi ) - vala? ( introspection ) - ^^ ( gnutls nss ) - ?? ( elogind systemd ) - ?? ( dhclient dhcpcd ) - ?? ( syslog systemd ) -" - -DEPEND=" - dev-libs/dbus-glib - dev-libs/glib:2 - net-libs/libndp - sys-apps/dbus - sys-kernel/linux-headers - virtual/libudev - audit? ( sys-process/audit ) - bluetooth? ( net-wireless/bluez ) - concheck? ( net-misc/curl ) - connection-sharing? ( - net-dns/dnsmasq[dbus,dhcp] - net-firewall/iptables - ) - dhclient? ( net-misc/dhcp[client] ) - dhcpcd? ( net-misc/dhcpcd ) - elogind? ( sys-auth/elogind ) - gnutls? ( - dev-libs/libgcrypt:0= - net-libs/gnutls - ) - introspection? ( dev-libs/gobject-introspection:= ) - json? ( dev-libs/jansson ) - libpsl? ( net-libs/libpsl ) - modemmanager? ( - net-misc/mobile-broadband-provider-info - net-misc/modemmanager - ) - nss? ( dev-libs/nss ) - ofono? ( net-misc/ofono ) - ovs? ( dev-libs/jansson ) - policykit? ( sys-auth/polkit ) - ppp? ( net-dialup/ppp[ipv6] ) - resolvconf? ( net-dns/openresolv ) - selinux? ( sys-libs/libselinux ) - systemd? ( sys-apps/systemd:= ) - teamd? ( - dev-libs/jansson - net-misc/libteam - ) - tools? ( - dev-libs/newt - sys-libs/ncurses - sys-libs/readline:0= - ) -" -RDEPEND="${DEPEND} - acct-group/plugdev - || ( - net-analyzer/arping - net-misc/iputils[arping(+)] - ) - wifi? ( - iwd? ( net-wireless/iwd ) - !iwd? ( net-wireless/wpa_supplicant[dbus] ) - ) -" -BDEPEND="dev-util/intltool - gtk-doc? ( dev-util/gtk-doc - app-text/docbook-xml-dtd:4.1.2 ) - sys-devel/gettext - virtual/pkgconfig - introspection? ( - $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') - dev-libs/libxslt - dev-lang/perl - ) - vala? ( $(vala_depend) ) -" - -S="${WORKDIR}"/NetworkManager-${PV} - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-1.20.6-dont_call_helpers_with_full_paths.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 " - eerror "your kernel 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, " - ewarn "NetworkManager will not work correctly." - ewarn "See https://bugs.gentoo.org/333639 for more info." - fi - fi -} - -pkg_setup() { - CONFIG_CHECK="~BPF" - - 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 - fi - - linux-info_pkg_setup - - # if use introspection || use test; then - if use introspection; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - use vala && vala_src_prepare -} - -src_configure() { - local emesonargs=( - -D systemdsystemunitdir=$(systemd_get_systemunitdir) - -D system_ca_path=/etc/ssl/certs - -D udev_dir=$(get_udevdir) - -D dbus_conf_dir=/usr/share/dbus-1/system.d - -D kernel_firmware_dir=/lib/firmware - -D iptables=/sbin/iptables - #-D dnsmasq= - #-D dnssec_trigger= - - -D dist_version=${PVR} - $(meson_use policykit polkit) - -D modify_system=true - $(meson_use policykit polkit_agent) - $(meson_use policykit config_auth_polkit_default) - $(meson_use selinux) - $(meson_use systemd systemd_journal) - -D hostname_persist=gentoo - -D libaudit=$(usex audit yes no) - - $(meson_use wext) - $(meson_use wifi) - $(meson_use iwd) - $(meson_use ppp) - #-D pppd='path to pppd binary' - #-D pppd_plugin_dir='path to the pppd plugins directory' - $(meson_use modemmanager modem_manager) - $(meson_use ofono) - $(meson_use concheck) - $(meson_use teamd teamdctl) - $(meson_use ovs) - $(meson_use tools nmcli) - $(meson_use tools nmtui) - $(meson_use tools nm_cloud_setup) - $(meson_use bluetooth bluez5_dun) - -D ebpf=true - - -D config_plugins_default=keyfile - -D ifcfg_rh=false - -D ifupdown=false - - $(meson_feature resolvconf) - -D netconfig=disable - -D config_dns_rc_manager_default=symlink - - $(meson_feature dhclient) - -D dhcpcanon=disable - $(meson_feature dhcpcd) - - $(meson_use introspection) - $(meson_use vala vapi) - $(meson_use gtk-doc docs) - # $(meson_use debug more_asserts) - -D more_asserts=0 - $(meson_use debug more_logging) - -D valgrind=no - -D valgrind_suppressions= - $(meson_use debug ld_gc) - $(meson_use libpsl) - $(meson_use json json_validation) - -D qt=false - - $(meson_use lto b_lto) - ) - - if use systemd; then - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=systemd ) - emesonargs+=( -D suspend_resume=systemd ) - elif use elogind; then - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=elogind ) - emesonargs+=( -D suspend_resume=elogind ) - else - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=none ) - emesonargs+=( -D suspend_resume=auto ) - fi - - if use syslog; then - emesonargs+=( -D config_logging_backend_default=syslog ) - elif use systemd; then - emesonargs+=( -D config_logging_backend_default=journal ) - else - emesonargs+=( -D config_logging_backend_default=default ) - fi - - if use dhclient; then - emesonargs+=( -D config_dhcp_default=dhclient ) - elif use dhcpcd; then - emesonargs+=( -D config_dhcp_default=dhcpcd ) - else - emesonargs+=( -D config_dhcp_default=internal ) - fi - - if use nss; then - emesonargs+=( -D crypto=nss ) - else - emesonargs+=( -D crypto=gnutls ) - fi - - meson_src_configure -} - -src_install() { - meson_src_install - - 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* || die - - # 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 - insinto /usr/lib/NetworkManager/conf.d/ - newins - iwd.conf <<- _EOF_ - [device] - wifi.backend=iwd - _EOF_ - fi - - if use examples; then - dodoc -r "${S}"/examples/ - - insinto /usr/lib/NetworkManager/conf.d - doins "${S}"/examples/nm-conf.d/{30-anon,31-mac-addr-change}.conf - - # Temporary workaround - cp "${ED}"/usr/share/doc/NetworkManager/examples/server.conf \ - "${ED}"/usr/share/doc/${PF}/examples/ || - die "Failed to copy server.conf example." - fi - - # Temporary workaround, - # The file will be installed regargless of 'examples' USE. - rm "${ED}"/usr/share/doc/NetworkManager/examples/server.conf || die - rm -r "${ED}"/usr/share/doc/NetworkManager || die - - # Empty dirs - rm -r "${ED}/var" || die -} - -pkg_postinst() { - systemd_reenable NetworkManager.service -} 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 cd47f2d90ad0..000000000000 --- a/net-misc/networkmanager/networkmanager-1.28.0-r1.ebuild +++ /dev/null @@ -1,349 +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="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~sparc 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" -) - -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 -} diff --git a/net-misc/networkmanager/networkmanager-1.30.2.ebuild b/net-misc/networkmanager/networkmanager-1.30.2.ebuild deleted file mode 100644 index 5dfe828e9e78..000000000000 --- a/net-misc/networkmanager/networkmanager-1.30.2.ebuild +++ /dev/null @@ -1,349 +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+ LGPL-2.1+" -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="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~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}"/${P}-iwd-autoconnect-fix-pr785.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 -} |