Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

update-po target fails (needs submodule update) #2899

Closed
kloczek opened this issue Feb 12, 2024 · 6 comments
Closed

update-po target fails (needs submodule update) #2899

kloczek opened this issue Feb 12, 2024 · 6 comments
Assignees

Comments

@kloczek
Copy link
Contributor

kloczek commented Feb 12, 2024

Looks like po/POTFILES.in is not up-to-date and translators as well are not aware that some updates needs to be added 馃構

[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ make update-pot -C po
make: Entering directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu/po'
cd /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu && make  -f CMakeFiles/Makefile2 po/CMakeFiles/update-pot.dir/rule
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu'
/usr/bin/cmake -S/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1 -B/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu/CMakeFiles 1
make  -f CMakeFiles/Makefile2 po/CMakeFiles/update-pot.dir/all
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu'
make  -f po/CMakeFiles/update-pot.dir/build.make po/CMakeFiles/update-pot.dir/depend
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1 /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/po /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu/po /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu/po/CMakeFiles/update-pot.dir/DependInfo.cmake "--color="
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu'
make  -f po/CMakeFiles/update-pot.dir/build.make po/CMakeFiles/update-pot.dir/build
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/x86_64-redhat-linux-gnu'
[100%] Updating translation source
cd /home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1 && /usr/bin/xgettext --package-name=rpm --package-version=4.19.1.1 --output=/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/po/rpm.pot --language=C --no-location --keyword=_ --keyword=N_ --files-from=/home/tkloczko/rpmbuild/BUILD/rpm-4.19.1.1/po/POTFILES.in
/usr/bin/xgettext: error while opening "cliutils.c" for reading: No such file or directory
make[3]: *** [po/CMakeFiles/update-pot.dir/build.make:74: po/CMakeFiles/update-pot] Error 1

IMO It would be hoof to add excutinh that target at least in dist tar ball process formation and/or in CI.

@dmnks
Copy link
Contributor

dmnks commented Feb 20, 2024

This is already fixed in the rpm-l10n repo, in the commit rpm-software-management/rpm-l10n@b4dc72f, we just need to update the po submodule in the main repo to pull that change.

IMO It would be hoof to add excutinh that target at least in dist tar ball process formation and/or in CI.

This is currently a manual step in our release process as pulling any kind of additional content, even if just translations, should always be reviewed and double-checked before making a release. That said, we could probably integrate it into a cmake target indeed, thanks for the suggestion! We're gradually moving towards a more automated release process so this would be another piece of the puzzle.

@dmnks
Copy link
Contributor

dmnks commented Feb 20, 2024

Oh, and just to clarify, in the case of 4.19.1.1, we did not intend to update the translations in that release at all, which is why this issue wasn't caught yet.

@dmnks dmnks changed the title 4.19.1.1: update-po target fails update-po target fails (needs submodule update) Feb 20, 2024
@kloczek
Copy link
Contributor Author

kloczek commented Feb 20, 2024

Oh, and just to clarify, in the case of 4.19.1.1, we did not intend to update the translations in that release at all, which is why this issue wasn't caught yet.

Just FTR: updating translations should be be part of the (pre)release process.
Email addresses taken from each .po files should be used to spread notifications "I'm going to release new version of software X in next N days. Please update translations". This shuld be predeceased by make -C po update-po and commit to the all .po files.

As long as translations are kept in separated repo it makes that harder to sync and to keep track of all changes between version (because tag repo A do not causes that such tag is propagated across submodule).

@pmatilai
Copy link
Member

Well yeah, ideally you'd have an official string freeze period with translation notifications for major releases. And ideally you'd also have per-release branches for translations because over time they grow different so you can't safely pull updated translations to stable releases.

Why we never did that? Because it's just too much hassle for the benefit, for a tool like rpm.

This ticket is a bit funny because we don't have any "update-po" target at all. There's just "update-pot". The ticket summary talks about -po, the initial post about -pot and then later again -po, so it's kinda hard to tell what is actually meant by that.

In any case, "update-pot" should be functional in git master, and be run during alpha/beta/final releases of a new major release. I updated the po submodule just now to pull in the path changes at least, but the current POTFILES.in approach is not sustainable, that needs to change to something like "any *.c files". However "update-pot" (and consequent push) should NOT be run from stable releases because there's no corresponding branch in the translations.

@pmatilai
Copy link
Member

So with the submodule update done, this can be closed. Sorry @dmnks for stealing your ticket 馃槄

@pmatilai
Copy link
Member

(and fwiw, pulling that path change into 4.19.x makes no difference whatsoever because the translations should NOT be updated in the branches, and hence there's no reason to do so)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants