commit | author | age
|
a02c99
|
1 |
# oi-userland building and packaging FAQ |
AP |
2 |
|
|
3 |
This page contains answers to the most common questions regarding building and packaging software with oi-userland. |
|
4 |
|
|
5 |
* [How to bypass checks for \*.pyc files in p5m manifest?](#how-to-bypass-checks-for-pyc-files-in-p5m-manifest) |
|
6 |
* [Why compiled python files are no longer automatically added to manifests?](#why-compiled-python-files-are-no-longer-automatically-added-to-manifests) |
|
7 |
* [How can I use COMPONENT_SUMMARY with PYVER components?](#how-can-i-use-component_summary-with-pyver-components) |
|
8 |
* [Why do I receive "mv: cannot access .deps/libsomething.Tpo" error during component build?](#why-do-i-receive-mv-cannot-access-depslibsomethingtpo-error-during-component-build) |
|
9 |
|
|
10 |
## How to bypass checks for \*.pyc files in p5m manifest? |
|
11 |
|
|
12 |
Generally there might be cases when we don't want to deliver .pyc in manifest. |
|
13 |
In that case you should append pkg.tmp.autopyc=false, e.g: |
|
14 |
|
|
15 |
``` |
|
16 |
file path=usr/lib/python$(PYVER)/vendor-packages/pygst.py pkg.tmp.autopyc=false |
|
17 |
``` |
|
18 |
|
|
19 |
If this needs to be achieved for the whole IPS manifest, it's better to use a transform, e.g |
|
20 |
|
|
21 |
``` |
|
22 |
<transform file path=.*\.py$ -> default pkg.tmp.autopyc false> |
|
23 |
``` |
|
24 |
|
|
25 |
## Why compiled python files are no longer automatically added to manifests? |
|
26 |
|
|
27 |
After introduction of Python 3.4 autopyc transform has to distinguish compiled files for python 2.x (*.pyc) and for python 3.x (__pycache__/*.cpython-3x.pyc). |
|
28 |
This is done on the base of file path. |
|
29 |
Files in usr/lib/python2.x/*.py are processed as earlier (following Python 2.x convention). |
|
30 |
Files in usr/lib/python3.x are processed according to Python 3.x convention. |
|
31 |
All other *.py files are not processed automatically. |
|
32 |
|
|
33 |
## How can I use COMPONENT_SUMMARY with PYVER components? |
|
34 |
|
|
35 |
There's a known oi-userland build system issue that COMPONENT_SUMMARY and other PKG macroses, containing spaces, can work incorrectly with PYVER components. |
|
36 |
You can either specify such values in p5m file directly or use single quotation marks in Makefile, for example: |
|
37 |
|
|
38 |
``` |
|
39 |
COMPONENT_SUMMARY= 'Cheroot - high-performance, pure-Python HTTP server' |
|
40 |
``` |
|
41 |
|
|
42 |
## Why do I receive "mv: cannot access .deps/libsomething.Tpo" error during component build? |
|
43 |
|
|
44 |
The most frequent reason for this error is a regeneration of `Makefile.in` files in the wrong directory (when you used $(CLONEY) to populate build directory with sources and then run automake). |
|
45 |
Generally, libtoolize, aclocal, automake and friends should be run as COMPONENT_PREP_ACTION when $(@D) is $(SOURCE_DIR), before changing $(@D) to $(BUILD_DIR_$(BITS)). |
|
46 |
$(CLONEY) should be run in COMPONENT_PRE_CONFIGURE_ACTION. |
|
47 |
Another possible reason is missing some step in configuration - e.g. libtoolize. |