Update buidlroot to version 2016.08.1

This commit is contained in:
2016-11-16 22:07:29 +01:00
parent 807ab03547
commit a1061efbc2
3636 changed files with 59539 additions and 25783 deletions

View 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

View File

@@ -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()

View File

@@ -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

View 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

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 20ea2e8dd5d5e1ff1ff91dc7dab6db53a77d7b7183d8cf2425c215fd294f22a7 src-norm-1.5r6.tgz

View 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))