]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/archive.py
daklib/archive.py: use only enhanced suites as default source_suites
[dak.git] / daklib / archive.py
index 1887b784a29c2f7d1b32b19a59049ac8f65956db..866ee891bf162ef2f21b2425672d1f18a8373625 100644 (file)
@@ -625,6 +625,8 @@ class ArchiveUpload(object):
             for f in self.changes.files.itervalues():
                 src = os.path.join(self.original_directory, f.filename)
                 dst = os.path.join(self.directory, f.filename)
+                if not os.path.exists(src):
+                    continue
                 fs.copy(src, dst)
 
             source = self.changes.source
@@ -632,7 +634,7 @@ class ArchiveUpload(object):
                 for f in source.files.itervalues():
                     src = os.path.join(self.original_directory, f.filename)
                     dst = os.path.join(self.directory, f.filename)
-                    if f.filename not in self.changes.files:
+                    if not os.path.exists(dst):
                         try:
                             db_file = self.transaction.get_file(f, source.dsc['Source'])
                             db_archive_file = session.query(ArchiveFile).filter_by(file=db_file).first()
@@ -911,7 +913,7 @@ class ArchiveUpload(object):
         changed_by = get_or_set_maintainer(control.get('Changed-By', control['Maintainer']), self.session)
 
         if source_suites is None:
-            source_suites = self.session.query(Suite).join((VersionCheck, VersionCheck.reference_id == Suite.suite_id)).filter(VersionCheck.suite == suite).subquery()
+            source_suites = self.session.query(Suite).join((VersionCheck, VersionCheck.reference_id == Suite.suite_id)).filter(VersionCheck.check == 'Enhances').filter(VersionCheck.suite == suite).subquery()
 
         source = self.changes.source
         if source is not None: