From: Hans-Christoph Steiner Date: Tue, 6 Sep 2016 12:22:29 +0000 (+0200) Subject: buildserver: make sure cachedir is accessible to VM instance X-Git-Tag: 0.8~159^2~5 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=f306e32636fc4aa8cf2d6170c1c415bc4dc9a7cc;p=fdroidserver.git buildserver: make sure cachedir is accessible to VM instance It seems that KVM/QEMU's 9p sharing is more sensitive to file perms. If ~/.cache is 0700, then ~/.cache/fdroidserver cannot be mounted in the guest --- diff --git a/makebuildserver b/makebuildserver index 365c03da..3a26bf51 100755 --- a/makebuildserver +++ b/makebuildserver @@ -2,6 +2,7 @@ import os import requests +import stat import sys import subprocess import time @@ -89,6 +90,15 @@ cachedir = config['cachedir'] if not os.path.exists(cachedir): os.makedirs(cachedir, 0o755) +tmp = cachedir +while tmp != '/': + mode = os.stat(tmp).st_mode + if not (stat.S_IXUSR & mode and stat.S_IXGRP & mode and stat.S_IXOTH & mode): + print('ERROR:', tmp, 'will not be accessible to the VM! To fix, run:') + print(' chmod a+X', tmp) + sys.exit(1) + tmp = os.path.dirname(tmp) + if config['apt_package_cache']: config['aptcachedir'] = cachedir + '/apt/archives'