Permalink
Browse files

pyjailhouse: Avoid parallel installation

pip dislikes to run in parallel to kbuild because it can get confused by
temporary artifacts the latter generates:

[...]
make[1]: Entering directory '/home/builder/jailhouse/git'
install -d -m 755 /home/builder/jailhouse/git/debian/jailhouse/lib/firmware
install -d -m 755 /home/builder/jailhouse/git/debian/jailhouse/usr/libexec/jailhouse
python -m pip install --upgrade --force-reinstall --root=/home/builder/jailhouse/git/debian/jailhouse .
install -m 644 inmates/tools/x86/*.bin /home/builder/jailhouse/git/debian/jailhouse/usr/libexec/jailhouse
Processing /home/builder/jailhouse/git
  CHK     /home/builder/jailhouse/git/hypervisor/include/generated/config.mk
  CHK     /home/builder/jailhouse/git/hypervisor/include/generated/version.h
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 620, in _prepare_file
    session=self.session, hashes=hashes)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 809, in unpack_url
    unpack_file_url(link, location, download_dir, hashes=hashes)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 686, in unpack_file_url
    shutil.copytree(link_path, location, symlinks=True)
  File "/usr/lib/python2.7/shutil.py", line 208, in copytree
    raise Error, errors
Error: [('/home/builder/jailhouse/git/.3844.tmp', '/tmp/pip-SJsW0O-build/.3844.tmp', "[Errno 2] No such file or directory: '/home/builder/jailhouse/git/.3844.tmp'")]
Makefile:57: recipe for target 'pyjailhouse_install' failed
[...]

Avoid that situation by running pip after all other installation steps.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
  • Loading branch information...
jan-kiszka committed Aug 18, 2018
1 parent 1dbfecb commit ac6d37f5077b0c1534ef0780a37e0bf07b81fb61
Showing with 2 additions and 7 deletions.
  1. +2 −7 Makefile
View
@@ -52,16 +52,11 @@ firmware_install: $(DESTDIR)$(firmwaredir) modules
tool_inmates_install: $(DESTDIR)$(libexecdir)/jailhouse
$(INSTALL_DATA) inmates/tools/$(ARCH)/*.bin $<
pyjailhouse_install:
install: modules_install firmware_install tool_inmates_install
$(Q)$(MAKE) -C tools $@ src=.
ifeq ($(strip $(PYTHON_PIP_USABLE)), yes)
$(PIP) install --upgrade --force-reinstall $(PIP_ROOT) .
else
@
endif
install: modules_install firmware_install tool_inmates_install \
pyjailhouse_install
$(Q)$(MAKE) -C tools $@ src=.
.PHONY: modules_install install clean firmware_install modules tools docs \
docs_clean pyjailhouse_install

0 comments on commit ac6d37f

Please sign in to comment.