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:
parent
cd8bd62e0b
commit
b48239084d
@ -1543,11 +1543,14 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||||||
if 'rm' in build:
|
if 'rm' in build:
|
||||||
for part in build['rm'].split(';'):
|
for part in build['rm'].split(';'):
|
||||||
dest = os.path.join(build_dir, part.strip())
|
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(
|
raise BuildException("rm for {0} is outside build root {1}".format(
|
||||||
os.path.realpath(build_dir),os.path.realpath(dest)))
|
os.path.realpath(build_dir),os.path.realpath(dest)))
|
||||||
if os.path.exists(dest):
|
if rdest == os.path.realpath(build_dir):
|
||||||
subprocess.call('rm -rf ' + dest, shell=True)
|
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...
|
# Fix apostrophes translation files if necessary...
|
||||||
if build['fixapos']:
|
if build['fixapos']:
|
||||||
|
Loading…
Reference in New Issue
Block a user