From: Jan Palus Date: Sat, 10 Feb 2018 13:04:54 +0000 (+0100) Subject: up to 1.10.4 X-Git-Tag: auto/th/NetworkManager-1.10.4-1 X-Git-Url: http://git.pld-linux.org/?p=packages%2FNetworkManager.git;a=commitdiff_plain;h=4a6708fdcafc9b2dda91cda5d3cee69553eaf3fb up to 1.10.4 included fix for ovs compilation failure: https://bugzilla.gnome.org/show_bug.cgi?id=793183 --- diff --git a/NetworkManager-ovs_fix.patch b/NetworkManager-ovs_fix.patch new file mode 100644 index 0000000..4b3ff85 --- /dev/null +++ b/NetworkManager-ovs_fix.patch @@ -0,0 +1,63 @@ +From 5159c34ea8923bf0c17fd31e183c5803b72b97f3 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Mon, 5 Feb 2018 13:10:24 +0100 +Subject: ovs: fix compiler error for passing NMDevice pointer to + NM_DEVICE_OVS_INTERFACE_GET_PRIVATE() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +NM_DEVICE_OVS_INTERFACE_GET_PRIVATE() is implemented via the _NM_GET_PRIVATE() +macro. This macro uses C11's _Generic() to provide additional compiler checks +when casting from an incompatible pointer type. + +As such, + + NMDevice *device = ...; + NMDeviceOvsInterfacePrivate *priv; + + priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE (device); + +causes a compilation error: + + error: ‘_Generic’ selector of type ‘NMDevice * {aka struct _NMDevice *}’ is not compatible with any association + +One workaround would be to cast the pointer first: + + priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE ((NMDeviceOvsInterface *) device); + +A better fix is to mark NMDevice as a compatible pointer in _NM_GET_PRIVATE(), +which this patch does. + +Previously, this went unnoticed, because due to bug "a43bf3388 build: fix configure +check for CC support of _Generic() and __auto_type", we failed to detect support +for _Generic() when compiling with -Werror. That essentially disables this check, +and NM_DEVICE_OVS_INTERFACE_GET_PRIVATE() would do a direct cast. + +A workaround for this build failure might be to build with -Werror, which accidentally +results in not using _Generic(). + +https://bugzilla.gnome.org/show_bug.cgi?id=793183 + +Fixes: 8ad310f8e3cb0157cfa5fa8ff10f313555cf8e3c +(cherry picked from commit 782578122c6cb23bdbee0b01eddceee1b967a673) +--- + src/devices/ovs/nm-device-ovs-interface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/devices/ovs/nm-device-ovs-interface.c b/src/devices/ovs/nm-device-ovs-interface.c +index e746a3f..ce32c2d 100644 +--- a/src/devices/ovs/nm-device-ovs-interface.c ++++ b/src/devices/ovs/nm-device-ovs-interface.c +@@ -50,7 +50,7 @@ struct _NMDeviceOvsInterfaceClass { + + G_DEFINE_TYPE (NMDeviceOvsInterface, nm_device_ovs_interface, NM_TYPE_DEVICE) + +-#define NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceOvsInterface, NM_IS_DEVICE_OVS_INTERFACE) ++#define NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceOvsInterface, NM_IS_DEVICE_OVS_INTERFACE, NMDevice) + + /*****************************************************************************/ + +-- +cgit v1.1 + diff --git a/NetworkManager.spec b/NetworkManager.spec index 6200b83..3b633ae 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -6,19 +6,20 @@ Summary: Network Manager for GNOME Summary(pl.UTF-8): Zarządca sieci dla GNOME Name: NetworkManager -Version: 1.10.2 +Version: 1.10.4 Release: 1 Epoch: 2 License: GPL v2+ Group: Networking/Admin Source0: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.10/%{name}-%{version}.tar.xz -# Source0-md5: 42d83efdff7f23381c0971981222b491 +# Source0-md5: 2a603a970eaccc9be9bf7bf16175d3c0 Source1: %{name}.conf Source3: %{name}.tmpfiles Source4: %{name}.init Patch0: ifcfg-path.patch Patch1: %{name}-sh.patch Patch2: systemd-fallback.patch +Patch3: %{name}-ovs_fix.patch URL: https://wiki.gnome.org/Projects/NetworkManager BuildRequires: ModemManager-devel >= 1.0.0 BuildRequires: audit-libs-devel @@ -192,6 +193,7 @@ Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli). %patch0 -p1 %patch1 -p1 %{?with_systemd:%patch2 -p1} +%patch3 -p1 %build %{__gtkdocize}