Release Vulpes OS 2.7-preview.22

This commit is contained in:
OverSu 2026-10-22 20:42:26 +02:00
commit a138f97877
294 changed files with 515786 additions and 187 deletions

View file

@ -0,0 +1,45 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: MPL-2.0
"""Export shared Gaia and its host for the private Nokia experiment."""
import hashlib
import json
from pathlib import Path
import sys
import tarfile
ROOT = Path(__file__).resolve().parents[2]
sys.path.insert(0,str(ROOT/'tools'))
from project import SOURCE_OVERRIDES, validate_assets
def shared_files():
validate_assets()
files = set()
for directory in ('assets','host','services','adapters','overrides','gaia/shared'):
files.update(p for p in (ROOT/directory).rglob('*') if p.is_file())
for app, paths in SOURCE_OVERRIDES.items():
files.update(ROOT/'gaia/apps'/app/path for path in paths)
files.update(ROOT/path for path in ('release.json','engine-lock.json','tools/project.py',
'tools/serve-gaia.py','tools/installed_apps.py'))
return sorted(p for p in files if '__pycache__' not in p.parts and p.suffix!='.pyc')
def main():
out = ROOT/'tundra/out/beatles/gecko-156.0.1'
files = shared_files()
records = {}
with tarfile.open(out/'gaia-shared.tar.gz','w:gz',compresslevel=1,dereference=True) as archive:
for path in sorted(files):
if '__pycache__' in path.parts or path.suffix=='.pyc':continue
relative=str(path.relative_to(ROOT))
archive.add(path,arcname='opt/vulpes/'+relative)
records[relative]=hashlib.sha256(path.read_bytes()).hexdigest()
with (out/'gaia-shared.tar.gz').open('rb') as stream:
digest=hashlib.file_digest(stream,'sha256').hexdigest()
record={'device':'beatles','gaiaSource':'shared workspace',
'sha256':digest,'bytes':(out/'gaia-shared.tar.gz').stat().st_size,'files':records}
(out/'gaia-shared.json').write_text(json.dumps(record,indent=2)+'\n')
print('Shared Gaia files:',len(records),'Archive bytes:',record['bytes'])
if __name__=='__main__':main()