diff options
| author | Graydon Hoare <[email protected]> | 2011-05-03 07:23:05 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-05-03 07:23:05 -0700 |
| commit | a919a3082d04a24a6aaa13ffcef98bb06307addc (patch) | |
| tree | 8451b0595c3ae849d8f19a7488a9d64396c19a5f /src/etc/snapshot.py | |
| parent | Add forgotten 'snap.mk' (diff) | |
| download | rust-a919a3082d04a24a6aaa13ffcef98bb06307addc.tar.xz rust-a919a3082d04a24a6aaa13ffcef98bb06307addc.zip | |
More snapshot logic refactoring.
Diffstat (limited to 'src/etc/snapshot.py')
| -rw-r--r-- | src/etc/snapshot.py | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/etc/snapshot.py b/src/etc/snapshot.py index 788b5b62..28f94290 100644 --- a/src/etc/snapshot.py +++ b/src/etc/snapshot.py @@ -37,13 +37,13 @@ def parse_line(n, line): "rev": match.group(3)} -def partial_snapshot_name(date, rev, kernel, cpu): - return ("rust-stage0-%s-%s-%s-%s.tar.bz2" - % (date, rev, kernel, cpu)) +def partial_snapshot_name(date, rev, platform): + return ("rust-stage0-%s-%s-%s.tar.bz2" + % (date, rev, platform)) -def full_snapshot_name(date, rev, kernel, cpu, hsh): - return ("rust-stage0-%s-%s-%s-%s-%s.tar.bz2" - % (date, rev, kernel, cpu, hsh)) +def full_snapshot_name(date, rev, platform, hsh): + return ("rust-stage0-%s-%s-%s-%s.tar.bz2" + % (date, rev, platform, hsh)) def get_kernel(): @@ -98,3 +98,24 @@ def hash_file(x): h = hashlib.sha1() h.update(open(x, "rb").read()) return scrub(h.hexdigest()) + + +def make_snapshot(): + kernel = get_kernel() + platform = get_platform() + rev = local_rev_short_sha() + date = local_rev_committer_date().split()[0] + + file0 = partial_snapshot_name(date, rev, platform) + + tar = tarfile.open(file0, "w:bz2") + for name in snapshot_files[kernel]: + tar.add(os.path.join("stage2", name), + os.path.join("rust-stage0", name)) + tar.close() + + h = hash_file(file0) + file1 = full_snapshot_name(date, rev, platform, h) + + shutil.move(file0, file1) + return file1 |