mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
Merge pull request #85 from VectorCamp/feature/add-debian-package
Feature/add debian package
This commit is contained in:
commit
6cd6957a23
@ -3,7 +3,7 @@ project (vectorscan C CXX)
|
|||||||
|
|
||||||
set (HS_MAJOR_VERSION 5)
|
set (HS_MAJOR_VERSION 5)
|
||||||
set (HS_MINOR_VERSION 4)
|
set (HS_MINOR_VERSION 4)
|
||||||
set (HS_PATCH_VERSION 5)
|
set (HS_PATCH_VERSION 6)
|
||||||
set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION})
|
set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION})
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||||
@ -236,8 +236,14 @@ if (ARCH_AARCH64)
|
|||||||
endif ()
|
endif ()
|
||||||
endif(ARCH_AARCH64)
|
endif(ARCH_AARCH64)
|
||||||
|
|
||||||
set(ARCH_C_FLAGS "-${ARCH_FLAG}=${GNUCC_ARCH} -mtune=${TUNE_FLAG} ${ARCH_C_FLAGS}")
|
|
||||||
set(ARCH_CXX_FLAGS "-${ARCH_FLAG}=${GNUCC_ARCH} -mtune=${TUNE_FLAG} ${ARCH_CXX_FLAGS}")
|
message(STATUS "ARCH_C_FLAGS : ${ARCH_C_FLAGS}")
|
||||||
|
message(STATUS "ARCH_CXX_FLAGS : ${ARCH_CXX_FLAGS}")
|
||||||
|
|
||||||
|
if (NOT FAT_RUNTIME)
|
||||||
|
set(ARCH_C_FLAGS "-${ARCH_FLAG}=${GNUCC_ARCH} -mtune=${TUNE_FLAG} ${ARCH_C_FLAGS}")
|
||||||
|
set(ARCH_CXX_FLAGS "-${ARCH_FLAG}=${GNUCC_ARCH} -mtune=${TUNE_FLAG} ${ARCH_CXX_FLAGS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
#if (ARCH_IA32 OR ARCH_X86_64 OR ARCH_ARM32 OR ARCH_AARCH64)
|
#if (ARCH_IA32 OR ARCH_X86_64 OR ARCH_ARM32 OR ARCH_AARCH64)
|
||||||
# if (NOT CMAKE_C_FLAGS MATCHES .*march.* AND NOT CMAKE_C_FLAGS MATCHES .*mtune.*)
|
# if (NOT CMAKE_C_FLAGS MATCHES .*march.* AND NOT CMAKE_C_FLAGS MATCHES .*mtune.*)
|
||||||
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
vectorscan (5.4.6.1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Initial release. (Closes: #1004079)
|
||||||
|
|
||||||
|
-- Konstantinos Margaritis <markos@debian.org> Wed, 15 Dec 2021 13:20:38 +0200
|
60
debian/control
vendored
Normal file
60
debian/control
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
Source: vectorscan
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Konstantinos Margaritis <markos@debian.org>
|
||||||
|
Build-Depends: cmake (>=2.8.11),
|
||||||
|
debhelper-compat (=12),
|
||||||
|
libboost-dev (>=1.57),
|
||||||
|
libpcap-dev,
|
||||||
|
pkg-config,
|
||||||
|
po-debconf,
|
||||||
|
python3,
|
||||||
|
ragel (>=6.9)
|
||||||
|
Standards-Version: 4.5.1
|
||||||
|
Section: libs
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
Homepage: https://vectorcamp.gr/vectorscan
|
||||||
|
Vcs-Git: https://salsa.debian.org/debian/hyperscan.git
|
||||||
|
Vcs-Browser: https://salsa.debian.org/debian/vectorscan
|
||||||
|
|
||||||
|
Package: libvectorscan-dev
|
||||||
|
Section: libdevel
|
||||||
|
Architecture: any-amd64 arm64 ppc64el
|
||||||
|
Replaces: libhyperscan-dev
|
||||||
|
Conflicts: libhyperscan-dev
|
||||||
|
Provides: libhyperscan-dev
|
||||||
|
Depends: libvectorscan5 (= ${binary:Version}), ${misc:Depends}
|
||||||
|
Description: Portable fork of Intel's Hyperscan library (development files)
|
||||||
|
Vectorscan is a portable fork of Intel's Hyperscan project. It is a drop-in
|
||||||
|
replacement that promises to be API/ABI compatible with the original project,
|
||||||
|
while allowing it to run on other architectures such as AArch64 and Power9.
|
||||||
|
.
|
||||||
|
This package contains development libraries, header files and documentation for
|
||||||
|
the regular expression matching library libhyperscan. You can either use the
|
||||||
|
supplied shared or static library.
|
||||||
|
.
|
||||||
|
Vectorscan only runs on CPUs with a SIMD unit. On x86 CPUs, the minimum
|
||||||
|
requirement is SSE4.2, AArch64 ISA already implies Advanced SIMD/NEON and
|
||||||
|
ppc64le (Power8/Power9) already implies VSX enabled by default.
|
||||||
|
|
||||||
|
Package: libvectorscan5
|
||||||
|
Architecture: any-amd64 arm64 ppc64el
|
||||||
|
Depends: ${misc:Depends}, ${shlibs:Depends}, sse4.2-support [any-amd64]
|
||||||
|
Pre-Depends: debconf
|
||||||
|
Replaces: libhyperscan5
|
||||||
|
Conflicts: libhyperscan5
|
||||||
|
Provides: libhyperscan5
|
||||||
|
Description: Portable fork of Intel's Hyperscan library
|
||||||
|
Vectorscan is a portable fork of Intel's Hyperscan project. It is a drop-in
|
||||||
|
replacement that promises to be API/ABI compatible with the original project,
|
||||||
|
while allowing it to run on other architectures such as AArch64 and Power9.
|
||||||
|
.
|
||||||
|
Hyperscan is a high-performance multiple regex matching library.
|
||||||
|
It follows the regular expression syntax of the commonly-used libpcre library,
|
||||||
|
but is a standalone library with its own C API. Hyperscan uses hybrid automata
|
||||||
|
techniques to allow simultaneous matching of large numbers (up to tens of
|
||||||
|
thousands) of regular expressions and for the matching of regular expressions
|
||||||
|
across streams of data. Hyperscan is typically used in a DPI library stack.
|
||||||
|
.
|
||||||
|
Vectorscan only runs on CPUs with a SIMD unit. On x86 CPUs, the minimum
|
||||||
|
requirement is SSE4.2, AArch64 ISA already implies Advanced SIMD/NEON and
|
||||||
|
ppc64le (Power8/Power9) already implies VSX enabled by default.
|
130
debian/copyright
vendored
Normal file
130
debian/copyright
vendored
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: vectorscan
|
||||||
|
Source: https://github.com/VectorCamp/vectorscan
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2015 Intel Corporation <hyperscan@intel.com>
|
||||||
|
2019-2022 VectorCamp PC <vectorscan@vectorcamp.gr>
|
||||||
|
2021-2022 Arm Limited
|
||||||
|
License: BSD-3-Clause-Intel
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of Intel Corporation nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
Files: src/crc32.c
|
||||||
|
Copyright: 2004-2006 Intel Corporation
|
||||||
|
License: BSD-2-Clause
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
Files: include/boost-patched/graph/dominator_tree.hpp
|
||||||
|
Copyright: 2005-2009 Jongsoo Park <jongsoo.park@gmail.com>
|
||||||
|
License: BSL-1.0
|
||||||
|
Permission is hereby granted, free of charge, to any person or organization
|
||||||
|
obtaining a copy of the software and accompanying documentation covered by
|
||||||
|
this license (the "Software") to use, reproduce, display, distribute,
|
||||||
|
execute, and transmit the Software, and to prepare derivative works of the
|
||||||
|
Software, and to permit third-parties to whom the Software is furnished to
|
||||||
|
do so, all subject to the following:
|
||||||
|
.
|
||||||
|
The copyright notices in the Software and this entire statement, including
|
||||||
|
the above license grant, this restriction and the following disclaimer,
|
||||||
|
must be included in all copies of the Software, in whole or in part, and
|
||||||
|
all derivative works of the Software, unless such copies or derivative
|
||||||
|
works are solely in the form of machine-executable object code generated by
|
||||||
|
a source language processor.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||||
|
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||||
|
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
Files: unit/gtest/*
|
||||||
|
Copyright: 2008 Google Inc.
|
||||||
|
License: BSD-3-Clause-Google
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of Google Inc. nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 2016 Robert Haist <rhaist@mailbox.org>
|
||||||
|
2016 Hilko Bengen <bengen@debian.org>
|
||||||
|
2016 SZLin <szlin@cs.nctu.edu.tw>
|
||||||
|
2021-2022 VectorCamp PC
|
||||||
|
License: GPL-2+
|
||||||
|
This package 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 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
.
|
||||||
|
This package 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 <https://www.gnu.org/licenses/>
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
1
debian/libvectorscan-dev.examples
vendored
Normal file
1
debian/libvectorscan-dev.examples
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
usr/share/doc/vectorscan/examples/*
|
4
debian/libvectorscan-dev.install
vendored
Normal file
4
debian/libvectorscan-dev.install
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
usr/include/*
|
||||||
|
usr/lib/*/lib*.a
|
||||||
|
usr/lib/*/lib*.so
|
||||||
|
usr/lib/*/pkgconfig/*
|
1
debian/libvectorscan5.install
vendored
Normal file
1
debian/libvectorscan5.install
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
usr/lib/*/lib*.so.*
|
5
debian/libvectorscan5.lintian-overrides
vendored
Normal file
5
debian/libvectorscan5.lintian-overrides
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Rationale:
|
||||||
|
# The original library name libhs4 is to short and could
|
||||||
|
# be mistaken. So we changed it to libhyperscan5 for Debian.
|
||||||
|
|
||||||
|
libvectorscan5: package-name-doesnt-match-sonames
|
19
debian/rules
vendored
Executable file
19
debian/rules
vendored
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
|
ifeq ($(DEB_HOST_ARCH),amd64)
|
||||||
|
export DEB_CMAKE_FLAGS = -DBUILD_AVX2=on -DBUILD_AVX512=on -DBUILD_AVX512VBMI=off -DFAT_RUNTIME=on
|
||||||
|
endif
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@
|
||||||
|
|
||||||
|
override_dh_auto_configure:
|
||||||
|
dh_auto_configure -- \
|
||||||
|
-DBUILD_STATIC_AND_SHARED=1 \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
|
${DEB_CMAKE_FLAGS}
|
||||||
|
|
||||||
|
override_dh_missing:
|
||||||
|
dh_missing --fail-missing
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (native)
|
21
debian/tests/build-lib
vendored
Executable file
21
debian/tests/build-lib
vendored
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# autopkgtest check: Build a program against libhyperscan and check whether a
|
||||||
|
# runnable binary is produced.
|
||||||
|
# Author: Sascha Steinbiss <satta@debian.org>
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SRC=$(pwd)/examples/simplegrep.c
|
||||||
|
RES=$(pwd)/debian/tests/simplegrep.result
|
||||||
|
WORKDIR=$(mktemp -d)
|
||||||
|
|
||||||
|
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
|
||||||
|
cd $WORKDIR
|
||||||
|
|
||||||
|
gcc -o simplegrep $SRC $(pkg-config --cflags --libs libhs)
|
||||||
|
[ -x simplegrep ]
|
||||||
|
echo "build: OK"
|
||||||
|
|
||||||
|
echo "barbaz" > 1
|
||||||
|
./simplegrep ba 1 > 2
|
||||||
|
diff 2 $RES
|
||||||
|
echo "run: OK"
|
2
debian/tests/control
vendored
Normal file
2
debian/tests/control
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Tests: build-lib
|
||||||
|
Depends: build-essential, pkg-config, @
|
3
debian/tests/simplegrep.result
vendored
Normal file
3
debian/tests/simplegrep.result
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Scanning 7 bytes with Hyperscan
|
||||||
|
Match for pattern "ba" at offset 2
|
||||||
|
Match for pattern "ba" at offset 5
|
5
debian/upstream/metadata
vendored
Normal file
5
debian/upstream/metadata
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
Bug-Database: https://github.com/VectorCamp/vectorscan/issues
|
||||||
|
Bug-Submit: https://github.com/VectorCamp/vectorscan/issues/new
|
||||||
|
Repository: https://github.com/VectorCamp/vectorscan.git
|
||||||
|
Repository-Browse: https://github.com/VectorCamp/vectorscan
|
4
debian/watch
vendored
Normal file
4
debian/watch
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
version=4
|
||||||
|
opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%<project>-$1.tar.gz%" \
|
||||||
|
https://github.com/vectorcamp/vectorscan/releases \
|
||||||
|
(?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate
|
Loading…
x
Reference in New Issue
Block a user