]> git.decadent.org.uk Git - dak.git/commit
Add by-hash support
authorJulien Cristau <jcristau@debian.org>
Wed, 27 Apr 2016 08:06:08 +0000 (10:06 +0200)
committerJulien Cristau <jcristau@debian.org>
Mon, 16 May 2016 15:35:52 +0000 (17:35 +0200)
commit391f5ec09a119131dc846b796ca791f4cecc69e4
treed7158a01802c34a277a07e7b070022708ea7d552
parentda4fbbe28dc1be591a90f1ca2bb3894e0e931096
Add by-hash support

Add a per-suite boolean to enable by-hash; store the by-hash files in
the db, and record when they stopped being referenced, so that
clean-suites can delete them after the archive's stayofexecution time.

In generate-release, where we have checksums for all the things,
hardlink files to the by-hash dir for each of the suite's configured
hash methods.

Signed-off-by: Julien Cristau <jcristau@debian.org>
---
changes in v2:
- use archive.stayofexecution as delay before removing files from
  by-hash
- don't assume any particular ordering for suite.checksums

changes in v3:
- rebase on latest master, update115 is now update116
- handle missing files in clean_byhash

changes in v4:
- use hardlinks instead of symlinks
- don't initialize `unreferenced` to its default value
- in clean_byhash, remove useless fetchall, and handle ENOENT from
  unlink instead of checking for existence beforehand
dak/clean_suites.py
dak/dakdb/update116.py [new file with mode: 0644]
dak/generate_releases.py