From a1672ec004c7f87e5fce00e7f9d3f7efe7912939 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 11 Jan 2023 14:53:39 +0000 Subject: [PATCH] Fix translation pot files when creating dist tarballs Add version as per Translation Project requirements and also add a .pot file without the ABI suffix. Part-of: --- .../gst-plugins-bad/scripts/dist-translations.py | 24 ++++++++++++++++++---- subprojects/gst-plugins-bad/scripts/meson.build | 2 +- .../gst-plugins-base/scripts/dist-translations.py | 24 ++++++++++++++++++---- subprojects/gst-plugins-base/scripts/meson.build | 2 +- .../gst-plugins-good/scripts/dist-translations.py | 24 ++++++++++++++++++---- subprojects/gst-plugins-good/scripts/meson.build | 2 +- .../gst-plugins-ugly/scripts/dist-translations.py | 24 ++++++++++++++++++---- subprojects/gst-plugins-ugly/scripts/meson.build | 2 +- subprojects/gstreamer/scripts/dist-translations.py | 24 ++++++++++++++++++---- subprojects/gstreamer/scripts/meson.build | 2 +- 10 files changed, 105 insertions(+), 25 deletions(-) diff --git a/subprojects/gst-plugins-bad/scripts/dist-translations.py b/subprojects/gst-plugins-bad/scripts/dist-translations.py index 65148d6..e10cd5d 100755 --- a/subprojects/gst-plugins-bad/scripts/dist-translations.py +++ b/subprojects/gst-plugins-bad/scripts/dist-translations.py @@ -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) diff --git a/subprojects/gst-plugins-bad/scripts/meson.build b/subprojects/gst-plugins-bad/scripts/meson.build index f5d9106..3cc83c2 100644 --- a/subprojects/gst-plugins-bad/scripts/meson.build +++ b/subprojects/gst-plugins-bad/scripts/meson.build @@ -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 diff --git a/subprojects/gst-plugins-base/scripts/dist-translations.py b/subprojects/gst-plugins-base/scripts/dist-translations.py index 65148d6..e10cd5d 100755 --- a/subprojects/gst-plugins-base/scripts/dist-translations.py +++ b/subprojects/gst-plugins-base/scripts/dist-translations.py @@ -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) diff --git a/subprojects/gst-plugins-base/scripts/meson.build b/subprojects/gst-plugins-base/scripts/meson.build index f5d9106..3cc83c2 100644 --- a/subprojects/gst-plugins-base/scripts/meson.build +++ b/subprojects/gst-plugins-base/scripts/meson.build @@ -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 diff --git a/subprojects/gst-plugins-good/scripts/dist-translations.py b/subprojects/gst-plugins-good/scripts/dist-translations.py index 65148d6..e10cd5d 100755 --- a/subprojects/gst-plugins-good/scripts/dist-translations.py +++ b/subprojects/gst-plugins-good/scripts/dist-translations.py @@ -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) diff --git a/subprojects/gst-plugins-good/scripts/meson.build b/subprojects/gst-plugins-good/scripts/meson.build index f5d9106..3cc83c2 100644 --- a/subprojects/gst-plugins-good/scripts/meson.build +++ b/subprojects/gst-plugins-good/scripts/meson.build @@ -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 diff --git a/subprojects/gst-plugins-ugly/scripts/dist-translations.py b/subprojects/gst-plugins-ugly/scripts/dist-translations.py index 65148d6..e10cd5d 100755 --- a/subprojects/gst-plugins-ugly/scripts/dist-translations.py +++ b/subprojects/gst-plugins-ugly/scripts/dist-translations.py @@ -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) diff --git a/subprojects/gst-plugins-ugly/scripts/meson.build b/subprojects/gst-plugins-ugly/scripts/meson.build index f5d9106..3cc83c2 100644 --- a/subprojects/gst-plugins-ugly/scripts/meson.build +++ b/subprojects/gst-plugins-ugly/scripts/meson.build @@ -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 diff --git a/subprojects/gstreamer/scripts/dist-translations.py b/subprojects/gstreamer/scripts/dist-translations.py index 65148d6..e10cd5d 100755 --- a/subprojects/gstreamer/scripts/dist-translations.py +++ b/subprojects/gstreamer/scripts/dist-translations.py @@ -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) diff --git a/subprojects/gstreamer/scripts/meson.build b/subprojects/gstreamer/scripts/meson.build index f5d9106..3cc83c2 100644 --- a/subprojects/gstreamer/scripts/meson.build +++ b/subprojects/gstreamer/scripts/meson.build @@ -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 -- 2.7.4