25 lines
614 B
Python
25 lines
614 B
Python
|
#! /usr/bin/env python3
|
||
|
|
||
|
# Usage: scripts/qemu-stamp.py STRING1 STRING2... -- FILE1 FILE2...
|
||
|
import hashlib
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
sha = hashlib.sha1()
|
||
|
is_file = False
|
||
|
for arg in sys.argv[1:]:
|
||
|
if arg == '--':
|
||
|
is_file = True
|
||
|
continue
|
||
|
if is_file:
|
||
|
with open(arg, 'rb') as f:
|
||
|
for chunk in iter(lambda: f.read(65536), b''):
|
||
|
sha.update(chunk)
|
||
|
else:
|
||
|
sha.update(os.fsencode(arg))
|
||
|
sha.update(b'\n')
|
||
|
|
||
|
# The hash can start with a digit, which the compiler doesn't
|
||
|
# like as an symbol. So prefix it with an underscore
|
||
|
print("_" + sha.hexdigest())
|