From b19e5ac269d4f5f5c5ffe485bb8c0da03a543556 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 11 Mar 2019 18:22:03 +0100 Subject: [PATCH] Fix compilation error on rawhide for gettid() compat implementation --- ...ix-gettid-compat-implementation-shad.patch | 53 +++++++++++++++++++ NetworkManager.spec | 6 ++- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 0001-shared-systemd-fix-gettid-compat-implementation-shad.patch diff --git a/0001-shared-systemd-fix-gettid-compat-implementation-shad.patch b/0001-shared-systemd-fix-gettid-compat-implementation-shad.patch new file mode 100644 index 0000000..bf81ccc --- /dev/null +++ b/0001-shared-systemd-fix-gettid-compat-implementation-shad.patch @@ -0,0 +1,53 @@ +From cff233001de6fe9f53cff3f7e7cb9f3ea21c6b15 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Mon, 11 Mar 2019 18:11:13 +0100 +Subject: [PATCH 1/1] shared/systemd: fix gettid() compat implementation + shadowing function from glibc + +On Fedora rawhide we get the following build failure: + + In file included from shared/systemd/src/basic/alloc-util.c:3: + ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:114:21: error: static declaration of 'gettid' follows non-static declaration + 114 | static inline pid_t gettid(void) { + | ^~~~~~ + In file included from /usr/include/unistd.h:1170, + from /usr/include/glib-2.0/gio/gcredentials.h:32, + from /usr/include/glib-2.0/gio/gio.h:46, + from ./shared/nm-utils/nm-macros-internal.h:31, + from ./shared/nm-default.h:293, + from ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:22, + from shared/systemd/src/basic/alloc-util.c:3: + /usr/include/bits/unistd_ext.h:34:16: note: previous declaration of 'gettid' was here + 34 | extern __pid_t gettid (void) __THROW; + | ^~~~~~ + +glibc supports now gettid() call ([1]) which conflicts with our compat +implementation. Rename it. + +[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92 + +(cherry picked from commit 10276322bde8f015e48ac06f6a7509f514eb46f0) +(cherry picked from commit cfb970b2778d7bde97fea4f5718d4a2a9a9d68f5) +--- + shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h +index 06008ce86..b10722d71 100644 +--- a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h ++++ b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h +@@ -111,9 +111,10 @@ raw_getpid (void) { + #endif + } + +-static inline pid_t gettid(void) { ++static inline pid_t _nm_gettid(void) { + return (pid_t) syscall(SYS_gettid); + } ++#define gettid() _nm_gettid () + + /* we build with C11 and thus provides char32_t,char16_t. */ + #define HAVE_CHAR32_T 1 +-- +2.20.1 + diff --git a/NetworkManager.spec b/NetworkManager.spec index ac462c7..2577df0 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -10,7 +10,7 @@ %global epoch_version 1 %global rpm_version 1.16.0 %global real_version 1.15.91 -%global release_version 0.2 +%global release_version 0.3 %global snapshot %{nil} %global git_sha %{nil} @@ -112,6 +112,7 @@ Source4: 20-connectivity-fedora.conf Source5: 20-connectivity-redhat.conf #Patch1: 0001-some.patch +Patch1: 0001-shared-systemd-fix-gettid-compat-implementation-shad.patch Requires(post): systemd Requires(post): /usr/sbin/update-alternatives @@ -1003,6 +1004,9 @@ fi %changelog +* Mon Mar 11 2019 Thomas Haller - 1:1.16.0-0.3 +- Fix compilation error on rawhide for gettid() compat implementation + * Mon Mar 11 2019 Thomas Haller - 1:1.16.0-0.2 - Update to 1.15.91 release (1.16-rc2)