From patchwork Thu Feb 8 21:13:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 871145 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-90152-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="rO5xZMD3"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zcrXd1nX2z9s4q for ; Fri, 9 Feb 2018 08:13:53 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; q=dns; s= default; b=TdXzQo/l3tTKs40+pS3nh4lEKTUloKeEgiX4ZYPYAB9/1cVsUgKTe MORt9ODXT8FB9wZnfBOc4NQzYe4bT/1GOltdTXLg2Ly+Gvfk3OHeo8+Nb07TmD39 DotYpwJmOw7CJdA5feMMxXildLWlrX7tCoW3PXJI3hTAL0xQK+oCt8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; s=default; bh=zFYx/kcDNBlbDXHL6n0a/tkzM20=; b=rO5xZMD3TGUN2Yali++zCKgfRzpJ 8d5OUqRH15VZoNHhMRuQRr21pQX82lge8Ne08094524CBJCC894SLXbHGjpMarVb h8aZLBD6FawSX0vkB3WR0YkBs73TPDelVweIodroxLWAxhbYPSFg53DxB8FiPGRi JW59LMzeWnsSsmk= Received: (qmail 97591 invoked by alias); 8 Feb 2018 21:13:46 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 97413 invoked by uid 89); 8 Feb 2018 21:13:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, T_RP_MATCHES_RCVD, URIBL_RED autolearn=ham version=3.3.2 spammy=n X-HELO: hall.aurel32.net From: Aurelien Jarno To: libc-alpha@sourceware.org Cc: Aurelien Jarno Subject: [PATCH v2] intl/tst-gettext: fix failure with newest msgfmt Date: Thu, 8 Feb 2018 22:13:36 +0100 Message-Id: <20180208211336.28267-1-aurelien@aurel32.net> Since upstream gettext commit d13f165b83 (msgfmt: Remove POT-Creation-Date field from the header in the output.), msgfmt does not copy the POT-Creation-Date field in the header entry from the po file to the mo file anymore. This breaks the assumption that we can test gettext by comparing each message in the po files with the corresponding string return by gettext. This makes the intl/tst-gettext to fail. While it would have been possible to modify the po2test.awk script to also strip the line POT-Creation-Date field when creating the msgs.h file, it would not work with both the old and new msgfmt. Instead create a tst-gettext-de.po file from de.po by removing the POT-Creation-Date line. Another alternative would be to use a static tst-gettext-de.po file, but I guess the reason for using de.po is to also catch issues caused by newly added strings. As tst-catgets also uses msg.h, it should also be updated. Instead of using the new tst-gettext-de.po file, the patch modifies xopen-msg.awk to avoid creating a second catgets->intl dependency. Changelog: [BZ #21508] * catgets/xopen-msg.awk: Ignore POT-Creation-Date line. * intl/Makefile ($(objpfx)tst-gettext-de.po): Generate intl/tst-gettext-de.po from po/de.po by removing the POT-Creation-Date line. ($(objpfx)msgs.h): Depend on $(objpfx)tst-gettext-de.po instead of ../po/de.po. * intl/tst-gettext.sh: Use ${objpfx}tst-gettext-de.po instead of ../po/de.po. Reviewed-by: Carlos O'Donell --- ChangeLog | 12 ++++++++++++ catgets/xopen-msg.awk | 5 +++++ intl/Makefile | 6 +++++- intl/tst-gettext.sh | 4 ++-- 4 files changed, 24 insertions(+), 3 deletions(-) Changes v1 -> v2: - Do not use tst-gettext-de.po in catgets, instead mangle the file in xopen-msg.awk. diff --git a/ChangeLog b/ChangeLog index 3a279d7e311..bbfd6c48afa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2018-02-08 Aurelien Jarno + + [BZ #21508] + * catgets/xopen-msg.awk: Ignore POT-Creation-Date line. + * intl/Makefile ($(objpfx)tst-gettext-de.po): Generate + intl/tst-gettext-de.po from po/de.po by removing the + POT-Creation-Date line. + ($(objpfx)msgs.h): Depend on $(objpfx)tst-gettext-de.po instead of + ../po/de.po. + * intl/tst-gettext.sh: Use ${objpfx}tst-gettext-de.po instead of + ../po/de.po. + 2018-02-07 Joseph Myers [BZ #17979] diff --git a/catgets/xopen-msg.awk b/catgets/xopen-msg.awk index a13d6fa06a7..bab0f6b4efe 100644 --- a/catgets/xopen-msg.awk +++ b/catgets/xopen-msg.awk @@ -58,6 +58,11 @@ $1 ~ "msg(id|str)" { next } +/^"POT-Creation-Date: [0-9-]+ [0-9:+-]+\\n"/ { + # Ignore POT-Creation-Date to match what is done in intl/Makefile. + next +} + /^".*"/ { # Append to current message sub(/^"/, "", $0) diff --git a/intl/Makefile b/intl/Makefile index 2219717a5ae..672edf1b387 100644 --- a/intl/Makefile +++ b/intl/Makefile @@ -120,7 +120,11 @@ $(objpfx)tst-gettext6.out: $(gen-locales) $(objpfx)tst-translit.out: $(gen-locales) endif -$(objpfx)msgs.h: po2test.awk ../po/de.po +$(objpfx)tst-gettext-de.po: ../po/de.po + $(make-target-directory) + LC_ALL=C $(AWK) '!/^"POT-Creation-Date: [0-9-]+ [0-9:+-]+\\n"$$/' $^ > $@ + +$(objpfx)msgs.h: po2test.awk $(objpfx)tst-gettext-de.po $(make-target-directory) LC_ALL=C $(AWK) -f $^ > $@ diff --git a/intl/tst-gettext.sh b/intl/tst-gettext.sh index af9c7d7d922..0c65583149f 100755 --- a/intl/tst-gettext.sh +++ b/intl/tst-gettext.sh @@ -42,9 +42,9 @@ mkdir -p ${objpfx}domaindir/existing-locale/LC_MESSAGES mkdir -p ${objpfx}domaindir/existing-locale/LC_TIME # Populate them. msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/existing-domain.mo \ - -f ../po/de.po + -f ${objpfx}tst-gettext-de.po msgfmt -o ${objpfx}domaindir/existing-locale/LC_TIME/existing-time-domain.mo \ - -f ../po/de.po + -f ${objpfx}tst-gettext-de.po # Now run the test. ${test_program_prefix_before_env} \