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

Bug 613790

Summary: sys-devel/autoconf-2.69 autoscan broken on perl 5.26 ( Unescaped left brace in regex is illegal here in regex )
Product: Gentoo Linux Reporter: Kent Fredric (IRC: kent\n) (RETIRED) <kentnl>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: perl
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 613764    

Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-03-25 13:57:16 UTC
Test caught this failure:

Executables (autoheader, autoupdate...).

  1: Syntax of the shell scripts                     ok
  2: Syntax of the Perl scripts                      FAILED (tools.at:75)


#                             -*- compilation -*-
2. tools.at:70: testing Syntax of the Perl scripts ...
./tools.at:72: autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c "$abs_top_builddir"/bin/autoheader
stderr:
/var/tmp/portage/sys-devel/autoconf-2.69/work/autoconf-2.69/bin/autoheader syntax OK
./tools.at:73: autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c "$abs_top_builddir"/bin/autom4te
stderr:
/var/tmp/portage/sys-devel/autoconf-2.69/work/autoconf-2.69/bin/autom4te syntax OK
./tools.at:74: autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c "$abs_top_builddir"/bin/autoreconf
stderr:
/var/tmp/portage/sys-devel/autoconf-2.69/work/autoconf-2.69/bin/autoreconf syntax OK
./tools.at:75: autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c "$abs_top_builddir"/bin/autoscan
stderr:
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE [^\}]*}/ at /var/tmp/portage/sys-devel/autoconf-2.69/work/autoconf-2.69/bin/autoscan line 361.
./tools.at:75: exit code was 255, expected 0
2. tools.at:70: 2. Syntax of the Perl scripts (tools.at:70): FAILED (tools.at:75)

And indeed, its a real problem:


 /usr/bin/autoscan
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE [^\}]*}/ at /usr/bin/autoscan-2.69 line 361.


This will need fixing before Perl 5.26.
Comment 1 Andreas K. Hüttel archtester gentoo-dev 2017-04-07 11:10:37 UTC
https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=e5654a5591884b92633c7785f325626711e7f7aa

^ this should be the upstream fix, it's long time in git master but there has not been any new release in the meantime
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-04-27 11:47:10 UTC
I have locally applied patches to my ebuild which work, and are submitted here for incorporation:

https://github.com/gentoo/gentoo/pull/4500

Please apply at earliest convenience as this test failure is the leading blocker I'm seeing atm. ( And its not the sort of problem you can solve by simply turning off tests )
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-04-27 13:43:58 UTC
commit 50932475bceaaa0499b1d1e0daf78e5e8f7c1446 (HEAD -> master, origin/master, origin/HEAD)
Author: Kent Fredric <kentnl@gentoo.org>
Date:   Thu Apr 27 13:40:02 2017

    sys-devel/autoconf: Add perl-5.26 patch re bug #613790

    This fixes the unescaped "{" issue.

    -r1 bump necessary as end users must have this patch applied to
    their installs otherwise autoscan will be broken after upgrading
    perl.

    autoconf does not subslot dep on perl, so there are no guarantees
    that a rebuild will happen to propagate this patch

    Hence, -r1 fix

    Bug: https://bugs.gentoo.org/613790

    Package-Manager: Portage-2.3.4, Repoman-2.3.2
    Closes: https://github.com/gentoo/gentoo/pull/4500