Bug 239328 - devel/gettext-tools: msgmerge --for-msgfmt doesn't produce an output file if the input has no translation
Summary: devel/gettext-tools: msgmerge --for-msgfmt doesn't produce an output file if ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Tijl Coosemans
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-20 07:15 UTC by Ting-Wei Lan
Modified: 2019-07-20 09:59 UTC (History)
0 users

See Also:
tijl: maintainer-feedback+


Attachments
Fix msgmerge --for-msgfmt bug (3.06 KB, patch)
2019-07-20 07:15 UTC, Ting-Wei Lan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ting-Wei Lan 2019-07-20 07:15:17 UTC
Created attachment 205916 [details]
Fix msgmerge --for-msgfmt bug

This is a bug which is already fixed by upstream:
https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html

After updating to gettext 0.20, 'msgmerge --for-msgfmt' stops producing an output file if it decides that the output file will be empty. This causes 'msgfmt' to fail because it can't find the file produced by 'msgmerge'. Since the bug has already been fixed by upstream, can we add the patch to the port?

Currently this bug causes libgtop and gcr to fail to build from upstream git:

cd /home/lantw44/gnome/source/libgtop/po && rm -f mi.gmo && /usr/local/bin/msgmerge --for-msgfmt -o mi.1po mi.po libgtop.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o mi.gmo mi.1po && rm -f mi.1po
/usr/local/bin/msgfmt: error while opening "mi.1po" for reading: No such file or directory

cd /home/lantw44/gnome/source/gcr/po && rm -f az.gmo && /usr/local/bin/msgmerge --for-msgfmt -o az.1po az.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o az.gmo az.1po && rm -f az.1po
/usr/local/bin/msgfmt: error while opening "az.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f cy.gmo && /usr/local/bin/msgmerge --for-msgfmt -o cy.1po cy.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o cy.gmo cy.1po && rm -f cy.1po
/usr/local/bin/msgfmt: error while opening "cy.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f en_CA.gmo && /usr/local/bin/msgmerge --for-msgfmt -o en_CA.1po en_CA.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o en_CA.gmo en_CA.1po && rm -f en_CA.1po
/usr/local/bin/msgfmt: error while opening "en_CA.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f is.gmo && /usr/local/bin/msgmerge --for-msgfmt -o is.1po is.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o is.gmo is.1po && rm -f is.1po
/usr/local/bin/msgfmt: error while opening "is.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f ka.gmo && /usr/local/bin/msgmerge --for-msgfmt -o ka.1po ka.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o ka.gmo ka.1po && rm -f ka.1po
/usr/local/bin/msgfmt: error while opening "ka.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f mg.gmo && /usr/local/bin/msgmerge --for-msgfmt -o mg.1po mg.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o mg.gmo mg.1po && rm -f mg.1po
/usr/local/bin/msgfmt: error while opening "mg.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f mn.gmo && /usr/local/bin/msgmerge --for-msgfmt -o mn.1po mn.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o mn.gmo mn.1po && rm -f mn.1po
/usr/local/bin/msgfmt: error while opening "mn.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f rw.gmo && /usr/local/bin/msgmerge --for-msgfmt -o rw.1po rw.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o rw.gmo rw.1po && rm -f rw.1po
/usr/local/bin/msgfmt: error while opening "rw.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f si.gmo && /usr/local/bin/msgmerge --for-msgfmt -o si.1po si.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o si.gmo si.1po && rm -f si.1po
/usr/local/bin/msgfmt: error while opening "si.1po" for reading: No such file or directory
cd /home/lantw44/gnome/source/gcr/po && rm -f xh.gmo && /usr/local/bin/msgmerge --for-msgfmt -o xh.1po xh.po gcr.pot && /usr/local/bin/msgfmt -c --statistics --verbose -o xh.gmo xh.1po && rm -f xh.1po
/usr/local/bin/msgfmt: error while opening "xh.1po" for reading: No such file or directory
Comment 1 commit-hook freebsd_committer 2019-07-20 09:53:44 UTC
A commit references this bug:

Author: tijl
Date: Sat Jul 20 09:53:20 UTC 2019
New revision: 506984
URL: https://svnweb.freebsd.org/changeset/ports/506984

Log:
  Add patch with upstream git commit 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9:
  msgmerge: Fix behaviour of --for-msgfmt on PO files with no translations.

  This fixes building libgtop and gcr from git.

  PR:		239328
  Submitted by:	Ting-Wei Lan <lantw44@gmail.com>

Changes:
  head/devel/gettext-tools/Makefile
  head/devel/gettext-tools/files/patch-git_2336451ed68d91ff