mirror of
				https://github.com/optim-enterprises-bv/nDPId.git
				synced 2025-10-31 18:27:47 +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
	 Toni Uhlig
					Toni Uhlig