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