[OE-core] [PATCHv2 0/2] recipetool: add python buildsystem support

Christopher Larson kergoth at gmail.com
Mon Jan 19 18:52:29 UTC 2015


Changes from v1:

- Drops the 'your responsibility' message, per Paul's request
- Pulls in sys.builtin_module_names from the host python for now
- Handles extra_requires both in requires.txt and setup.py. This is currently
  implemented by a naive conversion of the optional features to
  packageconfigs.
- Improves the way we extract the setup keywords to make it easier to grab the
  non-literal values, such as calls to `find_packages`, so we can implement
  that in the future.
- Alters the existing LICENSE line from recipetool rather than adding
  a duplicated one, by poking at `lines_before`.
- Moves the HOMEPAGE/SUMMARY/etc below the license info but above SRC_URI, to
  comply with our conventions.
- Defaults to python- prefixing the dependencies we add.
- Fixes numerous bugs.


Example of the generated `PACKAGECONFIG` for `extra_requires` in glances:

```
# The following configs & dependencies are from setuptools extras_require.
# These dependencies are optional, hence can be controlled via PACKAGECONFIG.
# The upstream names may not correspond exactly to bitbake package names.
#
# Uncomment this line to enable all the optional features.
#PACKAGECONFIG ?= "web batinfo snmp chart sensors browser"
PACKAGECONFIG[web] = ",,,python-bottle"
PACKAGECONFIG[batinfo] = ",,,python-batinfo"
PACKAGECONFIG[snmp] = ",,,python-pysnmp"
PACKAGECONFIG[chart] = ",,,python-matplotlib"
PACKAGECONFIG[sensors] = ",,,python-py3sensors"
PACKAGECONFIG[browser] = ",,,python-netifaces python-zeroconf"
```


Christopher Larson (2):
  recipetool: add python buildsystem support
  recipetool: add python dependency scanning support

 scripts/lib/recipetool/create_buildsys_python.py | 720 +++++++++++++++++++++++
 scripts/pythondeps                               | 250 ++++++++
 2 files changed, 970 insertions(+)
 create mode 100644 scripts/lib/recipetool/create_buildsys_python.py
 create mode 100755 scripts/pythondeps

-- 
2.2.1




More information about the Openembedded-core mailing list