tar.close()
shutil.rmtree(download_unpack_base)
-def determine_curr_snapshot(triple):
- i = 0
- platform = get_platform(triple)
-
- found_file = False
- found_snap = False
- hsh = None
- date = None
- rev = None
-
- f = open(snapshotfile)
- for line in f.readlines():
- i += 1
- parsed = parse_line(i, line)
- if (not parsed): continue
-
- if found_snap and parsed["type"] == "file":
- if parsed["platform"] == platform:
- hsh = parsed["hash"]
- found_file = True
- break;
- elif parsed["type"] == "snapshot":
- date = parsed["date"]
- rev = parsed["rev"]
- found_snap = True
-
- if not found_snap:
- raise Exception("no snapshot entries in file")
-
- if not found_file:
- raise Exception("no snapshot file found for platform %s, rev %s" %
- (platform, rev))
-
- return full_snapshot_name(date, rev, platform, hsh)
# Main
shutil.move(file0, file1)
return file1
+
+def determine_curr_snapshot_info(triple):
+ i = 0
+ platform = get_platform(triple)
+
+ found_file = False
+ found_snap = False
+ hsh = None
+ date = None
+ rev = None
+
+ f = open(snapshotfile)
+ for line in f.readlines():
+ i += 1
+ parsed = parse_line(i, line)
+ if (not parsed): continue
+
+ if found_snap and parsed["type"] == "file":
+ if parsed["platform"] == platform:
+ hsh = parsed["hash"]
+ found_file = True
+ break;
+ elif parsed["type"] == "snapshot":
+ date = parsed["date"]
+ rev = parsed["rev"]
+ found_snap = True
+
+ if not found_snap:
+ raise Exception("no snapshot entries in file")
+
+ if not found_file:
+ raise Exception("no snapshot file found for platform %s, rev %s" %
+ (platform, rev))
+
+ return (date, rev, platform, hsh)
+
+def determine_curr_snapshot(triple):
+ return full_snapshot_name(*determine_curr_snapshot_info(triple))
import sys, fileinput, subprocess, re
from licenseck import *
+import snapshot
err=0
cols=100
match = re.match(r'^.*//\s*(NOTE.*)$', line)
if match:
report_warn(match.group(1))
+ match = re.match(r'^.*//\s*SNAP\s+(\w+)', line)
+ if match:
+ hsh = match.group(1)
+ a, b, c, phash = snapshot.determine_curr_snapshot_info()
+ if not phash.startswith(hsh):
+ report_err("Snapshot out of date: " + line)
+ else:
+ if "SNAP" in line:
+ report_warn("Unmatched SNAP line: " + line)
+
if (line.find('\t') != -1 and
fileinput.filename().find("Makefile") == -1):
report_err("tab character")