diff --git a/0003-build-fix-for-bitwise-rh1444744.patch b/0003-build-fix-for-bitwise-rh1444744.patch new file mode 100644 index 0000000..d3d3fc4 --- /dev/null +++ b/0003-build-fix-for-bitwise-rh1444744.patch @@ -0,0 +1,92 @@ +From 022fc2d552c28c403ada6e7995d6ab28a653be5e Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Tue, 10 Jan 2017 20:10:19 +0100 +Subject: [PATCH 1/1] sparse: avoid clash with __bitwise and __force from 4.10 + linux/types.h + +It also used __bitwise and __force. It seems easier to rename +our versions since they are local to this one single header. + +Also, undefine them afteerwards, so that we don't pollute the +preprocessor macro namespace. + +https://github.com/systemd/systemd/pull/5061 +(cherry picked from commit 13b2ac2214cb56264fc1e9b96e4ed4382da2db78) +(cherry picked from commit 2f92d8cee111f136ea81da1d56dad817f39c6f26) +--- + src/systemd/src/basic/sparse-endian.h | 47 +++++++++++++++++++---------------- + 1 file changed, 25 insertions(+), 22 deletions(-) + +diff --git a/src/systemd/src/basic/sparse-endian.h b/src/systemd/src/basic/sparse-endian.h +index c913fda..a3573b8 100644 +--- a/src/systemd/src/basic/sparse-endian.h ++++ b/src/systemd/src/basic/sparse-endian.h +@@ -26,19 +26,19 @@ + #include + + #ifdef __CHECKER__ +-#define __bitwise __attribute__((bitwise)) +-#define __force __attribute__((force)) ++#define __sd_bitwise __attribute__((bitwise)) ++#define __sd_force __attribute__((force)) + #else +-#define __bitwise +-#define __force ++#define __sd_bitwise ++#define __sd_force + #endif + +-typedef uint16_t __bitwise le16_t; +-typedef uint16_t __bitwise be16_t; +-typedef uint32_t __bitwise le32_t; +-typedef uint32_t __bitwise be32_t; +-typedef uint64_t __bitwise le64_t; +-typedef uint64_t __bitwise be64_t; ++typedef uint16_t __sd_bitwise le16_t; ++typedef uint16_t __sd_bitwise be16_t; ++typedef uint32_t __sd_bitwise le32_t; ++typedef uint32_t __sd_bitwise be32_t; ++typedef uint64_t __sd_bitwise le64_t; ++typedef uint64_t __sd_bitwise be64_t; + + #undef htobe16 + #undef htole16 +@@ -69,20 +69,23 @@ typedef uint64_t __bitwise be64_t; + #define bswap_64_on_be(x) __bswap_64(x) + #endif + +-static inline le16_t htole16(uint16_t value) { return (le16_t __force) bswap_16_on_be(value); } +-static inline le32_t htole32(uint32_t value) { return (le32_t __force) bswap_32_on_be(value); } +-static inline le64_t htole64(uint64_t value) { return (le64_t __force) bswap_64_on_be(value); } ++static inline le16_t htole16(uint16_t value) { return (le16_t __sd_force) bswap_16_on_be(value); } ++static inline le32_t htole32(uint32_t value) { return (le32_t __sd_force) bswap_32_on_be(value); } ++static inline le64_t htole64(uint64_t value) { return (le64_t __sd_force) bswap_64_on_be(value); } + +-static inline be16_t htobe16(uint16_t value) { return (be16_t __force) bswap_16_on_le(value); } +-static inline be32_t htobe32(uint32_t value) { return (be32_t __force) bswap_32_on_le(value); } +-static inline be64_t htobe64(uint64_t value) { return (be64_t __force) bswap_64_on_le(value); } ++static inline be16_t htobe16(uint16_t value) { return (be16_t __sd_force) bswap_16_on_le(value); } ++static inline be32_t htobe32(uint32_t value) { return (be32_t __sd_force) bswap_32_on_le(value); } ++static inline be64_t htobe64(uint64_t value) { return (be64_t __sd_force) bswap_64_on_le(value); } + +-static inline uint16_t le16toh(le16_t value) { return bswap_16_on_be((uint16_t __force)value); } +-static inline uint32_t le32toh(le32_t value) { return bswap_32_on_be((uint32_t __force)value); } +-static inline uint64_t le64toh(le64_t value) { return bswap_64_on_be((uint64_t __force)value); } ++static inline uint16_t le16toh(le16_t value) { return bswap_16_on_be((uint16_t __sd_force)value); } ++static inline uint32_t le32toh(le32_t value) { return bswap_32_on_be((uint32_t __sd_force)value); } ++static inline uint64_t le64toh(le64_t value) { return bswap_64_on_be((uint64_t __sd_force)value); } + +-static inline uint16_t be16toh(be16_t value) { return bswap_16_on_le((uint16_t __force)value); } +-static inline uint32_t be32toh(be32_t value) { return bswap_32_on_le((uint32_t __force)value); } +-static inline uint64_t be64toh(be64_t value) { return bswap_64_on_le((uint64_t __force)value); } ++static inline uint16_t be16toh(be16_t value) { return bswap_16_on_le((uint16_t __sd_force)value); } ++static inline uint32_t be32toh(be32_t value) { return bswap_32_on_le((uint32_t __sd_force)value); } ++static inline uint64_t be64toh(be64_t value) { return bswap_64_on_le((uint64_t __sd_force)value); } ++ ++#undef __sd_bitwise ++#undef __sd_force + + #endif /* SPARSE_ENDIAN_H */ +-- +2.9.3 + diff --git a/NetworkManager.spec b/NetworkManager.spec index 4c58383..ac83c79 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -12,7 +12,7 @@ %global rpm_version 1.4.4 %global real_version 1.4.4 -%global release_version 4 +%global release_version 5 %global epoch_version 1 %global obsoletes_nmver 1:0.9.9.95-1 @@ -100,6 +100,7 @@ Source3: 20-connectivity-fedora.conf Patch1: 0001-upstream-patches.patch Patch2: 0002-ifcfg-alias-parsing.patch +Patch3: 0003-build-fix-for-bitwise-rh1444744.patch Requires(post): systemd Requires(preun): systemd @@ -343,6 +344,7 @@ by nm-connection-editor and nm-applet in a non-graphical environment. %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %if %{with regen_docs} @@ -650,6 +652,9 @@ fi %endif %changelog +* Fri May 5 2017 Thomas Haller - 1:1.4.4-5 +- build: fix build failure due to redefinition of __bitwise (rh#1444744) + * Thu Apr 20 2017 Thomas Haller - 1:1.4.4-4 - ifcfg-rh: improve parsing of IP configuration from alias files