
* Print some status when running * When incorrect number of arguments specified, print usage text (From OE-Core rev: ac38d245878b618ddf56f9a68834d344500e45a6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.4 KiB
Executable File
#!/usr/bin/env python
import os import sys import glob import shutil import errno
def mkdir(d): try: os.makedirs(d) except OSError as e: if e.errno != errno.EEXIST: raise e
if len(sys.argv) < 3: print("Incorrect number of arguments specified") print("syntax: gen-lockedsig-cache <locked-sigs.inc> ") sys.exit(1)
print('Reading %s' % sys.argv[1]) sigs = [] with open(sys.argv[1]) as f: for l in f.readlines(): if ":" in l: sigs.append(l.split(":")[2].split()[0])
print('Gathering file list') files = set() for s in sigs: p = sys.argv[2] + "/" + s[:2] + "/" + s + "" files |= set(glob.glob(p)) p = sys.argv[2] + "//" + s[:2] + "/" + s + "*" files |= set(glob.glob(p))
print('Processing files') for f in files: sys.stdout.write('Processing %s... ' % f) _, ext = os.path.splitext(f) if not ext in ['.tgz', '.siginfo', '.sig']: # Most likely a temp file, skip it print('skipping') continue dst = f.replace(sys.argv[2], sys.argv[3]) destdir = os.path.dirname(dst) mkdir(destdir)
if os.path.exists(dst):
os.remove(dst)
if (os.stat(f).st_dev == os.stat(destdir).st_dev):
print('linking')
os.link(f, dst)
else:
print('copying')
shutil.copyfile(f, dst)
print('Done!')