chiark / gitweb /
Make rm work propery with symlinks
authorCiaran Gultnieks <ciaran@ciarang.com>
Sun, 24 Nov 2013 09:47:11 +0000 (09:47 +0000)
committerCiaran Gultnieks <ciaran@ciarang.com>
Sun, 24 Nov 2013 09:47:11 +0000 (09:47 +0000)
fdroidserver/common.py

index bd50adb79d5d183d0de6d04312de06ed9344e131..90eb2c1a50224ad1e7f9ccb518882e4930eadbd4 100644 (file)
@@ -904,11 +904,11 @@ 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())
-            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 rdest == os.path.realpath(build_dir):
+            rdest = os.path.abspath(dest)
+            if not rdest.startswith(os.path.abspath(build_dir)):
+                raise BuildException("rm for {1} is outside build root {0}".format(
+                    os.path.abspath(build_dir),os.path.abspath(dest)))
+            if rdest == os.path.abspath(build_dir):
                 raise BuildException("rm removes whole build directory")
             if os.path.exists(rdest):
                 subprocess.call('rm -rf ' + rdest, shell=True)