aboutsummaryrefslogtreecommitdiff
path: root/scripts/qemu-stamp.py
blob: 7beeeb07eddfd110b1f68e080ac28013ac221cb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /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())