Fix translation pot files when creating dist tarballs
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-good / scripts / dist-translations.py
index 65148d6..e10cd5d 100755 (executable)
@@ -21,11 +21,13 @@ import os
 import subprocess
 import shutil
 import tempfile
+import sys
 
 if __name__ == "__main__":
     dist_root = os.environ['MESON_DIST_ROOT']
     build_root = os.environ['MESON_BUILD_ROOT']
     source_root = os.environ['MESON_SOURCE_ROOT']
+    project_version = sys.argv[1]
     pwd = os.environ['PWD']
     tmpdir = tempfile.gettempdir()
 
@@ -35,8 +37,22 @@ if __name__ == "__main__":
     print('Generating pot file ...')
     subprocess.run(['ninja', '-C', build_root, module + '-1.0-pot'], check=True)
 
-    # Dist pot file in tarball
-    print('Copying pot file into dist staging directory ...')
     pot_src = os.path.join(source_root, 'po', module + '-1.0.pot')
-    dist_po_dir = os.path.join(dist_root, 'po')
-    shutil.copy2(pot_src, dist_po_dir)
+
+    # Dist pot file in tarball, and fix up version in POT file to match
+    # Translation Project requirements as part of the copying.
+    with open(pot_src, 'r') as f:
+        pot_file = f.read()
+
+    pot_file = pot_file.replace(f'Project-Id-Version: {module}-1.0',
+                                f'Project-Id-Version: {module}-{project_version}', 1)
+
+    print('Copying pot file into dist staging directory ...')
+    dist_pot_with_suffix = os.path.join(dist_root, 'po', f'{module}-1.0.pot')
+    with open(dist_pot_with_suffix, 'w') as f:
+        f.write(pot_file)
+
+    # And another copy without the 1.0 suffix
+    dist_pot_without_suffix = os.path.join(dist_root, 'po', f'{module}.pot')
+    with open(dist_pot_without_suffix, 'w') as f:
+        f.write(pot_file)