From 2875b62a8637bb5f819c9e2c9378e45d795eef26 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 29 Jul 2019 21:35:59 +0200 Subject: [PATCH] Update to 1.20-rc1 upstream release candidate --- .gitignore | 1 + ...eversed-conditional-in-have_connecti.patch | 29 ------------- 20-connectivity-fedora.conf | 5 +++ 20-connectivity-redhat.conf | 5 +++ 70-nm-connectivity.conf | 15 +++++++ NetworkManager.conf | 6 +-- NetworkManager.spec | 42 +++++++++++++++---- sources | 2 +- 8 files changed, 63 insertions(+), 42 deletions(-) delete mode 100644 0001-settings-fix-a-reversed-conditional-in-have_connecti.patch create mode 100644 70-nm-connectivity.conf diff --git a/.gitignore b/.gitignore index 8d24825..1f267d5 100644 --- a/.gitignore +++ b/.gitignore @@ -358,3 +358,4 @@ network-manager-applet-0.8.1.tar.bz2 /NetworkManager-1.19.2.tar.xz /NetworkManager-1.19.3.tar.xz /NetworkManager-1.19.5.tar.xz +/NetworkManager-1.19.90.tar.xz diff --git a/0001-settings-fix-a-reversed-conditional-in-have_connecti.patch b/0001-settings-fix-a-reversed-conditional-in-have_connecti.patch deleted file mode 100644 index 1bdfb14..0000000 --- a/0001-settings-fix-a-reversed-conditional-in-have_connecti.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c6106672861f9a188469f7e490cc38af60943a10 Mon Sep 17 00:00:00 2001 -From: Lubomir Rintel -Date: Mon, 8 Jul 2019 18:02:22 +0200 -Subject: [PATCH] settings: fix a reversed conditional in - have_connection_for_device() - -https://bugzilla.redhat.com/show_bug.cgi?id=1727411 - -Fixes: be0018382d4d ('settings: in have_connection_for_device() first skip over irrelevant connection types') ---- - src/settings/nm-settings.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c -index 6fbda5274..47866a442 100644 ---- a/src/settings/nm-settings.c -+++ b/src/settings/nm-settings.c -@@ -1505,7 +1505,7 @@ have_connection_for_device (NMSettings *self, NMDevice *device) - continue; - - iface = nm_setting_connection_get_interface_name (s_con); -- if (nm_streq0 (iface, nm_device_get_iface (device))) -+ if (!nm_streq0 (iface, nm_device_get_iface (device))) - continue; - - s_wired = nm_connection_get_setting_wired (connection); --- -2.21.0 - diff --git a/20-connectivity-fedora.conf b/20-connectivity-fedora.conf index 945bea6..4c398c3 100644 --- a/20-connectivity-fedora.conf +++ b/20-connectivity-fedora.conf @@ -1,3 +1,8 @@ +# Enable connectivity checking for NetworkManager. +# See `man NetworkManager.conf`. +# +# Note that connectivity checking works badly with rp_filter set to +# strict. Check "/proc/sys/net/ipv4/conf/*/rp_filter". [connectivity] uri=http://fedoraproject.org/static/hotspot.txt response=OK diff --git a/20-connectivity-redhat.conf b/20-connectivity-redhat.conf index e556fd6..94783b3 100644 --- a/20-connectivity-redhat.conf +++ b/20-connectivity-redhat.conf @@ -1,3 +1,8 @@ +# Enable connectivity checking for NetworkManager. +# See `man NetworkManager.conf`. +# +# Note that connectivity checking works badly with rp_filter set to +# strict. Check "/proc/sys/net/ipv4/conf/*/rp_filter". [connectivity] uri=http://static.redhat.com/test/rhel-networkmanager.txt response=OK diff --git a/70-nm-connectivity.conf b/70-nm-connectivity.conf new file mode 100644 index 0000000..0e4b0e2 --- /dev/null +++ b/70-nm-connectivity.conf @@ -0,0 +1,15 @@ +# The Strict mode of RFC3704 Reverse Path filtering breaks some pretty +# common and reasonable use cases. +# +# Notably, it makes it impossible for NetworkManager to do connectivity +# check on a newly arriving default route (it starts with a higher metric +# and is bumped lower if there's connectivity). +# +# Kernel's default is 0 (no filter), systemd configures a Loose filter since +# commit 230450d4e4f1 ('sysctl.d: switch net.ipv4.conf.all.rp_filter from 1 +# to 2'). However, RHEL systemd package happens to default to Strict mode +# for historic reasons. Let's override it if we're doing connectivity +# checking. + +# Source route verification +net.ipv4.conf.all.rp_filter = 0 diff --git a/NetworkManager.conf b/NetworkManager.conf index 1979ea6..a2bb0fd 100644 --- a/NetworkManager.conf +++ b/NetworkManager.conf @@ -2,7 +2,7 @@ # # See "man 5 NetworkManager.conf" for details. # -# The directories /usr/lib/NetworkManager/conf.d/ and /var/run/NetworkManager/conf.d/ +# The directories /usr/lib/NetworkManager/conf.d/ and /run/NetworkManager/conf.d/ # can contain additional configuration snippets installed by packages. These files are # read before NetworkManager.conf and have thus lowest priority. # The directory /etc/NetworkManager/conf.d/ can contain additional configuration @@ -15,7 +15,7 @@ # /usr/lib/NetworkManager/conf.d/, the latter file is shadowed and thus ignored. # Hence, to disable loading a file from /usr/lib/NetworkManager/conf.d/ you can # put an empty file to /etc with the same name. The same applies with respect -# to the directory /var/run/NetworkManager/conf.d where files in /var/run shadow +# to the directory /run/NetworkManager/conf.d where files in /run shadow # /usr/lib and are themselves shadowed by files under /etc. # # If two files define the same key, the one that is read afterwards will overwrite @@ -44,7 +44,7 @@ # # Note that debug logging of NetworkManager can be quite verbose. Some messages # might be rate-limited by the logging daemon (see RateLimitIntervalSec, RateLimitBurst -# in man journald.conf). +# in man journald.conf). Please disable rate-limiting before collecting debug logs. # #level=TRACE #domains=ALL diff --git a/NetworkManager.spec b/NetworkManager.spec index ce6ba95..1a69eb3 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -1,4 +1,3 @@ -%global dbus_glib_version 0.100 %global wireless_tools_version 1:28-0pre9 @@ -9,8 +8,8 @@ %global epoch_version 1 %global rpm_version 1.20.0 -%global real_version 1.19.5 -%global release_version 0.4 +%global real_version 1.19.90 +%global release_version 0.5 %global snapshot %{nil} %global git_sha %{nil} @@ -18,6 +17,7 @@ %global obsoletes_ppp_plugin 1:1.5.3 %global systemd_dir %{_prefix}/lib/systemd/system +%global sysctl_dir %{_prefix}/lib/sysctl.d %global nmlibdir %{_prefix}/lib/%{name} %global nmplugindir %{_libdir}/%{name}/%{version}-%{release} @@ -32,7 +32,7 @@ %global snap %{?snapshot_dot}%{?git_sha_dot} -%global real_version_major %(echo '%{real_version}' | sed -n 's/^\\([1-9][0-9]*\\.[0-9][0-9]*\\)\\.[0-9][0-9]*$/\\1/p') +%global real_version_major %(printf '%s' '%{real_version}' | sed -n 's/^\\([1-9][0-9]*\\.[0-9][0-9]*\\)\\.[0-9][0-9]*$/\\1/p') %global systemd_units NetworkManager.service NetworkManager-wait-online.service NetworkManager-dispatcher.service @@ -102,7 +102,7 @@ %global config_plugins_default ifcfg-rh %if 0%{?fedora} -# Altough eBPF would be available on Fedora's kernel, it seems +# Although eBPF would be available on Fedora's kernel, it seems # we often get SELinux denials (rh#1651654). But even aside them, # bpf(BPF_MAP_CREATE, ...) randomly fails with EPERM. That might # be related to `ulimit -l`. Anyway, this is not usable at the @@ -118,7 +118,7 @@ Name: NetworkManager Summary: Network connection manager and user applications Epoch: %{epoch_version} Version: %{rpm_version} -Release: %{release_version}%{?snap}%{?dist}.1 +Release: %{release_version}%{?snap}%{?dist} Group: System Environment/Base License: GPLv2+ URL: http://www.gnome.org/projects/NetworkManager/ @@ -128,12 +128,10 @@ Source1: NetworkManager.conf Source2: 00-server.conf Source4: 20-connectivity-fedora.conf Source5: 20-connectivity-redhat.conf +Source6: 70-nm-connectivity.conf #Patch1: 0001-some.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1727411 -Patch1: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/c61066728.patch#/0001-settings-fix-a-reversed-conditional-in-have_connecti.patch - Requires(post): systemd Requires(post): /usr/sbin/update-alternatives Requires(preun): systemd @@ -148,6 +146,11 @@ Obsoletes: NetworkManager < %{obsoletes_device_plugins} Obsoletes: NetworkManager < %{obsoletes_ppp_plugin} Obsoletes: NetworkManager-wimax < 1.2 +%if 0%{?rhel} && 0%{?rhel} <= 7 +# Kept for RHEL to ensure that wired 802.1x works out of the box +Requires: wpa_supplicant >= 1:1.1 +%endif + Conflicts: NetworkManager-vpnc < 1:0.7.0.99-1 Conflicts: NetworkManager-openvpn < 1:0.7.0.99-1 Conflicts: NetworkManager-pptp < 1:0.7.0.99-1 @@ -268,7 +271,12 @@ Summary: Bluetooth device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: NetworkManager-wwan = %{epoch}:%{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} <= 7 +# No Requires:bluez to prevent it being installed when updating +# to the split NM package +%else Requires: bluez >= 4.101-5 +%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} Obsoletes: NetworkManager-bt @@ -284,8 +292,12 @@ Group: System Environment/Base BuildRequires: teamd-devel Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: NetworkManager < %{obsoletes_device_plugins} +%if 0%{?fedora} || 0%{?rhel} >= 8 # Team was split from main NM binary between 0.9.10 and 1.0 +# We need this Obsoletes in addition to the one above +# (git:3aede801521ef7bff039e6e3f1b3c7b566b4338d). Obsoletes: NetworkManager < 1.0.0 +%endif %description team This package contains NetworkManager support for team devices. @@ -319,7 +331,12 @@ This package contains NetworkManager support for Wifi and OLPC devices. Summary: Mobile broadband device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} <= 7 +# No Requires:ModemManager to prevent it being installed when updating +# to the split NM package +%else Requires: ModemManager +%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} %description wwan @@ -692,6 +709,8 @@ cp %{SOURCE4} %{buildroot}%{nmlibdir}/conf.d/ %if %{with connectivity_redhat} cp %{SOURCE5} %{buildroot}%{nmlibdir}/conf.d/ +mkdir -p %{buildroot}%{_sysctldir} +cp %{SOURCE6} %{buildroot}%{_sysctldir} %endif cp examples/dispatcher/10-ifcfg-rh-routes.sh %{buildroot}%{_sysconfdir}/%{name}/dispatcher.d/ @@ -819,6 +838,7 @@ fi %dir %{nmlibdir} %dir %{nmlibdir}/conf.d %dir %{nmlibdir}/VPN +%dir %{nmlibdir}/system-connections %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man7/nmcli-examples.7* @@ -919,6 +939,7 @@ fi %dir %{nmlibdir} %dir %{nmlibdir}/conf.d %{nmlibdir}/conf.d/20-connectivity-redhat.conf +%{_sysctldir}/70-nm-connectivity.conf %endif @@ -945,6 +966,9 @@ fi %changelog +* Mon Jul 29 2019 Thomas Haller - 1:1.20.0-0.5 +- Update to 1.20-rc1 upstream release candidate + * Wed Jul 24 2019 Fedora Release Engineering - 1:1.20.0-0.4.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 9063430..2e939df 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NetworkManager-1.19.5.tar.xz) = e07e82051a2dcf7550b69313671900053adeab40d1c93ca9e8642fb4d4b8a11b1317406bfd491473249385c078c544cdd1172d38510a1cf510f8e01677425e30 +SHA512 (NetworkManager-1.19.90.tar.xz) = fe74daaeb51a42809620b986e238bb3823897e535890ffeb11b570dc4e357a38db03182a5efd817608eaebf2d7ae95ae95d0ddfc9a86b8a70ef44aef6e9e3c65