|
3 | 3 | import os, tarfile, hashlib, re, shutil, sys
|
4 | 4 | from snapshot import *
|
5 | 5 |
|
6 |
| -def unpack_snapshot(triple, snap): |
7 |
| - dl_path = os.path.join(download_dir_base, snap) |
| 6 | +def unpack_snapshot(triple, dl_path): |
8 | 7 | print("opening snapshot " + dl_path)
|
9 | 8 | tar = tarfile.open(dl_path)
|
10 | 9 | kernel = get_kernel(triple)
|
@@ -60,18 +59,27 @@ def determine_curr_snapshot(triple):
|
60 | 59 |
|
61 | 60 | # Main
|
62 | 61 |
|
| 62 | +# this gets called with one or two arguments: |
| 63 | +# The first is the O/S triple. |
| 64 | +# The second is an optional path to the snapshot to use. |
| 65 | + |
63 | 66 | triple = sys.argv[1]
|
64 |
| -snap = determine_curr_snapshot(triple) |
65 |
| -dl = os.path.join(download_dir_base, snap) |
66 |
| -url = download_url_base + "/" + snap |
67 |
| -print("determined most recent snapshot: " + snap) |
| 67 | +if len(sys.argv) == 3: |
| 68 | + dl_path = sys.argv[2] |
| 69 | +else: |
| 70 | + snap = determine_curr_snapshot(triple) |
| 71 | + dl = os.path.join(download_dir_base, snap) |
| 72 | + url = download_url_base + "/" + snap |
| 73 | + print("determined most recent snapshot: " + snap) |
68 | 74 |
|
69 |
| -if (not os.path.exists(dl)): |
70 |
| - get_url_to_file(url, dl) |
| 75 | + if (not os.path.exists(dl)): |
| 76 | + get_url_to_file(url, dl) |
71 | 77 |
|
72 |
| -if (snap_filename_hash_part(snap) == hash_file(dl)): |
73 |
| - print("got download with ok hash") |
74 |
| -else: |
75 |
| - raise Exception("bad hash on download") |
| 78 | + if (snap_filename_hash_part(snap) == hash_file(dl)): |
| 79 | + print("got download with ok hash") |
| 80 | + else: |
| 81 | + raise Exception("bad hash on download") |
| 82 | + |
| 83 | + dl_path = os.path.join(download_dir_base, snap) |
76 | 84 |
|
77 |
| -unpack_snapshot(triple, snap) |
| 85 | +unpack_snapshot(triple, dl_path) |
0 commit comments