chiark / gitweb /
Merge branch 'vm-provider-lookup-flaw' into 'master'
authorHans-Christoph Steiner <hans@guardianproject.info>
Sat, 25 Nov 2017 17:10:43 +0000 (17:10 +0000)
committerHans-Christoph Steiner <hans@guardianproject.info>
Sat, 25 Nov 2017 17:10:43 +0000 (17:10 +0000)
fix vm provider lookup flaw

See merge request fdroid/fdroidserver!382

fdroidserver/common.py

index 49a31f3422505153012b7ff036b0dbac321ace3b..4767e21161628b4ff79ec92514ed68c9787ab5d4 100644 (file)
@@ -1612,10 +1612,11 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
             dest = os.path.join(build_dir, part)
             logging.info("Removing {0}".format(part))
             if os.path.lexists(dest):
-                if os.path.islink(dest):
-                    FDroidPopen(['unlink', dest], output=False)
+                # rmtree can only handle directories that are not symlinks, so catch anything else
+                if not os.path.isdir(dest) or os.path.islink(dest):
+                    os.remove(dest)
                 else:
-                    FDroidPopen(['rm', '-rf', dest], output=False)
+                    shutil.rmtree(dest)
             else:
                 logging.info("...but it didn't exist")