]> git.decadent.org.uk Git - dak.git/commitdiff
check_dsc_against_db: fix a corner-case in .orig. handling
authorFrank Lichtenheld <djpig@debian.org>
Fri, 30 Oct 2009 22:12:50 +0000 (22:12 +0000)
committerFrank Lichtenheld <djpig@debian.org>
Fri, 30 Oct 2009 22:12:50 +0000 (22:12 +0000)
If the .orig.tar was contained in the .changes file but already
present in the pool, we did delete it from the file list, but
did not record the files id in the desc file list.

In the old code this did not cause any errors since process-accepted
called check_dsc_against_db with the file list loaded from the .dak
file which was already cleansed of the .orig. So it took the other
code branch (.orig. present in the pool but not in changes) which
did record the files id.

Now we only call check_dsc_against_db once in process-upload so
we need to record the files id in this case, too.

Signed-off-by: Frank Lichtenheld <djpig@debian.org>
daklib/queue.py

index be9451bcba4b27b9ce090d913b883bba143ae82e..9f731091c736163cd079de060dd2659690f76678 100755 (executable)
@@ -2426,6 +2426,7 @@ distribution."""
                                 # This would fix the stupidity of changing something we often iterate over
                                 # whilst we're doing it
                                 del self.pkg.files[dsc_name]
+                                dsc_entry["files id"] = i.file_id
                                 if not orig_files.has_key(dsc_name):
                                     orig_files[dsc_name] = {}
                                 orig_files[dsc_name]["path"] = os.path.join(i.location.path, i.filename)