#! /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())