[dak/master] generate_releases: expire by-hash files for all suites
When setting suite.byhash to false, the suite's existing hashfiles need
to be marked as unreferenced so they can be cleaned up.
Signed-off-by: Julien Cristau <jcristau@debian.org>
---
dak/generate_releases.py | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dak/generate_releases.py b/dak/generate_releases.py
index 34103f7..ae3577f 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,8 +390,9 @@ class ReleaseWriter(object):
INSERT INTO hashfile (path, suite_id)
VALUES (:p, :id)''',
{'p': hashfile, 'id': suite.suite_id})
- session.commit()
+ session.commit()
+ if suite.byhash:
for filename in fileinfo:
if not os.path.exists(filename):
# probably an uncompressed index we didn't generate
--
2.1.4
Reply to: