[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: