X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dak%2Fexport_suite.py;h=23775583b67030b78da306e0b3e2440cc5c577e8;hb=47cd096281f1cc36dfe9818ef1fbae8d02f6ada6;hp=a4a595310657fee1b5c6b3a0c8733b8435a4e464;hpb=09a1a20566dcf84ca229b4339bd8f8080eb59afd;p=dak.git diff --git a/dak/export_suite.py b/dak/export_suite.py index a4a59531..23775583 100644 --- a/dak/export_suite.py +++ b/dak/export_suite.py @@ -76,8 +76,21 @@ def main(argv=None): with FilesystemTransaction() as fs: for f in files: + af = session.query(ArchiveFile) \ + .join(ArchiveFile.component).join(ArchiveFile.file) \ + .filter(ArchiveFile.archive == suite.archive) \ + .filter(ArchiveFile.file == f).first() + # XXX: Remove later. There was a bug that caused only the *.dsc to + # be installed in build queues and we do not want to break them. + # The bug was fixed in 55d2c7e6e2418518704623246021021e05b90e58 + # on 2012-11-04 + if af is None: + af = session.query(ArchiveFile) \ + .join(ArchiveFile.component).join(ArchiveFile.file) \ + .filter(ArchiveFile.file == f).first() dst = os.path.join(directory, f.basename) - fs.copy(f.fullpath, dst, symlink=symlink) + if not os.path.exists(dst): + fs.copy(af.path, dst, symlink=symlink) fs.commit() if __name__ == '__main__':