Update buidlroot to version 2016.08.1
This commit is contained in:
17
bsp/buildroot/package/norm/0001-fix-bigendian-build.patch
Normal file
17
bsp/buildroot/package/norm/0001-fix-bigendian-build.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
Fix big-endian build breakage in protolib.
|
||||
Patch status: submitted to author via email.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
diff -Nura norm-1.5r6.orig/protolib/include/protoSpace.h norm-1.5r6/protolib/include/protoSpace.h
|
||||
--- norm-1.5r6.orig/protolib/include/protoSpace.h 2016-03-08 19:48:21.326357963 -0300
|
||||
+++ norm-1.5r6/protolib/include/protoSpace.h 2016-03-08 19:48:46.647234075 -0300
|
||||
@@ -89,7 +89,7 @@
|
||||
}
|
||||
#else
|
||||
ProtoTree::Endian GetEndian() const
|
||||
- return ProtoTree::ENDIAN_BIG;
|
||||
+ {return ProtoTree::ENDIAN_BIG;}
|
||||
void SetNode(Node* theNode)
|
||||
{memcpy(key+sizeof(double), &theNode, sizeof(Node*));}
|
||||
Node* GetNode() const
|
||||
@@ -0,0 +1,38 @@
|
||||
The char * to unsigned char * change happened for the libnetfilter_queue
|
||||
1.0.0 release, not the linux headers.
|
||||
So drop the linux headers version check since it causes more harm than
|
||||
good by trying the old API when the toolchain uses old linux headers
|
||||
with a new-enough libnetfilter_queue.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
diff -Nura norm-1.5r6.orig/protolib/src/linux/linuxDetour.cpp norm-1.5r6/protolib/src/linux/linuxDetour.cpp
|
||||
--- norm-1.5r6.orig/protolib/src/linux/linuxDetour.cpp 2016-03-31 10:17:20.674745597 -0300
|
||||
+++ norm-1.5r6/protolib/src/linux/linuxDetour.cpp 2016-03-31 10:36:58.923084395 -0300
|
||||
@@ -16,8 +16,6 @@
|
||||
#include <linux/if_ether.h> // for ETH_P_IP
|
||||
#include <net/if_arp.h> // for ARPHRD_ETHER
|
||||
|
||||
-#include <linux/version.h> // for LINUX_VERSION_CODE
|
||||
-
|
||||
/** NOTES:
|
||||
*
|
||||
* 1) This newer implementation of LinuxDetour uses netfilter_queue
|
||||
@@ -591,17 +589,7 @@
|
||||
|
||||
// Finally record packet length and cache pointer to IP packet data
|
||||
|
||||
- // A change to the nfq_get_payload() prototype seemed to kick in around Linux header files
|
||||
- // version 3.6? (This will probably need to be fine tuned for the right version threshold.)
|
||||
-
|
||||
-#define LINUX_VERSION_MAJOR (LINUX_VERSION_CODE/65536)
|
||||
-#define LINUX_VERSION_MINOR ((LINUX_VERSION_CODE - (LINUX_VERSION_MAJOR*65536)) / 256)
|
||||
-
|
||||
-#if ((LINUX_VERSION_MAJOR > 3) || ((LINUX_VERSION_MAJOR == 3) && (LINUX_VERSION_MINOR > 5)))
|
||||
linuxDetour->nfq_pkt_len = nfq_get_payload(nfqData, (unsigned char**)(&linuxDetour->nfq_pkt_data));
|
||||
-#else
|
||||
- linuxDetour->nfq_pkt_len = nfq_get_payload(nfqData, &linuxDetour->nfq_pkt_data);
|
||||
-#endif //
|
||||
return 0;
|
||||
} // end LinuxDetour::NfqCallback()
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
Remove kernel header includes causing issues with musl
|
||||
|
||||
Include the kernel headers from netfilter causes a conflict with the
|
||||
<netinet/in.h> way of defining the IPPROTO_* constants, resulting in
|
||||
the following build failure:
|
||||
|
||||
In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/netdb.h:9:0,
|
||||
from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoAddress.h:13,
|
||||
from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoDetour.h:5,
|
||||
from ../protolib/src/linux/linuxDetour.cpp:3:
|
||||
/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected identifier before numeric constant
|
||||
IPPROTO_IP = 0, /* Dummy protocol for TCP */
|
||||
^
|
||||
/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected '}' before numeric constant
|
||||
/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected unqualified-id before numeric constant
|
||||
In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter.h:7:0,
|
||||
from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter_ipv4.h:8,
|
||||
from ../protolib/src/linux/linuxDetour.cpp:10:
|
||||
/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:79:1: error: expected declaration before '}' token
|
||||
};
|
||||
^
|
||||
|
||||
Since from musl's developers perspective including kernel headers is
|
||||
seen as being unsafe, we simply duplicate the necessary netfilter
|
||||
definitions (there are just a few) instead of including some kernel
|
||||
headers.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/protolib/src/linux/linuxDetour.cpp
|
||||
===================================================================
|
||||
--- a/protolib/src/linux/linuxDetour.cpp
|
||||
+++ b/protolib/src/linux/linuxDetour.cpp
|
||||
@@ -7,15 +7,18 @@
|
||||
#include <stdlib.h> // for atoi(), getenv()
|
||||
#include <stdio.h>
|
||||
#include <unistd.h> // for close()
|
||||
-#include <linux/netfilter_ipv4.h> // for NF_IP_LOCAL_OUT, etc
|
||||
-#include <linux/netfilter_ipv6.h> // for NF_IP6_LOCAL_OUT, etc
|
||||
-#include <linux/netfilter.h> // for NF_ACCEPT, etc
|
||||
#include <libnetfilter_queue/libnetfilter_queue.h>
|
||||
|
||||
#include <fcntl.h> // for fcntl(), etc
|
||||
#include <linux/if_ether.h> // for ETH_P_IP
|
||||
#include <net/if_arp.h> // for ARPHRD_ETHER
|
||||
|
||||
+/* From netfilter kernel headers */
|
||||
+#define NF_IP_LOCAL_OUT 3
|
||||
+
|
||||
+#define NF_DROP 0
|
||||
+#define NF_ACCEPT 1
|
||||
+
|
||||
/** NOTES:
|
||||
*
|
||||
* 1) This newer implementation of LinuxDetour uses netfilter_queue
|
||||
15
bsp/buildroot/package/norm/Config.in
Normal file
15
bsp/buildroot/package/norm/Config.in
Normal file
@@ -0,0 +1,15 @@
|
||||
comment "norm needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_NORM
|
||||
bool "norm"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
The NORM protocol is designed to provide end-to-end reliable
|
||||
transport of bulk data objects or streams over generic IP
|
||||
multicast routing and forwarding services.
|
||||
|
||||
http://www.nrl.navy.mil/itd/ncs/products/norm
|
||||
2
bsp/buildroot/package/norm/norm.hash
Normal file
2
bsp/buildroot/package/norm/norm.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 20ea2e8dd5d5e1ff1ff91dc7dab6db53a77d7b7183d8cf2425c215fd294f22a7 src-norm-1.5r6.tgz
|
||||
46
bsp/buildroot/package/norm/norm.mk
Normal file
46
bsp/buildroot/package/norm/norm.mk
Normal file
@@ -0,0 +1,46 @@
|
||||
################################################################################
|
||||
#
|
||||
# norm
|
||||
#
|
||||
################################################################################
|
||||
|
||||
NORM_VERSION = 1.5r6
|
||||
NORM_SITE = http://downloads.pf.itd.nrl.navy.mil/norm/archive
|
||||
NORM_SOURCE = src-norm-$(NORM_VERSION).tgz
|
||||
NORM_INSTALL_STAGING = YES
|
||||
NORM_LICENSE = NRL License
|
||||
NORM_LICENSE_FILES = LICENSE.TXT
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y)
|
||||
NORM_DEPENDENCIES += libnetfilter_queue
|
||||
endif
|
||||
|
||||
define NORM_CONFIGURE_CMDS
|
||||
cd $(@D); \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
./waf configure --prefix=/usr
|
||||
endef
|
||||
|
||||
define NORM_BUILD_CMDS
|
||||
cd $(@D); \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
./waf build
|
||||
endef
|
||||
|
||||
# install target doesn't install headers unfortunately...
|
||||
define NORM_INSTALL_STAGING_CMDS
|
||||
cd $(@D); \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
DESTDIR=$(STAGING_DIR) \
|
||||
./waf install
|
||||
cp -f $(@D)/include/norm* $(STAGING_DIR)/usr/include
|
||||
endef
|
||||
|
||||
define NORM_INSTALL_TARGET_CMDS
|
||||
cd $(@D); \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
DESTDIR=$(TARGET_DIR) \
|
||||
./waf install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user