X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fgenerate_releases.py;h=ae3577f3db998d17e7cad6837e58673aa113bcc8;hb=d6f184c345b49d95274f245c78d0a7976dcbc115;hp=d947def8a3cca2a886bc9e9db11f6679459207cf;hpb=46c004587d4467079853324c53a927c25823f5fd;p=dak.git diff --git a/dak/generate_releases.py b/dak/generate_releases.py index d947def8..ae3577f3 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -362,12 +362,12 @@ class ReleaseWriter(object): out.close() os.rename(outfile + '.new', outfile) - if suite.byhash: - query = """ - UPDATE hashfile SET unreferenced = CURRENT_TIMESTAMP - WHERE suite_id = :id AND unreferenced IS NULL""" - session.execute(query, {'id': suite.suite_id}) + query = """ + UPDATE hashfile SET unreferenced = CURRENT_TIMESTAMP + WHERE suite_id = :id AND unreferenced IS NULL""" + session.execute(query, {'id': suite.suite_id}) + if suite.byhash: for filename in fileinfo: if not os.path.exists(filename): # probably an uncompressed index we didn't generate @@ -390,7 +390,17 @@ class ReleaseWriter(object): INSERT INTO hashfile (path, suite_id) VALUES (:p, :id)''', {'p': hashfile, 'id': suite.suite_id}) + session.commit() + if suite.byhash: + for filename in fileinfo: + if not os.path.exists(filename): + # probably an uncompressed index we didn't generate + continue + + for h in hashes: + field = h.release_field + hashfile = os.path.join(os.path.dirname(filename), 'by-hash', field, fileinfo[filename][field]) try: os.makedirs(os.path.dirname(hashfile)) except OSError as exc: @@ -402,7 +412,6 @@ class ReleaseWriter(object): if exc.errno != errno.EEXIST: raise - session.commit() sign_release_dir(suite, os.path.dirname(outfile))