Browse Source

python3: Add Py3Build/InstallBuildDepends recipe

This adds a recipe, Py3Build/InstallBuildDepends, that installs the
requirements listed in HOST_PYTHON3_PACKAGE_BUILD_DEPENDS. This allows
other (non-Python) packages to install host Python packages by calling
this recipe, without having to know the internals of python3-package.mk.

This also updates apparmor to call this recipe.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
lilik-openwrt-22.03
Jeffery To 3 years ago
committed by Rosen Penev
parent
commit
2f81f907c2
3 changed files with 33 additions and 4 deletions
  1. +27
    -0
      lang/python/README.md
  2. +5
    -1
      lang/python/python3-package.mk
  3. +1
    -3
      utils/apparmor/Makefile

+ 27
- 0
lang/python/README.md View File

@ -369,3 +369,30 @@ HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
```
The Python package will be installed in `$(STAGING_DIR_HOSTPKG)/lib/pythonX.Y/site-packages`.
#### Non-Python packages installing host-side Python packages
Non-Python packages can also install host-side Python packages using the same mechanism:
* Set `HOST_PYTHON3_PACKAGE_BUILD_DEPENDS` (see above for details).
* Include `python3-package.mk` (set `PYTHON3_PKG_BUILD:=0` to avoid using the default Python package build recipes).
* Call `Py3Build/InstallBuildDepends` to initiate the installation.
For example:
```
PYTHON3_PKG_BUILD:=0
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
# If outside of the packages feed:
# include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
define Build/Compile
$(call Py3Build/InstallBuildDepends)
$(call Build/Compile/Default)
endef
```

+ 5
- 1
lang/python/python3-package.mk View File

@ -215,10 +215,14 @@ define Py3Build/CheckHostPipVersionMatch
endef
endif
define Py3Build/Compile/Default
define Py3Build/InstallBuildDepends
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
)
endef
define Py3Build/Compile/Default
$(call Py3Build/InstallBuildDepends)
$(call Python3/ModSetup, \
$(PYTHON3_PKG_SETUP_DIR), \
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \


+ 1
- 3
utils/apparmor/Makefile View File

@ -132,9 +132,7 @@ endef
define Build/Install
# Make sure we have python's setup tools installed
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
)
$(call Py3Build/InstallBuildDepends)
$(INSTALL_DIR) $(PKG_INSTALL_DIR)-libapparmor $(PKG_INSTALL_DIR)-utils $(PKG_INSTALL_DIR)-profiles
# Installing libapparmor
+$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \


Loading…
Cancel
Save