diff --git a/maintainer-scripts/update_web_docs_git.py b/maintainer-scripts/update_web_docs_git.py index 18c8bbb8324..d9cf9b70968 100755 --- a/maintainer-scripts/update_web_docs_git.py +++ b/maintainer-scripts/update_web_docs_git.py @@ -37,6 +37,32 @@ def find_configs(): yield (Path(root).resolve(), docname) +def create_source_tarball(output, configs): + pwd = Path('.').resolve() + subfolders = {'doc'} + explicit_files = {'gcc/BASE-VER', 'gcc/DEV-PHASE', 'gcc/DATESTAMP'} + + for location, _ in configs: + location = location.relative_to(pwd) + while not location.name == 'doc': + location = location.parent + subfolders.add(location) + + sources = Path('sources') + sources.mkdir() + + # Copy all subfolders and files + for subfolder in subfolders: + shutil.copytree(subfolder, sources / subfolder) + + for filename in explicit_files: + shutil.copy(filename, sources / filename) + + shutil.make_archive(Path(output, 'docs-sources'), 'gztar', + sources) + print('sources tarball has been created') + + with tempfile.TemporaryDirectory() as folder: print(f'Using {folder} as temporary directory') os.chdir(folder) @@ -49,6 +75,9 @@ with tempfile.TemporaryDirectory() as folder: if not output.exists(): output.mkdir() + # Create source tarball + create_source_tarball(output, configs) + temp = Path('tmp').resolve() temp.mkdir()