Mercurial > hg > octave-kai > gnulib-hg
changeset 17394:71ec5ab03eb8
bootstrap: AC_INIT may have more than four parameters
For packages that did
AC_INIT([package], [version], [bug-report], [], [url])
the extraction script was grabbing url instead of package for the
value of $package.
Furthermore, while we guarantee LC_ALL=C, this code is liable to
be copied and pasted to a script that doesn't use the C locale and
thus where a range expression may misbehave.
* build-aux/bootstrap (extract_package_name): Correctly extract
non-empty tarname field. Avoid range in regex.
Based on a report by Sami Kerola <kerolasa@iki.fi>.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Eric Blake <eblake@redhat.com> |
---|---|
date | Wed, 08 May 2013 14:29:19 -0600 |
parents | f0016636cc75 |
children | bffc406a6390 |
files | ChangeLog build-aux/bootstrap |
diffstat | 2 files changed, 17 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-05-08 Eric Blake <eblake@redhat.com> + + bootstrap: AC_INIT may have more than four parameters + * build-aux/bootstrap (extract_package_name): Correctly extract + non-empty tarname field. Avoid range in regex. + Based on a report by Sami Kerola <kerolasa@iki.fi>. + 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> qacl: port to MS-Windows port of GNU Emacs
--- a/build-aux/bootstrap +++ b/build-aux/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2013-03-08.16; # UTC +scriptversion=2013-05-08.20; # UTC # Bootstrap this package from checked-out sources. @@ -140,20 +140,21 @@ "wget --mirror -nd -q -np -A.po -P '%s' \ http://translationproject.org/latest/%s/" +# Prefer a non-empty tarname (4th argument of AC_INIT if given), else +# fall back to the package name (1st argument with munging) extract_package_name=' - /^AC_INIT(/{ - /.*,.*,.*, */{ - s/// - s/[][]//g - s/)$// + /^AC_INIT(\[*/{ + s/// + /^[^,]*,[^,]*,[^,]*,[ []*\([^][ ,)]\)/{ + s//\1/ + s/[],)].*// p q } - s/AC_INIT(\[*// - s/]*,.*// + s/[],)].*// s/^GNU // y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ - s/[^A-Za-z0-9_]/-/g + s/[^abcdefghijklmnopqrstuvwxyz0123456789_]/-/g p } '