Hi Stefan,
This is a very important patchset and I have just merged it.
I had to move the root files into directories for x86_64 and i586 so that we won’t try to package it on other architectures.
We could consider to not build ragel and the other dependency on ARM, because we won’t use it.
Looking forward to doing benchmarks with this!
Best, -Michael
On 26 May 2019, at 18:56, Stefan Schantl stefan.schantl@ipfire.org wrote:
This package adds hyperscan support to suricata
Fixes #12053.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org
config/rootfiles/common/hyperscan | 18 +++++++ lfs/hyperscan | 81 +++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 100 insertions(+) create mode 100644 config/rootfiles/common/hyperscan create mode 100644 lfs/hyperscan
diff --git a/config/rootfiles/common/hyperscan b/config/rootfiles/common/hyperscan new file mode 100644 index 000000000..3cec5c087 --- /dev/null +++ b/config/rootfiles/common/hyperscan @@ -0,0 +1,18 @@ +#usr/include/hs +#usr/include/hs/hs.h +#usr/include/hs/hs_common.h +#usr/include/hs/hs_compile.h +#usr/include/hs/hs_runtime.h +#usr/lib/libhs.so +usr/lib/libhs.so.5 +usr/lib/libhs.so.5.1.1 +usr/lib/libhs_runtime.so +usr/lib/libhs_runtime.so.5 +usr/lib/libhs_runtime.so.5.1.1 +#usr/lib/pkgconfig/libhs.pc +#usr/share/doc/hyperscan +#usr/share/doc/hyperscan/examples +#usr/share/doc/hyperscan/examples/README.md +#usr/share/doc/hyperscan/examples/patbench.cc +#usr/share/doc/hyperscan/examples/pcapscan.cc +#usr/share/doc/hyperscan/examples/simplegrep.c diff --git a/lfs/hyperscan b/lfs/hyperscan new file mode 100644 index 000000000..f390c827e --- /dev/null +++ b/lfs/hyperscan @@ -0,0 +1,81 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +###############################################################################
+############################################################################### +# Definitions +###############################################################################
+include Config
+VER = 5.1.1
+THISAPP = hyperscan-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = x86_64 i586
+############################################################################### +# Top-level Rules +###############################################################################
+objects = $(DL_FILE)
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+$(DL_FILE)_MD5 = 96f9cd558132dd65ec03648aaaba2a48
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+md5 : $(subst %,%_MD5,$(objects))
+############################################################################### +# Downloading, checking, md5sum +###############################################################################
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
+$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+############################################################################### +# Installation Details +###############################################################################
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && cmake . \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_STATIC_AND_SHARED:BOOL=OFF
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/make.sh b/make.sh index b26b49d59..bbbf0eb41 100755 --- a/make.sh +++ b/make.sh @@ -1323,6 +1323,7 @@ buildipfire() { lfsmake2 libhtp lfsmake2 colm lfsmake2 ragel
- lfsmake2 hyperscan lfsmake2 suricata lfsmake2 oinkmaster lfsmake2 ids-ruleset-sources
-- 2.20.1