Add buildroot 2018-02

This commit is contained in:
Pascal Vizeli
2018-03-17 23:47:00 +00:00
parent 3776c47f83
commit 67742041ad
10007 changed files with 405098 additions and 0 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,46 @@
protolib: remove const qualifiers in ProtoSortedTreeTemplate
The methods PeekPrevItem() and PeekNextItem() in
ProtoSortedTreeTemplate were using a const qualifier, but not the
corresponding methods in ProtoSortedTree, causing a build failure with
gcc 7.x:
norm-1.5r6/protolib/include/protoTree.h: In member function 'ITEM_TYPE* ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const':
norm-1.5r6/protolib/include/protoTree.h:652:93: error: no matching function for call to 'ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const'
{return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());}
^
norm-1.5r6/protolib/include/protoTree.h:565:23: note: candidate: ProtoSortedTree::Item* ProtoSortedTree::Iterator::PeekPrevItem() <near match>
Item* PeekPrevItem()
^~~~~~~~~~~~
Since the same methods in ProtoTreeTemplate don't have the const
qualifier, we take the simple solution of dropping such qualifiers
from ProtoSortedTreeTemplate as well, which fixes the build of norm
with gcc 7.x.
Many thanks to Romain Naour <romain.naour@gmail.com> for pointing out
the solution.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Patch has been submitted upstream and accepted, but mailing list
archive not updated.]
Index: b/protolib/include/protoTree.h
===================================================================
--- a/protolib/include/protoTree.h
+++ b/protolib/include/protoTree.h
@@ -648,12 +648,12 @@
ITEM_TYPE* GetPrevItem()
{return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetPrevItem());}
- ITEM_TYPE* PeekPrevItem() const
+ ITEM_TYPE* PeekPrevItem()
{return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());}
ITEM_TYPE* GetNextItem()
{return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetNextItem());}
- ITEM_TYPE* PeekNextItem() const
+ ITEM_TYPE* PeekNextItem()
{return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekNextItem());}
}; // end class ProtoSortedTreeTemplate::Iterator

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,24 @@
################################################################################
#
# 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
# install target doesn't install headers unfortunately...
define NORM_INSTALL_HEADERS
cp -f $(@D)/include/norm* $(STAGING_DIR)/usr/include
endef
NORM_POST_INSTALL_STAGING_HOOKS += NORM_INSTALL_HEADERS
$(eval $(waf-package))