There seems to be an issue with time stamps on PO files. make followed by make lint and then followd by make changes po files in tree. It's a bit hard to reproduce, though. This recipe is a pretty good reproducer.
$ rm -rf po $ git reset --hard $ ./autogen.sh $ make $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working tree clean $ make lint $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working tree clean $ make $ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: po/bn_IN.po modified: po/ca.po modified: po/cs.po modified: po/de.po modified: po/es.po modified: po/eu.po modified: po/fr.po modified: po/hi.po modified: po/hu.po modified: po/id.po modified: po/ja.po modified: po/kn.po modified: po/mr.po modified: po/nl.po modified: po/pl.po modified: po/pt_BR.po modified: po/ru.po modified: po/sk.po modified: po/tg.po modified: po/uk.po modified: po/zh_CN.po no changes added to commit (use "git add" and/or "git commit -a") git diff po/cs.po diff --git a/po/cs.po b/po/cs.po index 8f16e6b..e98c27f 100644 --- a/po/cs.po +++ b/po/cs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" -"POT-Creation-Date: 2016-08-29 10:39+0200\n" +"POT-Creation-Date: 2017-01-11 16:04+0100\n" "PO-Revision-Date: 2015-06-29 01:17-0400\n" "Last-Translator: Josef Hruška <hrusjos@gmail.com>\n" "Language-Team: Czech (http://www.transifex.com/projects/p/freeipa/language/" @@ -21,112 +21,47222 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Zanata 3.9.3\n" +#: client/config.c:56 +#, c-format +msgid "cannot open configuration file %s\n" +msgstr "" + +#: client/config.c:63 +#, c-format +msgid "cannot stat() configuration file %s\n" +msgstr "" + +#: client/config.c:69 +#, c-format +msgid "out of memory\n" +msgstr "" ...
This is a very annoying issue during development. The sooner we fix this, the better.
Metadata Update from @cheimes: - Issue assigned to someone - Issue set to the milestone: FreeIPA 4.5
Comment by cheimes in Trac before migration:
I found the culprit of the issue. In https://github.com/freeipa/freeipa/commit/4c133837d149352a68e1d6cbefbb28e4ae048755 Petr removed po/ipa.pot. He is right that the pot file is an auto- generated file that can be easily re-generated from sources. However the pot file servces a second purpose. It also serves as a build dependency for all po files. Every time the pot file is regenerated, all po files are also regenerated:
$ git checkout -- po/*.po $ make $ git status ... nothing to commit, working tree clean $ rm po/ipa.pot $ make $ git status ]$ git status ... Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: po/bn_IN.po modified: po/ca.po modified: po/cs.po modified: po/de.po ...
Solution: Re-add ipa.pot
Metadata Update from @pvoborni: - Custom field affects_doc reset - Custom field tester adjusted to wanted - Issue close_status updated to: None
@cheimes nice catch. *.pot files are stored in sssd.git. And Jakub updates them before each release.
*.pot
sh$ git log -n 10 --oneline ./src/man/po/sssd-docs.pot ./po/sssd.pot 36b56482c Updating the translations for the 1.15.0 release 0142e7e25 Updating the translations for the 1.14.2 release ad805face Updating the translations for the 1.14.1 release d25fa6f26 Updating the translations for the 1.14.0 release a86d6cd05 Updating the translations for the 1.14 beta release f45a20d6b Updating the translations for the 1.14 alpha release 261cdde02 Updating translations for the 1.13.1 release 531661c7b Updating the translations for the 1.13.0 release be5cc3c01 Updating the translations for the 1.13 Alpha release 481ec0e1e Updating translations for the 1.12.3 release sh$ find . -name "*.pot" ./src/man/po/sssd-docs.pot ./po/sssd.pot
Metadata Update from @mbasti: - Issue set to the milestone: FreeIPA 4.5.1 (was: FreeIPA 4.5)
Metadata Update from @tdudlak: - Custom field component reset (from Build System) - Custom field tester reset (from wanted) - Custom field type reset (from defect)
Metadata Update from @mbasti: - Issue set to the milestone: FreeIPA 4.5.2 (was: FreeIPA 4.5.1)
FreeIPA 4.5.1 has been released, moving to FreeIPA 4.5.2 milestone
Metadata Update from @tdudlak: - Issue assigned to tdudlak (was: someone)
Metadata Update from @tkrizek: - Issue set to the milestone: FreeIPA 4.5.3 (was: FreeIPA 4.5.2)
Metadata Update from @tdudlak: - Assignee reset
I've tried to solve this by re-adding ipa.pot during the 4.5.3 release, but it doesn't fix the issue. Even when the file is present, the .po files are generated when running ./makerpms.sh script. I've also tried to autoreconf and ./configure before the build with the ipa.pot file present, but it didn't help either.
ipa.pot
.po
./makerpms.sh
Are po files regenerated if you call make dist ? I assume yes. And that's expected. And make dist is indirectly called as dependency for make rpms which is called by ./makerpms.sh
make dist
make rpms
IMHO the simplest workaround/hack would be to call call git checkout for all po files in ./makerpms.sh
git checkout
I like this solution. In fact, this is what I do all the time myself.
Metadata Update from @tkrizek: - Issue set to the milestone: FreeIPA 4.5.4 (was: FreeIPA 4.5.3)
master:
ipa-4-5:
Metadata Update from @tkrizek: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.