Fix translation pot files when creating dist tarballs
authorTim-Philipp Müller <tim@centricular.com>
Wed, 11 Jan 2023 14:53:39 +0000 (14:53 +0000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 11 Jan 2023 19:20:17 +0000 (19:20 +0000)
Add version as per Translation Project requirements and
also add a .pot file without the ABI suffix.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

subprojects/gst-plugins-bad/scripts/dist-translations.py
subprojects/gst-plugins-bad/scripts/meson.build
subprojects/gst-plugins-base/scripts/dist-translations.py
subprojects/gst-plugins-base/scripts/meson.build
subprojects/gst-plugins-good/scripts/dist-translations.py
subprojects/gst-plugins-good/scripts/meson.build
subprojects/gst-plugins-ugly/scripts/dist-translations.py
subprojects/gst-plugins-ugly/scripts/meson.build
subprojects/gstreamer/scripts/dist-translations.py
subprojects/gstreamer/scripts/meson.build

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)
index f5d9106..3cc83c2 100644 (file)
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif
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)
index f5d9106..3cc83c2 100644 (file)
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif
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)
index f5d9106..3cc83c2 100644 (file)
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif
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)
index f5d9106..3cc83c2 100644 (file)
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif
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)
index f5d9106..3cc83c2 100644 (file)
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif