]> git.decadent.org.uk Git - dak.git/commitdiff
Cleanup any symlinks that we created.
authorChris Lamb <lamby@debian.org>
Thu, 29 Oct 2009 13:42:45 +0000 (13:42 +0000)
committerChris Lamb <lamby@debian.org>
Thu, 29 Oct 2009 13:42:45 +0000 (13:42 +0000)
Signed-off-by: Chris Lamb <lamby@debian.org>
daklib/queue.py

index f64e8ae6bd9f3501668f225de8a904fef80f2555..1c3afffda9b571d22f2a16a330300f955204387b 100755 (executable)
@@ -1211,6 +1211,7 @@ class Upload(object):
 
         # Try and find all orig mentioned in the .dsc
         target_dir = '.'
+        symlinked = []
         for filename, entry in self.pkg.dsc_files.iteritems():
             if not re_is_orig_source.match(filename):
                 # File is not an orig; ignore
@@ -1231,7 +1232,11 @@ class Upload(object):
                 if fingerprint != expected:
                     return False
 
-                os.symlink(path, os.path.join(target_dir, filename))
+                dest = os.path.join(target_dir, filename)
+
+                os.symlink(path, dest)
+                symlinked.append(dest)
+
                 return True
 
             session = DBConn().session()
@@ -1304,8 +1309,12 @@ class Upload(object):
         # to then parse it.
         command = "lintian --show-overrides --tags-from-file %s %s" % (temp_filename, self.pkg.changes_file)
         (result, output) = commands.getstatusoutput(command)
-        # We are done with lintian, remove our tempfile
+
+        # We are done with lintian, remove our tempfile and any symlinks we created
         os.unlink(temp_filename)
+        for symlink in symlinked:
+            os.unlink(symlink)
+
         if (result == 2):
             utils.warn("lintian failed for %s [return code: %s]." % (self.pkg.changes_file, result))
             utils.warn(utils.prefix_multi_line_string(output, " [possible output:] "))