1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-14 02:50:12 +01:00

Improve error reporting for rm problems

This commit is contained in:
Ciaran Gultnieks 2013-11-15 09:46:04 +00:00
parent cd8bd62e0b
commit b48239084d

View File

@ -1543,11 +1543,14 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
if 'rm' in build:
for part in build['rm'].split(';'):
dest = os.path.join(build_dir, part.strip())
if not os.path.realpath(dest).startswith(os.path.realpath(build_dir)):
rdest = os.path.realpath(dest)
if not rdest.startswith(os.path.realpath(build_dir)):
raise BuildException("rm for {0} is outside build root {1}".format(
os.path.realpath(build_dir),os.path.realpath(dest)))
if os.path.exists(dest):
subprocess.call('rm -rf ' + dest, shell=True)
if rdest == os.path.realpath(build_dir):
raise BuildException("rm removes whole build directory")
if os.path.exists(rdest):
subprocess.call('rm -rf ' + rdest, shell=True)
# Fix apostrophes translation files if necessary...
if build['fixapos']: