initial commit
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Verify and build an explicitly transferred source snapshot inside the guest."""
|
||||
import hashlib,json,os,subprocess,tarfile
|
||||
from pathlib import Path
|
||||
incoming=Path.home()/'incoming';source=Path.home()/'docview-source';build=Path.home()/'docview-build'
|
||||
record=json.loads((incoming/'source-snapshot.json').read_text())
|
||||
with (incoming/'source-snapshot.tar.gz').open('rb') as f:assert hashlib.file_digest(f,'sha256').hexdigest()==record['archiveSha256']
|
||||
source.mkdir(exist_ok=True)
|
||||
with tarfile.open(incoming/'source-snapshot.tar.gz') as t:t.extractall(source,filter='data')
|
||||
for row in record['files']:
|
||||
with (source/row['path']).open('rb') as f:assert hashlib.file_digest(f,'sha256').hexdigest()==row['sha256']
|
||||
env=os.environ.copy();env['PATH']='/opt/docview-deps/bin:/opt/docview-qt/6.11.2/gcc_64/bin:'+env['PATH'];env['PKG_CONFIG_PATH']='/opt/docview-deps/lib/pkgconfig';env['LD_LIBRARY_PATH']='/opt/docview-deps/lib:/opt/docview-qt/6.11.2/gcc_64/lib'
|
||||
print('Verified',len(record['files']),'input files; snapshot',record['archiveSha256'],flush=True)
|
||||
subprocess.run(['cmake','-S',str(source),'-B',str(build),'-G','Ninja','-DCMAKE_BUILD_TYPE=Release','-DCMAKE_PREFIX_PATH=/opt/docview-qt/6.11.2/gcc_64;/opt/docview-deps'],env=env,check=True)
|
||||
subprocess.run(['cmake','--build',str(build),'--parallel','4'],env=env,check=True)
|
||||
Reference in New Issue
Block a user