This is a build dependency of ragel, which is a build dependency of hyperscan.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- config/rootfiles/common/colm | 21 ++++++++++ lfs/colm | 79 ++++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 101 insertions(+) create mode 100644 config/rootfiles/common/colm create mode 100644 lfs/colm
diff --git a/config/rootfiles/common/colm b/config/rootfiles/common/colm new file mode 100644 index 000000000..7f0d22396 --- /dev/null +++ b/config/rootfiles/common/colm @@ -0,0 +1,21 @@ +#usr/bin/colm +#usr/include/colm +#usr/include/colm/bytecode.h +#usr/include/colm/colm.h +#usr/include/colm/config.h +#usr/include/colm/debug.h +#usr/include/colm/defs.h +#usr/include/colm/input.h +#usr/include/colm/internal.h +#usr/include/colm/map.h +#usr/include/colm/pdarun.h +#usr/include/colm/pool.h +#usr/include/colm/program.h +#usr/include/colm/struct.h +#usr/include/colm/tree.h +#usr/include/colm/type.h +#usr/lib/libcolm-0.13.0.6.so +#usr/lib/libcolm.la +#usr/lib/libcolm.so +#usr/share/doc/colm +#usr/share/doc/colm/colm.vim diff --git a/lfs/colm b/lfs/colm new file mode 100644 index 000000000..5a722ba5e --- /dev/null +++ b/lfs/colm @@ -0,0 +1,79 @@ +############################################################################### +# # +# 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 = 0.13.0.6 + +THISAPP = colm-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 16aaf566cbcfe9a06154e094638ac709 + +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) && ./configure \ + --prefix=/usr \ + --disable-static + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 2a5584f1a..8c9fec6c3 100755 --- a/make.sh +++ b/make.sh @@ -1321,6 +1321,7 @@ buildipfire() { lfsmake2 jansson lfsmake2 yaml lfsmake2 libhtp + lfsmake2 colm lfsmake2 suricata lfsmake2 oinkmaster lfsmake2 ids-ruleset-sources
This is a build dependency of hyperscan
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- config/rootfiles/common/ragel | 70 +++++++++++++++++++++++++++++++ lfs/ragel | 78 +++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 149 insertions(+) create mode 100644 config/rootfiles/common/ragel create mode 100644 lfs/ragel
diff --git a/config/rootfiles/common/ragel b/config/rootfiles/common/ragel new file mode 100644 index 000000000..6b16f03d2 --- /dev/null +++ b/config/rootfiles/common/ragel @@ -0,0 +1,70 @@ +#usr/bin/ragel +#usr/bin/ragel-asm +#usr/bin/ragel-c +#usr/bin/ragel-crack +#usr/bin/ragel-csharp +#usr/bin/ragel-d +#usr/bin/ragel-go +#usr/bin/ragel-java +#usr/bin/ragel-js +#usr/bin/ragel-julia +#usr/bin/ragel-ocaml +#usr/bin/ragel-ruby +#usr/bin/ragel-rust +#usr/include/ragel +#usr/include/ragel/action.h +#usr/include/ragel/avlbasic.h +#usr/include/ragel/avlcommon.h +#usr/include/ragel/avlibasic.h +#usr/include/ragel/avlikeyless.h +#usr/include/ragel/avlimap.h +#usr/include/ragel/avlimel.h +#usr/include/ragel/avlimelkey.h +#usr/include/ragel/avliset.h +#usr/include/ragel/avlitree.h +#usr/include/ragel/avlkeyless.h +#usr/include/ragel/avlmap.h +#usr/include/ragel/avlmel.h +#usr/include/ragel/avlmelkey.h +#usr/include/ragel/avlset.h +#usr/include/ragel/avltree.h +#usr/include/ragel/bstcommon.h +#usr/include/ragel/bstmap.h +#usr/include/ragel/bstset.h +#usr/include/ragel/bsttable.h +#usr/include/ragel/bubblesort.h +#usr/include/ragel/common.h +#usr/include/ragel/compare.h +#usr/include/ragel/config.h +#usr/include/ragel/dlcommon.h +#usr/include/ragel/dlist.h +#usr/include/ragel/dlistmel.h +#usr/include/ragel/dlistval.h +#usr/include/ragel/dot.h +#usr/include/ragel/fsmgraph.h +#usr/include/ragel/gendata.h +#usr/include/ragel/insertsort.h +#usr/include/ragel/mergesort.h +#usr/include/ragel/quicksort.h +#usr/include/ragel/ragel.h +#usr/include/ragel/redfsm.h +#usr/include/ragel/resize.h +#usr/include/ragel/sbstmap.h +#usr/include/ragel/sbstset.h +#usr/include/ragel/sbsttable.h +#usr/include/ragel/svector.h +#usr/include/ragel/table.h +#usr/include/ragel/vector.h +#usr/lib/libfsm.la +#usr/lib/libfsm.so +#usr/lib/libfsm.so.0 +#usr/lib/libfsm.so.0.0.0 +#usr/lib/libragel.la +#usr/lib/libragel.so +#usr/lib/libragel.so.0 +#usr/lib/libragel.so.0.0.0 +#usr/share/doc/ragel +#usr/share/doc/ragel/CREDITS +#usr/share/doc/ragel/ChangeLog +#usr/share/man/man1/ragel.1 +#usr/share/ragel.lm diff --git a/lfs/ragel b/lfs/ragel new file mode 100644 index 000000000..6f074d6f6 --- /dev/null +++ b/lfs/ragel @@ -0,0 +1,78 @@ +############################################################################### +# # +# 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 = 7.0.0.11 + +THISAPP = ragel-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = ad58c8f1ac5def94d9c7f4395a03606c + +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)) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure \ + --prefix=/usr \ + --disable-static + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 8c9fec6c3..b26b49d59 100755 --- a/make.sh +++ b/make.sh @@ -1322,6 +1322,7 @@ buildipfire() { lfsmake2 yaml lfsmake2 libhtp lfsmake2 colm + lfsmake2 ragel lfsmake2 suricata lfsmake2 oinkmaster lfsmake2 ids-ruleset-sources
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
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