openvswitch: fix musl compatibility
authorAlexandru Ardelean <redacted>
Sat, 20 Jun 2015 06:32:29 +0000 (09:32 +0300)
committerAlexandru Ardelean <redacted>
Sat, 20 Jun 2015 08:16:22 +0000 (11:16 +0300)
Remove libatomic support from OVS: musl's libatomic seems incomplete.
Conditionally compile <net/if_packet.h>.

Signed-off-by: Alexandru Ardelean <redacted>
net/openvswitch/Makefile
net/openvswitch/patches/0004-musl-compatibility.patch [new file with mode: 0644]

index 010f0fa60a515b11da049cec74bc554c9fab9cfc..d51d78a7683c4a255277901028e3078937e83658 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openvswitch
 
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_VERSION:=2.3.90
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 PKG_LICENSE:=Apache-2.0
@@ -54,7 +54,7 @@ endef
 define Package/openvswitch
   $(call Package/openvswitch/Default)
   TITLE:=Open vSwitch Userspace Package
-  DEPENDS:=+libpcap +libopenssl +librt +libatomic +kmod-openvswitch @($(SUPPORTED_KERNELS))
+  DEPENDS:=+libpcap +libopenssl +librt +kmod-openvswitch @($(SUPPORTED_KERNELS))
 endef
 
 define Package/openvswitch/description
diff --git a/net/openvswitch/patches/0004-musl-compatibility.patch b/net/openvswitch/patches/0004-musl-compatibility.patch
new file mode 100644 (file)
index 0000000..25aa45d
--- /dev/null
@@ -0,0 +1,39 @@
+diff --git a/configure.ac b/configure.ac
+index 8d47eb9..69eeed8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -117,7 +117,6 @@ OVS_CHECK_XENSERVER_VERSION
+ OVS_CHECK_GROFF
+ OVS_CHECK_GNU_MAKE
+ OVS_CHECK_TLS
+-OVS_CHECK_ATOMIC_LIBS
+ OVS_CHECK_GCC4_ATOMICS
+ OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(1)
+ OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(2)
+diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
+index 9b2e74f..70126bb 100644
+--- a/lib/netdev-linux.c
++++ b/lib/netdev-linux.c
+@@ -40,7 +40,9 @@
+ #include <netpacket/packet.h>
+ #include <net/if.h>
+ #include <net/if_arp.h>
++#if defined(__UCLIBC__) || defined(__GLIBC__)
+ #include <net/if_packet.h>
++#endif
+ #include <net/route.h>
+ #include <netinet/in.h>
+ #include <poll.h>
+diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h
+index 9ead907..86d3341 100644
+--- a/lib/ovs-atomic.h
++++ b/lib/ovs-atomic.h
+@@ -325,8 +325,6 @@
+         #include "ovs-atomic-clang.h"
+     #elif HAVE_STDATOMIC_H
+         #include "ovs-atomic-c11.h"
+-    #elif __GNUC__ >= 4 && __GNUC_MINOR__ >= 7
+-        #include "ovs-atomic-gcc4.7+.h"
+     #elif __GNUC__ && defined(__x86_64__)
+         #include "ovs-atomic-x86_64.h"
+     #elif __GNUC__ && defined(__i386__)
git clone https://git.99rst.org/PROJECT