Merge pull request #10460 from jefferyto/python-readme-update
python: Readme updates
This commit is contained in:
commit
29b5bfd2d9
1 changed files with 37 additions and 27 deletions
|
@ -171,33 +171,6 @@ This section will describe both, and then it can be inferred which is for which.
|
||||||
|
|
||||||
Packaging for both Python & Python3 uses the `VARIANT` mechanism for packaging inside OpenWrt. (#### FIXME: find a link for this later if it exists)
|
Packaging for both Python & Python3 uses the `VARIANT` mechanism for packaging inside OpenWrt. (#### FIXME: find a link for this later if it exists)
|
||||||
|
|
||||||
### PKG_BUILD_DIR
|
|
||||||
|
|
||||||
It's important when packaging for both Python & Python3 to override this variable, so that the build directory differs for each variant.
|
|
||||||
|
|
||||||
Typically it's just something like:
|
|
||||||
```
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pyasn1-$(PKG_VERSION)
|
|
||||||
```
|
|
||||||
Where `pyasn1` should be some other name, or maybe `PKG_NAME`
|
|
||||||
|
|
||||||
This should be added before this include:
|
|
||||||
```
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
```
|
|
||||||
|
|
||||||
### PKG_UNPACK
|
|
||||||
|
|
||||||
In many cases, this needs to be overriden. This is usually because the way Python packages are archived, don't follow the convention of other `tar.gz` packages.
|
|
||||||
|
|
||||||
So, something like:
|
|
||||||
```
|
|
||||||
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
|
|
||||||
```
|
|
||||||
should be added.
|
|
||||||
|
|
||||||
It's not important whether this is after or before `include $(INCLUDE_DIR)/package.mk`
|
|
||||||
|
|
||||||
### Include python[3]-package.mk
|
### Include python[3]-package.mk
|
||||||
|
|
||||||
If packaging for Python, add this after `include $(INCLUDE_DIR)/package.mk`
|
If packaging for Python, add this after `include $(INCLUDE_DIR)/package.mk`
|
||||||
|
@ -214,6 +187,43 @@ Order doesn't matter between `python-package.mk` & `python3-package.mk`.
|
||||||
|
|
||||||
These will make sure that build rules for Python or Python3 can be specified and picked up for build.
|
These will make sure that build rules for Python or Python3 can be specified and picked up for build.
|
||||||
|
|
||||||
|
### Include pypi.mk (optional)
|
||||||
|
|
||||||
|
If the package source code will be downloaded from [pypi.org](https://pypi.org/), including `pypi.mk` can help simplify the package Makefile.
|
||||||
|
|
||||||
|
To use `pypi.mk`, add this **before** `include $(INCLUDE_DIR)/package.mk`:
|
||||||
|
```
|
||||||
|
include ../pypi.mk
|
||||||
|
```
|
||||||
|
|
||||||
|
`pypi.mk` has several `PYPI_*` variables that must/can be set (see below); these should be set before `pypi.mk` is included, i.e. before the `include ../pypi.mk` line.
|
||||||
|
|
||||||
|
`pypi.mk` also provides default values for `PKG_SOURCE` and `PKG_SOURCE_URL`, so these variables may be omitted.
|
||||||
|
|
||||||
|
One variable is required:
|
||||||
|
|
||||||
|
* `PYPI_NAME`: Package name on pypi.org. This should match the PyPI name exactly.
|
||||||
|
|
||||||
|
For example (from the `python-yaml` package):
|
||||||
|
```
|
||||||
|
PYPI_NAME:=PyYAML
|
||||||
|
```
|
||||||
|
|
||||||
|
These variables are optional:
|
||||||
|
|
||||||
|
* `PYPI_SOURCE_NAME`: Package name component of the source tarball filename
|
||||||
|
Default: Same value as `PYPI_NAME`
|
||||||
|
|
||||||
|
* `PYPI_SOURCE_EXT`: File extension of the source tarball filename
|
||||||
|
Default: `tar.gz`
|
||||||
|
|
||||||
|
`pypi.mk` constructs the default `PKG_SOURCE` value from these variables (and `PKG_VERSION`):
|
||||||
|
```
|
||||||
|
PKG_SOURCE?=$(PYPI_SOURCE_NAME)-$(PKG_VERSION).$(PYPI_SOURCE_EXT)
|
||||||
|
```
|
||||||
|
|
||||||
|
The `PYPI_SOURCE_*` variables allow this default `PKG_SOURCE` value to be customized as necessary.
|
||||||
|
|
||||||
### Add Package/<PKG_NAME> OpenWrt definitions
|
### Add Package/<PKG_NAME> OpenWrt definitions
|
||||||
|
|
||||||
This part is similar to default OpenWrt packages.
|
This part is similar to default OpenWrt packages.
|
||||||
|
|
Loading…
Reference in a new issue