Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 614698

Summary: <dev-util/intltool-0.51.0-r2 intltool-update broken on Perl 5.26 ( Unescaped left brace in regex is illegal here )
Product: Gentoo Linux Reporter: Kent Fredric (IRC: kent\n) (RETIRED) <kentnl>
Component: StabilizationAssignee: Freedesktop bugs <freedesktop-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: kingjon3377
Priority: Normal Keywords: STABLEREQ
Version: unspecifiedFlags: stable-bot: sanity-check+
Hardware: All   
OS: Linux   
URL: https://bugs.launchpad.net/intltool/+bug/1696658
Whiteboard:
Package list:
dev-util/intltool-0.51.0-r2
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 613764    

Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-04-04 20:41:18 UTC
This bug is annoying because its not immediately visible in intltool, tests pass, etc.

However, when merging gnome-themes-standard, intltool-update exposes itself as broken:

Making check in po
make[1]: Entering directory '/var/tmp/portage/x11-themes/gnome-themes-standard-3.22.3/work/gnome-themes-standard-3.22.3/po'
INTLTOOL_EXTRACT="/usr/bin/intltool-extract" XGETTEXT="/usr/bin/xgettext" srcdir=. /usr/bin/intltool-update --gettext-package gnome-themes-standard --pot
rm -f missing notexist
srcdir=. /usr/bin/intltool-update -m
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ?PACKAGE}?/ at /usr/bin/intltool-update line 1071, <CONF> line 98.
make[1]: *** [Makefile:152: check] Error 255
make[1]: Leaving directory '/var/tmp/portage/x11-themes/gnome-themes-standard-3.22.3/work/gnome-themes-standard-3.22.3/po'

The applicable context  being:

1070         # Ignore recursive definitions of variables
1071         $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;
1072 
1073   return SubstituteVariable ("$untouched$sub$rest");


Changing line 1071 by adding a \ in that regex:

Seems enough to get gnome-themes-standard working, but there are probably many more such mistakes in upstreams code that need fixing.
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-06-17 00:00:36 UTC
Note the cited bug, is of course, incomplete, and the stated patch does *not* fix this problem, because if it did, this problem would already be fixed ( we have it in files/ )

It only fixes *some* of the problem, while leaving others untouched.



Affected Line in 0.51.0-r1:

$sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;

That is *literally* in the same screenfull as: 


https://github.com/Alexpux/MSYS2-packages/blob/master/intltool/perl-5.22-compatibility.patch#L8

Literally only 7 lines down.
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2017-06-27 22:57:39 UTC
commit 1105187fc65d8bf643e682fcef39620dcfd9326a
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Wed Jun 28 00:54:58 2017 +0200

    dev-util/intltool: Revision bump for bug 614698
    
    Package-Manager: Portage-2.3.6, Repoman-2.3.2

 dev-util/intltool/files/intltool-0.51.0-perl-5.26.patch | 12 ++++++++++++
 dev-util/intltool/intltool-0.51.0-r2.ebuild             | 30 ++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2017-09-09 11:54:04 UTC
ia64 stable
Comment 4 Tobias Klausmann (RETIRED) gentoo-dev 2017-09-15 15:39:33 UTC
Stable on alpha.
Comment 5 Markus Meier gentoo-dev 2017-09-18 18:21:53 UTC
arm stable
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2017-10-06 22:02:28 UTC
ppc64 stable
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2017-10-06 23:00:38 UTC
ppc stable
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2017-11-28 20:52:25 UTC
sparc stable (thanks to Rolf Eike Beer)
Comment 9 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-03 18:46:12 UTC
hppa stable
Comment 10 Jason Zaman gentoo-dev 2017-12-15 08:19:07 UTC
amd64 stable
Comment 11 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-06 16:25:33 UTC
x86 stable, closing