From f306e32636fc4aa8cf2d6170c1c415bc4dc9a7cc Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 6 Sep 2016 14:22:29 +0200 Subject: [PATCH] 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 --- makebuildserver | 10 ++++++++++ 1 file changed, 10 insertions(+) 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'