From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabrice Fontaine Date: Mon, 20 Apr 2020 16:45:35 +0200 Subject: [Buildroot] [PATCH v3,1/2] package/daq3: new package Message-ID: <20200420144536.708646-1-fontaine.fabrice@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Add daq3 package to be able to add the snort3 package. snort3 has an official dependency on daq 2.2.2 but this version is two years old so it seems more reasonable to add a daq3 package instead of a daq22 package. daq3 (and daq 2.2.x) is not compatatible with snort as daq_load_modules has been removed from daq 2.2.x daq3 package has been created from the daq package, here is a summary of the changes: - Drop patch (not needed anymore) - Enable parallel build as there is no more tokdefs.h - Drop libdnet dependency - Drop host-bison and host-flex dependencies - Drop libpcap workarounds - ipq module dropped since version 3.0.0-alpha1 and https://github.com/snort3/libdaq/commit/80c62799a936118c80894bf91f396c8aa8ba45a6 - Add LICENSE file (same content than COPYING) - Update hash of COPYING (project name and GPLv2 text updated with https://github.com/snort3/libdaq/commit/46e8722da230082a5728175270ea3c04432d1af0) - Add a dependency on gcc 4.9 for {t,u}h_{d,s}port that are protected on glibc by _FAVOR_BSD (and so !defined _GNU_SOURCE) until version 2.19: https://sourceware.org/git/?p=glibc.git;a=commit;h=7011c2622fe3e10a29dbe74f06aaebd07710127d Signed-off-by: Fabrice Fontaine --- Changes v2 -> v3 (after review of Heiko Thiery): - Bump to latest upstream version (and so drop second patch) - Update indentation of hash file to two spaces) - Fix first patch DEVELOPERS | 1 + package/Config.in | 1 + ...0001-configure.ac-make-C-11-optional.patch | 38 +++++++++++++++++++ package/daq3/Config.in | 14 +++++++ package/daq3/daq3.hash | 6 +++ package/daq3/daq3.mk | 30 +++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 package/daq3/0001-configure.ac-make-C-11-optional.patch create mode 100644 package/daq3/Config.in create mode 100644 package/daq3/daq3.hash create mode 100644 package/daq3/daq3.mk diff --git a/DEVELOPERS b/DEVELOPERS index b64ad3854f..fdc6632a45 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -849,6 +849,7 @@ F: package/belle-sip/ F: package/belr/ F: package/boinc/ F: package/cairo/ +F: package/daq3/ F: package/duktape/ F: package/expat/ F: package/flatbuffers/ diff --git a/package/Config.in b/package/Config.in index a9c6f6fcbc..bbeafb0e92 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1651,6 +1651,7 @@ menu "Networking" source "package/curlpp/Config.in" source "package/czmq/Config.in" source "package/daq/Config.in" + source "package/daq3/Config.in" source "package/davici/Config.in" source "package/enet/Config.in" source "package/filemq/Config.in" diff --git a/package/daq3/0001-configure.ac-make-C-11-optional.patch b/package/daq3/0001-configure.ac-make-C-11-optional.patch new file mode 100644 index 0000000000..eae3a30eed --- /dev/null +++ b/package/daq3/0001-configure.ac-make-C-11-optional.patch @@ -0,0 +1,38 @@ +From b4008beada22d705d8a9aa5486b68789c31b139c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 27 Jan 2020 13:44:15 +0100 +Subject: [PATCH] configure.ac: make C++11 optional + +C++11 is optional otherwise build without C++ will fail on: +checking whether no supports C++11 features with -std=gnu++11... no +checking whether no supports C++11 features with -std=gnu++0x... no +checking whether no supports C++11 features with -std=c++11... no +checking whether no supports C++11 features with +std=c++11... no +checking whether no supports C++11 features with -h std=c++11... no +checking whether no supports C++11 features with -std=c++0x... no +checking whether no supports C++11 features with +std=c++0x... no +checking whether no supports C++11 features with -h std=c++0x... no +configure: error: *** A compiler with support for C++11 language features is required. + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 2b7d67d..0add302 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -29,7 +29,7 @@ AC_PROG_CXX + AM_PROG_AR + AC_PROG_SED + +-AX_CXX_COMPILE_STDCXX_11 ++AX_CXX_COMPILE_STDCXX_11(,optional) + + LT_INIT + +-- +2.24.1 + diff --git a/package/daq3/Config.in b/package/daq3/Config.in new file mode 100644 index 0000000000..ad7d55db5b --- /dev/null +++ b/package/daq3/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_DAQ3 + bool "daq3" + depends on !BR2_PACKAGE_DAQ + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + DAQ is a Data Acquisition library for packet I/O from the + Snort project. + + https://www.snort.org + +comment "daq3 needs a toolchain w/ dynamic library, gcc >= 4.9" + depends on !BR2_PACKAGE_DAQ + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/daq3/daq3.hash b/package/daq3/daq3.hash new file mode 100644 index 0000000000..51842dccbd --- /dev/null +++ b/package/daq3/daq3.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 7e5bb5487b774324156770b3505a9aa932c3fcf03d4a9aa905d286d2a71f996a daq3-3.0.0-alpha4.tar.gz + +# Hash for license files: +sha256 64601289158eddad72cb4de72652f9e64dc886942c910b38ddee93ba13b0db26 COPYING +sha256 64601289158eddad72cb4de72652f9e64dc886942c910b38ddee93ba13b0db26 LICENSE diff --git a/package/daq3/daq3.mk b/package/daq3/daq3.mk new file mode 100644 index 0000000000..c4356ce2b7 --- /dev/null +++ b/package/daq3/daq3.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# daq3 +# +################################################################################ + +DAQ3_VERSION = 3.0.0-alpha4 +DAQ3_SITE = $(call github,snort3,libdaq,v$(DAQ3_VERSION)) +DAQ3_LICENSE = GPL-2.0 +DAQ3_LICENSE_FILES = COPYING LICENSE +DAQ3_INSTALL_STAGING = YES +DAQ3_DEPENDENCIES = host-pkgconf +# From git +DAQ3_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y) +DAQ3_DEPENDENCIES += libnetfilter_queue +DAQ3_CONF_OPTS += --enable-nfq-module +else +DAQ3_CONF_OPTS += --disable-nfq-module +endif + +ifeq ($(BR2_PACKAGE_LIBPCAP),y) +DAQ3_DEPENDENCIES += libpcap +DAQ3_CONF_OPTS += --enable-pcap-module +else +DAQ3_CONF_OPTS += --disable-pcap-module +endif + +$(eval $(autotools-package)) -- 2.25.1