libsemanage: fix race issue in parallel build

The install-pywarp target doesn't depend on swigify target because the
semanage.py is not generated by swigify target but pywrap target.
Here is the dependency chain:
  install-pywrap -> pywrap -> $(SWIGSO) -> $(SWIGLOBJ) -> $(SWIGCOUT)
  -> semanage.py

But in the recipe, the swigify target is added explicitly in do_install:
  do_install_append() {
    oe_runmake install-pywrap swigify \
    [snip]
  }

This target will regenerate the semanage.py when do_install. So there
will be a potential race issue in parallel build. The install-pywrap
target is trying to install semanage.py when swigify target is
generating the file. Then an empty semanage.py will be installed. Remove
the target swigify to fix this issue.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Yi Zhao 2019-12-23 16:21:49 +08:00 committed by Joe MacDonald
parent 7920e470c6
commit 26169b168f

View File

@ -32,7 +32,7 @@ do_compile_append() {
}
do_install_append() {
oe_runmake install-pywrap swigify \
oe_runmake install-pywrap \
PYCEXT='.so' \
PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
PYTHONLIBDIR='${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages'