[(pushed)] docs: create sources tarball

Message ID 963db32b-c341-1553-af6c-2a5cf9e32861@suse.cz
State Committed
Commit 52eedc1fa3d211f29196eed60e11e6a8738329c2
Headers
Series [(pushed)] docs: create sources tarball |

Commit Message

Martin Liška Nov. 9, 2022, 6:37 p.m. UTC
  maintainer-scripts/ChangeLog:

	* update_web_docs_git.py: Create sources tarball.
---
 maintainer-scripts/update_web_docs_git.py | 29 +++++++++++++++++++++++
 1 file changed, 29 insertions(+)
  

Patch

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()