SHA256
3
0
forked from pool/autoconf

Accepting request 59535 from devel:tools:building

Accepted submit request 59535 from user psmt

OBS-URL: https://build.opensuse.org/request/show/59535
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/autoconf?expand=0&rev=21
This commit is contained in:
Berthold Gunreben 2011-02-01 14:08:42 +00:00 committed by Git OBS Bridge
commit 3619af4b5f
9 changed files with 119 additions and 180 deletions

View File

@ -1,163 +0,0 @@
From f6030a3204a9b87e9b346e6eff4ce1117382fc86 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Thu, 16 Sep 2010 08:43:27 -0600
Subject: [PATCH] m4sugar: fix regression in AC_MSG_ERROR expansion
AS_ERROR Regression introduced in commit cffdc3947, but the
underlying problem stems from the introduction of m4_defun_init
in commit d0c5f482.
* lib/m4sugar/m4sugar.m4 (m4_defun_init): Avoid macro
concatenation on subsequent expansions
* tests/m4sh.at (AS_WARN and AS_ERROR): New test.
* tests/m4sugar.at (m4@&t@_require: one-shot initialization):
Enhance test.
* NEWS: Document the fix.
* THANKS: Update.
Reported by Adrian Bunk and and Nishio Futoshi.
Signed-off-by: Eric Blake <eblake@redhat.com>
---
ChangeLog | 12 ++++++++
NEWS | 3 ++
THANKS | 1 +
lib/m4sugar/m4sugar.m4 | 2 +-
tests/m4sh.at | 66 +++++++++++++++++++++++++++++++++++++++++++++++-
tests/m4sugar.at | 10 ++++---
6 files changed, 88 insertions(+), 6 deletions(-)
diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4
index 95b7bcf..d440127 100644
--- a/lib/m4sugar/m4sugar.m4
+++ b/lib/m4sugar/m4sugar.m4
@@ -1973,7 +1973,7 @@ m4_define([m4_defun],
# m4_defun'd, we can add a parameter, similar to the third parameter
# to m4_defun.
m4_define([m4_defun_init],
-[m4_define([$1], [$3])m4_defun([$1],
+[m4_define([$1], [$3[]])m4_defun([$1],
[$2[]_m4_popdef(]m4_dquote($[0])[)m4_indir(]m4_dquote($[0])dnl
[m4_if(]m4_dquote($[#])[, [0], [], ]m4_dquote([,$]@)[))], [m4_pushdef])])
diff --git a/tests/m4sh.at b/tests/m4sh.at
index e73c971..08680c3 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -18,6 +18,71 @@ AT_BANNER([M4sh.])
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+## ------------------- ##
+## AS_WARN, AS_ERROR. ##
+## ------------------- ##
+
+AT_SETUP([AS@&t@_WARN and AS@&t@_ERROR])
+AT_KEYWORDS([m4sh])
+
+dnl without logging
+AT_DATA_M4SH([script.as],
+[[AS_INIT
+AS_WARN([*watch out*])dnl
+
+if test x"$die" != x; then
+ AS_ERROR([you're dead])dnl
+
+ AS_ERROR([really])dnl
+
+fi
+echo got here
+]])
+
+AT_CHECK_M4SH
+AT_CHECK([$CONFIG_SHELL ./script], [],
+[[got here
+]], [[script: WARNING: *watch out*
+]])
+AT_CHECK([die=: $CONFIG_SHELL ./script], [1],
+[], [[script: WARNING: *watch out*
+script: error: you're dead
+]])
+
+dnl with logging
+rm script
+AT_DATA_M4SH([script.as],
+[[AS_INIT
+m4_define([gone], [AS_ERROR([really])])
+m4_define([AS_MESSAGE_LOG_FD], [5])
+exec AS_MESSAGE_LOG_FD>log.txt
+AS_WARN([*watch out*])dnl
+
+if test x"$die" != x; then
+ AS_ERROR([you're dead])dnl
+
+ AS_ERROR([really])dnl
+
+fi
+echo got here
+exec AS_MESSAGE_LOG_FD>&-
+]])
+
+AT_CHECK_M4SH
+AT_CHECK([$CONFIG_SHELL ./script], [],
+[[got here
+]], [[script: WARNING: *watch out*
+]])
+AT_CHECK([[grep 'script:[0-9]*: WARNING: \*watch out\*' log.txt]], [], [ignore])
+AT_CHECK([die=: $CONFIG_SHELL ./script], [1],
+[], [[script: WARNING: *watch out*
+script: error: you're dead
+]])
+AT_CHECK([[grep 'script:[0-9]*: WARNING: \*watch out\*' log.txt]], [], [ignore])
+AT_CHECK([[grep 'script:[0-9]*: error: you'\''re dead' log.txt]], [], [ignore])
+
+AT_CLEANUP
+
## ---------------- ##
## LINENO support. ##
## ---------------- ##
@@ -95,7 +160,6 @@ AT_CHECK([sh ./test/test-2], 0, [expout])
AT_CLEANUP
-
## ---------------------- ##
## LINENO stack support. ##
## ---------------------- ##
diff --git a/tests/m4sugar.at b/tests/m4sugar.at
index 50a7b00..900bc3b 100644
--- a/tests/m4sugar.at
+++ b/tests/m4sugar.at
@@ -460,13 +460,15 @@ AT_KEYWORDS([m4@&t@_defun_init m4@&t@_copy m4@&t@_defun_once])
dnl check out m4_defun_init, m4_copy, and odd macro names
AT_CHECK_M4SUGAR_TEXT([[
+m4_define([t], [text])dnl
m4_defun_init([a], [[init a
-]], [[common a]])dnl
+]], [[common a] t])dnl
m4_defun([b], [[b]m4_require([a])])dnl
m4_defun([c], [[c]m4_require([a])])dnl
b
c
-a
+a()dnl
+
m4_defun_init([-], [hello, ], [m4_if([$#], [0], [world], [[$1]])])dnl
m4_copy([-], [.])dnl
m4_indir([.])
@@ -474,10 +476,10 @@ m4_indir([.], [goodbye])
m4_indir([-], [again])
]], [[
init a
-common a
+common a text
b
c
-common a
+common a text
hello, world
goodbye
hello, again
--
1.7.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80c6bda1dd6ab04510d42f594c69a06f98dc5e589683b03c11abd89270502ac1
size 1158000

3
autoconf-2.68.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c994778716e6223cf65e898e06c15ed498fe81424838adf67007282b661055ba
size 1167804

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Fri Dec 10 11:24:33 UTC 2010 - coolo@novell.com
- update to 2.68 to include the patch
** AC_MSG_ERROR (and AS_ERROR) can once again be followed immediately by
`dnl'. Regression introduced in 2.66.
** AC_INIT again allows URLs with '?' for its BUG-REPORT argument.
Regression introduced in 2.66.
** AC_REPLACE_FUNCS again allows a non-literal argument, such as a shell
variable that expands to a list of functions to check. Regression
introduced in 2.66.
** AT_BANNER() with empty argument will cause visual separation from previous
test category.
** The macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and
AC_RUN_IFELSE now warn if the first argument failed to use
AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file
contents. A new macro AC_LANG_DEFINES_PROVIDED exists if you have
a compelling reason why you cannot use AC_LANG_SOURCE but must
avoid the warning.
** Newly obsolete macros
The following macros have been marked obsolete. New programs
should use the corresponding Gnulib modules. Gnulib not only
detects a larger set of portability problems with these functions,
but also provides complete workarounds.
AC_FUNC_ERROR_AT_LINE AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MKTIME AC_FUNC_STRTOD
-------------------------------------------------------------------
Sun Sep 19 07:45:20 UTC 2010 - andrea@opensuse.org

View File

@ -22,7 +22,7 @@ BuildRequires: emacs-nox xz
License: GPLv3+
Group: Productivity/Editors/Emacs
AutoReqProv: on
Version: 2.67
Version: 2.68
Release: 2
Summary: Emacs mode for editing GNU Autoconf scripts
Url: http://www.gnu.org/software/autoconf

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Mon Jan 31 17:26:59 CET 2011 - pth@suse.de
- Use 2.68 everywhere in specfile.
- Use %%configure macro in spec file.
-------------------------------------------------------------------
Fri Dec 10 11:24:33 UTC 2010 - coolo@novell.com
- update to 2.68 to include the patch
** AC_MSG_ERROR (and AS_ERROR) can once again be followed immediately by
`dnl'. Regression introduced in 2.66.
** AC_INIT again allows URLs with '?' for its BUG-REPORT argument.
Regression introduced in 2.66.
** AC_REPLACE_FUNCS again allows a non-literal argument, such as a shell
variable that expands to a list of functions to check. Regression
introduced in 2.66.
** AT_BANNER() with empty argument will cause visual separation from previous
test category.
** The macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and
AC_RUN_IFELSE now warn if the first argument failed to use
AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file
contents. A new macro AC_LANG_DEFINES_PROVIDED exists if you have
a compelling reason why you cannot use AC_LANG_SOURCE but must
avoid the warning.
** Newly obsolete macros
The following macros have been marked obsolete. New programs
should use the corresponding Gnulib modules. Gnulib not only
detects a larger set of portability problems with these functions,
but also provides complete workarounds.
AC_FUNC_ERROR_AT_LINE AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MKTIME AC_FUNC_STRTOD
-------------------------------------------------------------------
Sun Sep 19 07:45:20 UTC 2010 - andrea@opensuse.org

View File

@ -1,5 +1,5 @@
#
# spec file for package autoconf-testsuite (Version 2.67)
# spec file for package autoconf (Version 2.68)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -25,14 +25,11 @@ Url: http://www.gnu.org/software/autoconf
AutoReqProv: on
Requires: m4 >= 1.4.6
PreReq: %{install_info_prereq}
Version: 2.67
Version: 2.68
Release: 2
Summary: A GNU Tool for Automatically Configuring Source Code
Source: autoconf-%{version}.tar.xz
Patch0: autoreconf-ltdl.diff
# PATCH-FIX-UPSTREAM -2.67-fix_dnl.patch andrea@opensuse.org
# this patch fix savannah bug #107447 regression in AC_MSG_ERROR expansion
Patch1: autoconf-2.67-fix_dnl.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@ -52,11 +49,10 @@ only required for the generation of the scripts, not their use.
%prep
%setup -q -n autoconf-%{version}
%patch0
%patch1 -p1
%build
%{suse_update_config -f config}
./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir}
%configure
make %{?_smp_mflags}
%if "%{name}" == "autoconf-testsuite"

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Mon Jan 31 17:26:28 CET 2011 - pth@suse.de
- Cosmetic changes to spec file
-------------------------------------------------------------------
Fri Dec 10 11:24:33 UTC 2010 - coolo@novell.com
- update to 2.68 to include the patch
** AC_MSG_ERROR (and AS_ERROR) can once again be followed immediately by
`dnl'. Regression introduced in 2.66.
** AC_INIT again allows URLs with '?' for its BUG-REPORT argument.
Regression introduced in 2.66.
** AC_REPLACE_FUNCS again allows a non-literal argument, such as a shell
variable that expands to a list of functions to check. Regression
introduced in 2.66.
** AT_BANNER() with empty argument will cause visual separation from previous
test category.
** The macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and
AC_RUN_IFELSE now warn if the first argument failed to use
AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file
contents. A new macro AC_LANG_DEFINES_PROVIDED exists if you have
a compelling reason why you cannot use AC_LANG_SOURCE but must
avoid the warning.
** Newly obsolete macros
The following macros have been marked obsolete. New programs
should use the corresponding Gnulib modules. Gnulib not only
detects a larger set of portability problems with these functions,
but also provides complete workarounds.
AC_FUNC_ERROR_AT_LINE AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MKTIME AC_FUNC_STRTOD
-------------------------------------------------------------------
Sun Sep 19 07:45:20 UTC 2010 - andrea@opensuse.org

View File

@ -1,5 +1,5 @@
#
# spec file for package autoconf (Version 2.67)
# spec file for package autoconf (Version 2.68)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -25,14 +25,11 @@ Url: http://www.gnu.org/software/autoconf
AutoReqProv: on
Requires: m4 >= 1.4.6
PreReq: %{install_info_prereq}
Version: 2.67
Version: 2.68
Release: 2
Summary: A GNU Tool for Automatically Configuring Source Code
Source: autoconf-%{version}.tar.xz
Patch0: autoreconf-ltdl.diff
# PATCH-FIX-UPSTREAM -2.67-fix_dnl.patch andrea@opensuse.org
# this patch fix savannah bug #107447 regression in AC_MSG_ERROR expansion
Patch1: autoconf-2.67-fix_dnl.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@ -52,7 +49,6 @@ only required for the generation of the scripts, not their use.
%prep
%setup -q -n autoconf-%{version}
%patch0
%patch1 -p1
%build
%{suse_update_config -f config}