networkmanager: 1.30.4 -> 1.32.4

allow the use of the nftables backend

+91 -46
+7 -4
pkgs/tools/networking/networkmanager/default.nix
··· 14 14 , ppp 15 15 , dhcp 16 16 , iptables 17 + , nftables 17 18 , python3 18 19 , vala 19 20 , libgcrypt ··· 53 54 in 54 55 stdenv.mkDerivation rec { 55 56 pname = "networkmanager"; 56 - version = "1.30.4"; 57 + version = "1.32.4"; 57 58 58 59 src = fetchurl { 59 60 url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; 60 - sha256 = "sha256-YFC3JCEuo85zhhEzWb6pr6H2eaVPYNmZpZmYkuZywZA="; 61 + sha256 = "sha256-Kay9QceLfvh/+I/sU2DR6vi1tvy5BVXXORq8XjaSMVg="; 61 62 }; 62 63 63 64 outputs = [ "out" "dev" "devdoc" "man" "doc" ]; ··· 85 86 "-Diwd=true" 86 87 "-Dpppd=${ppp}/bin/pppd" 87 88 "-Diptables=${iptables}/bin/iptables" 89 + "-Dnft=${nftables}/bin/nft" 88 90 "-Dmodem_manager=true" 89 91 "-Dnmtui=true" 90 92 "-Ddnsmasq=${dnsmasq}/bin/dnsmasq" ··· 173 175 # though, so we need to replace the absolute path with a local one during build. 174 176 # We are using a symlink that will be overridden during installation. 175 177 mkdir -p ${placeholder "out"}/lib 176 - ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 178 + ln -s $PWD/src/libnm-client-impl/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 177 179 ''; 178 180 179 181 passthru = { ··· 188 190 homepage = "https://wiki.gnome.org/Projects/NetworkManager"; 189 191 description = "Network configuration and management tool"; 190 192 license = licenses.gpl2Plus; 191 - maintainers = teams.freedesktop.members ++ (with maintainers; [ phreedom domenkozar obadz ]); 193 + changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS"; 194 + maintainers = teams.freedesktop.members ++ (with maintainers; [ phreedom domenkozar obadz maxeaubrey ]); 192 195 platforms = platforms.linux; 193 196 }; 194 197 }
+84 -42
pkgs/tools/networking/networkmanager/fix-paths.patch
··· 1 - diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c 2 - index 15c47c3ec..4d1913aa6 100644 3 - --- a/clients/common/nm-vpn-helpers.c 4 - +++ b/clients/common/nm-vpn-helpers.c 5 - @@ -208,15 +208,7 @@ nm_vpn_openconnect_authenticate_helper(const char *host, 6 - NULL, 7 - }; 8 - 9 - - path = nm_utils_file_search_in_paths("openconnect", 10 - - "/usr/sbin/openconnect", 11 - - DEFAULT_PATHS, 12 - - G_FILE_TEST_IS_EXECUTABLE, 13 - - NULL, 14 - - NULL, 15 - - error); 16 - - if (!path) 17 - - return FALSE; 18 - + path = "@openconnect@/bin/openconnect"; 19 - 20 - if (!g_spawn_sync(NULL, 21 - (char **) NM_MAKE_STRV(path, "--authenticate", host), 22 1 diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules 23 - index e398cb9f2..a43d61864 100644 2 + index e398cb9f2f..a43d61864f 100644 24 3 --- a/data/84-nm-drivers.rules 25 4 +++ b/data/84-nm-drivers.rules 26 5 @@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end" ··· 32 11 33 12 LABEL="nm_drivers_end" 34 13 diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in 35 - index 91ebd9a36..5201a56c3 100644 14 + index e23b3a5282..c7246a3b61 100644 36 15 --- a/data/NetworkManager.service.in 37 16 +++ b/data/NetworkManager.service.in 38 17 @@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@ ··· 44 23 #ExecReload=/bin/kill -HUP $MAINPID 45 24 ExecStart=@sbindir@/NetworkManager --no-daemon 46 25 Restart=on-failure 47 - diff --git a/libnm/meson.build b/libnm/meson.build 48 - index d0846419c..a7adb2cc6 100644 49 - --- a/libnm/meson.build 50 - +++ b/libnm/meson.build 51 - @@ -280,7 +280,6 @@ if enable_introspection 52 - output: 'nm-settings-docs-gir.xml', 53 - command: [ 54 - generate_setting_docs_env, 55 - - python.path(), 56 - join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'), 57 - '--lib-path', meson.current_build_dir(), 58 - '--gir', '@INPUT@', 59 26 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c 60 - index 040dd0b4d..98aea3aa9 100644 27 + index 21863b9533..c9b709659d 100644 61 28 --- a/src/core/devices/nm-device.c 62 29 +++ b/src/core/devices/nm-device.c 63 - @@ -13957,14 +13957,14 @@ nm_device_start_ip_check(NMDevice *self) 30 + @@ -13994,14 +13994,14 @@ nm_device_start_ip_check(NMDevice *self) 64 31 gw = nm_ip4_config_best_default_route_get(priv->ip_config_4); 65 32 if (gw) { 66 33 _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf); ··· 77 44 log_domain = LOGD_IP6; 78 45 } 79 46 } 80 - diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c 81 - index 9075c30dd..4b140e92b 100644 82 - --- a/src/core/nm-core-utils.c 83 - +++ b/src/core/nm-core-utils.c 84 - @@ -333,7 +333,7 @@ nm_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *a 47 + diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build 48 + index 21a01e0b04..091c98428f 100644 49 + --- a/src/libnm-client-impl/meson.build 50 + +++ b/src/libnm-client-impl/meson.build 51 + @@ -162,7 +162,6 @@ if enable_introspection 52 + input: libnm_core_settings_sources, 53 + output: 'nm-propery-infos-' + info + '.xml', 54 + command: [ 55 + - python.path(), 56 + join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'), 57 + info, 58 + '@OUTPUT@', 59 + @@ -219,7 +218,6 @@ if enable_introspection 60 + 'env', 61 + 'GI_TYPELIB_PATH=' + gi_typelib_path, 62 + 'LD_LIBRARY_PATH=' + ld_library_path, 63 + - python.path(), 64 + join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'), 65 + '--lib-path', meson.current_build_dir(), 66 + '--gir', '@INPUT@', 67 + diff --git a/src/libnm-platform/nm-platform-utils.c b/src/libnm-platform/nm-platform-utils.c 68 + index 6435dcc482..214d01194e 100644 69 + --- a/src/libnm-platform/nm-platform-utils.c 70 + +++ b/src/libnm-platform/nm-platform-utils.c 71 + @@ -2097,7 +2097,7 @@ nmp_utils_modprobe(GError **error, gboolean suppress_error_logging, const char * 85 72 86 73 /* construct the argument list */ 87 74 argv = g_ptr_array_sized_new(4); ··· 90 77 g_ptr_array_add(argv, "--use-blacklist"); 91 78 g_ptr_array_add(argv, (char *) arg1); 92 79 80 + diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c 81 + index 72691e34c2..95495b6585 100644 82 + --- a/src/libnmc-base/nm-vpn-helpers.c 83 + +++ b/src/libnmc-base/nm-vpn-helpers.c 84 + @@ -198,25 +198,8 @@ nm_vpn_openconnect_authenticate_helper(const char *host, 85 + gs_free const char **output_v = NULL; 86 + const char *const * iter; 87 + const char * path; 88 + - const char *const DEFAULT_PATHS[] = { 89 + - "/sbin/", 90 + - "/usr/sbin/", 91 + - "/usr/local/sbin/", 92 + - "/bin/", 93 + - "/usr/bin/", 94 + - "/usr/local/bin/", 95 + - NULL, 96 + - }; 97 + 98 + - path = nm_utils_file_search_in_paths("openconnect", 99 + - "/usr/sbin/openconnect", 100 + - DEFAULT_PATHS, 101 + - G_FILE_TEST_IS_EXECUTABLE, 102 + - NULL, 103 + - NULL, 104 + - error); 105 + - if (!path) 106 + - return FALSE; 107 + + path = "@openconnect@/bin/openconnect"; 108 + 109 + if (!g_spawn_sync(NULL, 110 + (char **) NM_MAKE_STRV(path, "--authenticate", host), 111 + diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build 112 + index 8f07ae634e..a1326b3403 100644 113 + --- a/src/libnmc-setting/meson.build 114 + +++ b/src/libnmc-setting/meson.build 115 + @@ -6,7 +6,6 @@ if enable_docs 116 + input: [nm_settings_docs_xml_gir, nm_property_infos_xml['nmcli']], 117 + output: 'settings-docs-input.xml', 118 + command: [ 119 + - python.path(), 120 + join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'), 121 + '@OUTPUT@', 122 + nm_property_infos_xml['nmcli'], 123 + diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build 124 + index b2e455bbbd..a12ebf212a 100644 125 + --- a/src/tests/client/meson.build 126 + +++ b/src/tests/client/meson.build 127 + @@ -6,7 +6,6 @@ test( 128 + args: [ 129 + build_root, 130 + source_root, 131 + - python.path(), 132 + ], 133 + timeout: 120, 134 + )