summaryrefslogtreecommitdiff
path: root/lang/python/python3-package.mk
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2021-08-25 15:59:56 +0300
committerAlexandru Ardelean <ardeleanalex@gmail.com>2021-08-30 10:01:48 +0300
commit9725de1de4426b02062ca7d86b750013af8e0e05 (patch)
tree86728633f78a6da848796bcb5772ccb5448ee502 /lang/python/python3-package.mk
parent5e00a051d6c78ca7ec5e93e0de0e612ec909fb5a (diff)
python3-package.mk: add check for dependencies in host-pip-requirements
It often happens that we update a package to a new version (e.g. cffi) to a newer version, but we forget to update the version for cffi in the `lang/python/host-pip-requirements/cffi.txt` file. This check adds a minimal check, so that when a build occurs for a Python package, if there is a mention/listing of this package in `lang/python/host-pip-requirements/` it will check that the versions match. This way, when we update a package, we get a build failure and update the host version as well. This will omit packages (like Cython) that are not packaged for OpenWrt, but are host-side dependencies only. But until we find some mechanism to check for those, we will probably only notice to update them when another build occurs (at the very least). Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python/python3-package.mk')
-rw-r--r--lang/python/python3-package.mk12
1 files changed, 12 insertions, 0 deletions
diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk
index 5673d15bb..96fafe445 100644
--- a/lang/python/python3-package.mk
+++ b/lang/python/python3-package.mk
@@ -204,6 +204,17 @@ define Py3Build/FindStdlibDepends
$(SHELL) $(python3_mk_path)python3-find-stdlib-depends.sh -n "$(PKG_NAME)" "$(PKG_BUILD_DIR)"
endef
+ifneq ($(strip $(PYPI_NAME)),)
+define Py3Build/CheckHostPipVersionMatch
+ if grep -q "$(PYPI_NAME)==" $(python3_mk_path)host-pip-requirements/*.txt ; then \
+ if ! grep -q "$(PYPI_NAME)==$(PKG_VERSION)" $(python3_mk_path)host-pip-requirements/*.txt ; then \
+ printf "\nPlease update version of $(PYPI_NAME) to $(PKG_VERSION) in 'host-pip-requirements'/\n\n" ; \
+ exit 1 ; \
+ fi \
+ fi
+endef
+endif
+
define Py3Build/Compile/Default
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
@@ -226,5 +237,6 @@ ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
ifeq ($(PY3),stdlib)
Hooks/Configure/Post+=Py3Build/FindStdlibDepends
endif
+ Hooks/Configure/Post+=Py3Build/CheckHostPipVersionMatch
Build/Compile=$(Py3Build/Compile)
endif