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