commit 4a6708fdcafc9b2dda91cda5d3cee69553eaf3fb
Author: Jan Palus <[email protected]>
Date:   Sat Feb 10 14:04:54 2018 +0100

    up to 1.10.4
    
    included fix for ovs compilation failure:
    https://bugzilla.gnome.org/show_bug.cgi?id=793183

 NetworkManager-ovs_fix.patch | 63 ++++++++++++++++++++++++++++++++++++++++++++
 NetworkManager.spec          |  6 +++--
 2 files changed, 67 insertions(+), 2 deletions(-)
---
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}
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 <[email protected]>
+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
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/NetworkManager.git/commitdiff/4a6708fdcafc9b2dda91cda5d3cee69553eaf3fb

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to