mirror of
https://github.com/optim-enterprises-bv/nDPId.git
synced 2025-10-29 09:22:23 +00:00
Improved OpenWrt Makefile: set an optional libnDPI commit hash
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
This commit is contained in:
@@ -42,6 +42,15 @@ config NDPID_TESTING_COLLECTD_SUPPORT
|
||||
help
|
||||
This option enables collectd to gather nDPId statistics via plugin-exec.
|
||||
Disabled by default.
|
||||
|
||||
config NDPID_TESTING_LIBNDPI_COMMIT_HASH
|
||||
string "libnDPI commit hash"
|
||||
depends on PACKAGE_nDPId-testing
|
||||
default ""
|
||||
help
|
||||
Set the desired libnDPI git commit hash you want to link nDPId against.
|
||||
Leave empty to use the dev branch.
|
||||
Disabled by default.
|
||||
endef
|
||||
|
||||
CMAKE_OPTIONS += -DBUILD_EXAMPLES=ON
|
||||
@@ -60,30 +69,29 @@ ifneq ($(CONFIG_LIBNDPI_GCRYPT),)
|
||||
CMAKE_OPTIONS += -DNDPI_WIDTH_GCRYPT=ON
|
||||
endif
|
||||
|
||||
ifdef NDPID_TESTING_COLLECTD_SUPPORT
|
||||
ifdef CONFIG_NDPID_TESTING_COLLECTD_SUPPORT
|
||||
define Package/nDPId-testing/install-collectd-files
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nDPIsrvd-collectd $(1)/usr/bin/nDPIsrvd-testing-collectd
|
||||
endef
|
||||
endif
|
||||
|
||||
define Build/Prepare
|
||||
@echo 'tar: $(DL_DIR)/$(PKG_SOURCE)'
|
||||
@echo 'PKG_DIRECTORY=$(PKG_DIRECTORY)'
|
||||
@echo 'PKG_SOURCE_SUBDIR=$(PKG_SOURCE_SUBDIR)'
|
||||
tar \
|
||||
--exclude-tag-all='gcov.css' \
|
||||
--exclude-tag-all='cmake_install.cmake' \
|
||||
--exclude='libnDPI-*.tar' \
|
||||
--exclude='nDPId-*.tar.bz2' \
|
||||
--exclude='libnDPI' \
|
||||
--exclude='test' \
|
||||
--exclude-vcs \
|
||||
--exclude-vcs-ignores \
|
||||
--transform 's,^,$(PKG_SOURCE_SUBDIR)/,' \
|
||||
-czf "$(DL_DIR)/$(PKG_SOURCE)" -C "$(PKG_DIRECTORY)" .
|
||||
tar -tzf "$(DL_DIR)/$(PKG_SOURCE)"
|
||||
$(PKG_UNPACK)
|
||||
cd '$(PKG_BUILD_DIR)' && patch -p1 < $(PKG_BUILD_DIR)/packages/openwrt/net/nDPId-testing/001-enable-in-source-build.patch
|
||||
ifdef CONFIG_NDPID_TESTING_LIBNDPI_COMMIT_HASH
|
||||
define Package/nDPId-testing/get-and-build-libndpi
|
||||
@echo 'Using commit hash: $(CONFIG_NDPID_TESTING_LIBNDPI_COMMIT_HASH)'
|
||||
env \
|
||||
CC="$(TARGET_CC)" \
|
||||
AR="$(TARGET_AR)" \
|
||||
RANLIB="$(TARGET_RANLIB)" \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
CPPFLAGS="$(TARGET_CPPFLAGS)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
MAKE_PROGRAM="$(MAKE)" \
|
||||
NDPI_COMMIT_HASH=$(CONFIG_NDPID_TESTING_LIBNDPI_COMMIT_HASH) \
|
||||
$(PKG_BUILD_DIR)/scripts/get-and-build-libndpi.sh
|
||||
endef
|
||||
else
|
||||
define Package/nDPId-testing/get-and-build-libndpi
|
||||
@echo 'Using dev branch.'
|
||||
env \
|
||||
CC="$(TARGET_CC)" \
|
||||
AR="$(TARGET_AR)" \
|
||||
@@ -94,6 +102,19 @@ define Build/Prepare
|
||||
MAKE_PROGRAM="$(MAKE)" \
|
||||
$(PKG_BUILD_DIR)/scripts/get-and-build-libndpi.sh
|
||||
endef
|
||||
endif
|
||||
|
||||
define Build/Prepare
|
||||
@echo 'tar: $(DL_DIR)/$(PKG_SOURCE)'
|
||||
@echo 'pwd: $(shell pwd)'
|
||||
@echo 'PKG_DIRECTORY=$(PKG_DIRECTORY)'
|
||||
@echo 'PKG_SOURCE_SUBDIR=$(PKG_SOURCE_SUBDIR)'
|
||||
cd '$(PKG_DIRECTORY)' && git archive --prefix '$(PKG_SOURCE_SUBDIR)/' -o '$(DL_DIR)/new_$(PKG_SOURCE)' HEAD
|
||||
mv '$(DL_DIR)/new_$(PKG_SOURCE)' '$(DL_DIR)/$(PKG_SOURCE)'; \
|
||||
$(PKG_UNPACK)
|
||||
cd '$(PKG_BUILD_DIR)' && patch -p1 < $(PKG_BUILD_DIR)/packages/openwrt/net/nDPId-testing/001-enable-in-source-build.patch
|
||||
$(call Package/nDPId-testing/get-and-build-libndpi)
|
||||
endef
|
||||
|
||||
define Package/nDPId-testing/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
@@ -112,7 +133,7 @@ define Package/nDPId-testing/install
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) $(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
|
||||
|
||||
$(call Package/nDPId-testing/install-collectd-files)
|
||||
$(call Package/nDPId-testing/install-collectd-files,$(1))
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,nDPId-testing))
|
||||
|
||||
@@ -7,7 +7,12 @@ WGET_EXEC="$(command -v wget || printf '%s' "")"
|
||||
UNZIP_EXEC="$(command -v unzip || printf '%s' "")"
|
||||
MAKE_EXEC="$(command -v make || printf '%s' "")"
|
||||
|
||||
GITHUB_FALLBACK_URL='https://github.com/ntop/nDPI/archive/refs/heads/dev.zip'
|
||||
if [ -z "${NDPI_COMMIT_HASH}" ]; then
|
||||
NDPI_COMMIT_HASH="dev"
|
||||
GITHUB_FALLBACK_URL='https://github.com/ntop/nDPI/archive/refs/heads/dev.zip'
|
||||
else
|
||||
GITHUB_FALLBACK_URL="https://github.com/ntop/nDPI/archive/${NDPI_COMMIT_HASH}.zip"
|
||||
fi
|
||||
|
||||
if [ -z "${GIT_EXEC}" -o -z "${WGET_EXEC}" -o -z "${UNZIP_EXEC}" -o -z "${MAKE_EXEC}" ]; then
|
||||
printf '%s\n' "Required Executables missing: git, wget, unzip, make" >&2
|
||||
@@ -44,6 +49,7 @@ ADDITIONAL_ARGS=${ADDITIONAL_ARGS:-}
|
||||
MAKE_PROGRAM=${MAKE_PROGRAM:-}
|
||||
MAKEFLAGS=${MAKEFLAGS}
|
||||
DEST_INSTALL=${DEST_INSTALL:-}
|
||||
NDPI_COMMIT_HASH=${NDPI_COMMIT_HASH:-}
|
||||
-----------------------------------
|
||||
EOF
|
||||
|
||||
@@ -75,10 +81,10 @@ if [ ${GIT_SUCCESS} -eq 0 ]; then
|
||||
printf 'URL: %s\n' "${GITHUB_FALLBACK_URL}"
|
||||
printf '%s\n' '-----------------------------------'
|
||||
set -x
|
||||
wget "${GITHUB_FALLBACK_URL}" -O ./libnDPI-github-dev.zip
|
||||
unzip ./libnDPI-github-dev.zip
|
||||
wget "${GITHUB_FALLBACK_URL}" -O ./libnDPI-github-${NDPI_COMMIT_HASH}.zip
|
||||
unzip ./libnDPI-github-${NDPI_COMMIT_HASH}.zip
|
||||
rm -rf ./libnDPI
|
||||
mv ./nDPI-dev ./libnDPI
|
||||
mv ./nDPI-${NDPI_COMMIT_HASH} ./libnDPI
|
||||
fi
|
||||
|
||||
cd ./libnDPI
|
||||
|
||||
Reference in New Issue
Block a user