Hello community,

here is the log from the commit of package make.1471 for openSUSE:12.1:Update 
checked in at 2013-03-26 17:15:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/make.1471 (Old)
 and      /work/SRC/openSUSE:12.1:Update/.make.1471.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "make.1471", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2013-02-26 18:15:11.936010755 +0100
+++ /work/SRC/openSUSE:12.1:Update/.make.1471.new/make.changes  2013-03-26 
17:15:47.000000000 +0100
@@ -0,0 +1,274 @@
+-------------------------------------------------------------------
+Wed Mar 20 22:22:57 UTC 2013 - jeng...@inai.de
+
+- Add make-parallel-build.patch from openSUSE:12.3/make
+  (bnc#810657)
+
+-------------------------------------------------------------------
+Tue Oct 11 22:37:40 CEST 2011 - mhruse...@suse.cz
+
+- reverting previous change (qemu binfmt was fixed)
+
+-------------------------------------------------------------------
+Fri Sep 30 13:03:23 CEST 2011 - mhruse...@suse.cz
+
+- using full ar path in tests on arm (fixes build)
+
+-------------------------------------------------------------------
+Tue Apr 19 15:22:27 UTC 2011 - mh...@novell.com
+
+- make-fix_whitespace_tokenization.diff
+  Fix Savannah bug #33125 (bnc #681108):
+  Memory corruption during build of android build system.
+
+-------------------------------------------------------------------
+Tue Sep  7 17:22:32 UTC 2010 - mh...@novell.com
+
+- make-savannah-bug30612-handling_of_archives.diff
+  Fix Savannah bug #30612: handling of archive references with >1 object..
+  Add oneshell to $(.FEATURES).
+  Fix the NEWS file to be accurate.
+- make-savannah-bug30723-expand_makeflags_before_reexec.diff
+  Fix Savannah bug #30723: expand MAKEFLAGS before we re-exec after rebuilding
+  makefiles.
+
+-------------------------------------------------------------------
+Mon Aug 30 17:37:23 UTC 2010 - mh...@novell.com
+
+- Disable some inherrently broken test cases.
+
+-------------------------------------------------------------------
+Mon Aug 23 13:39:12 UTC 2010 - mh...@novell.com
+
+- Update to 3.82
+  - Bug fixes
+  - Backwards Incompatibilities:
+    - Makefiles with .POSIX target: shells called with -e
+    - $? contains prerequisites even if not existent
+    - Prerequisite with '=' cannot be backslash escaped any more
+      (use variable with '=' instead)
+    - Variable names may not contain whitespaces any more
+    - Mixture of explicit and pattern targets didn't always fail
+    - Pattern specific rules application order changed
+    - Library search behavior now compatible with standard linker
+  - New features
+    - --eval=STRING: Evaluate makefile syntax string before makefile
+    - Variable .RECIPEPREFIX: Exchange TAB character
+    - Variable .SHELLFLAGS:   Options passed to shells
+    - Target   .ONESHELL:     Single instance of shell for recipe
+    - Modifier  private:      Suppresses inheritance of variables
+    - Directive undefine:     Undefine variable
+  - Changed features
+    - Multiple modifiers for variables allowed now.
+    - Directive define:       Allow variable assignment operator.
+- Nuke memory-hog-2.diff which didn't apply since 3.81
+- Addapt make-slowdown-parallelism.diff to new parallelization tests
+- Separate make checks into %checks section
+
+-------------------------------------------------------------------
+Mon Jun 28 06:38:35 UTC 2010 - jeng...@medozas.de
+
+- use %_smp_mflags
+
+-------------------------------------------------------------------
+Mon May 24 17:16:41 UTC 2010 - co...@novell.com
+
+- fix test case
+
+-------------------------------------------------------------------
+Fri Jan  8 17:33:04 CET 2010 - r...@suse.de
+
+- enable parallel build 
+
+-------------------------------------------------------------------
+Mon May 14 17:46:30 CEST 2007 - co...@suse.de
+
+- use %find_lang
+
+-------------------------------------------------------------------
+Tue Oct 31 12:48:35 CET 2006 - mh...@suse.de
+
+- Reducing race probability in test case features/parallelism even more.
+
+-------------------------------------------------------------------
+Wed Jun  7 12:20:28 CEST 2006 - mh...@suse.de
+
+- Improving occasional build failures due to races in test cases.
+
+-------------------------------------------------------------------
+Mon May 29 14:28:37 CEST 2006 - mh...@suse.de
+
+- Update to 3.81
+  - Bug fixes
+  - New functions: lastword, abspath, realpath, info, flavor, or, and
+  - New variables: .INCLUDE_DIRS, .FEATURES, .DEFAULT_GOAL, MAKE_RESTARTS, $|
+  - Some new features
+  - More POSIX compatibility
+- memory-hog-2.diff doesn't apply any longer
+
+-------------------------------------------------------------------
+Wed Feb  1 20:29:39 CET 2006 - kssin...@suse.de
+
+- fix for memory-hog.diff (bugzilla#147229)
+
+-------------------------------------------------------------------
+Wed Feb  1 18:15:14 CET 2006 - kssin...@suse.de
+
+- disabled memory-hog.diff due to crashes (bugzilla#147229)
+
+-------------------------------------------------------------------
+Wed Jan 25 21:30:30 CET 2006 - m...@suse.de
+
+- converted neededforbuild to BuildRequires
+
+-------------------------------------------------------------------
+Thu Jan 19 14:36:00 CET 2006 - a...@suse.de
+
+- Reduce memory usage.
+
+-------------------------------------------------------------------
+Fri Jan  9 16:16:49 CET 2004 - adr...@suse.de
+
+- do not strip binaries during install
+
+-------------------------------------------------------------------
+Tue Sep 30 18:56:18 CEST 2003 - ste...@suse.de
+
+- fix "virtual memory exhausted" bug (backport from mainline)
+
+-------------------------------------------------------------------
+Thu Apr 24 12:20:23 CEST 2003 - r...@suse.de
+
+- fix install_info --delete call and move from preun to postun
+
+-------------------------------------------------------------------
+Wed Apr 16 16:20:30 CEST 2003 - co...@suse.de
+
+- use BuildRoot
+
+-------------------------------------------------------------------
+Fri Feb  7 02:03:03 CET 2003 - r...@suse.de
+
+- added install_info macros 
+
+-------------------------------------------------------------------
+Mon Dec 30 16:57:22 CET 2002 - a...@suse.de
+
+- Update to version 3.80:
+  - number of bug fixes
+  - new features as mentioned in the NEWS file:
+    * New functions $(value ...), $(eval ...)
+    * New feature: order-only prerequesites.
+    * Argument to ifdef can now be a variable.
+    * new option --always-make
+
+-------------------------------------------------------------------
+Tue Sep 17 18:43:14 CEST 2002 - r...@suse.de
+
+- removed bogus self-provides 
+
+-------------------------------------------------------------------
+Thu May 23 15:39:17 CEST 2002 - meiss...@suse.de
+
+- Made %_lib fix generic, do not use ifarch.
+
+-------------------------------------------------------------------
+Mon Apr 22 14:43:25 CEST 2002 - meiss...@suse.de
+
+- x86_64 needs /*/lib64 as search path too.
+
+-------------------------------------------------------------------
+Fri Apr 19 14:55:23 CEST 2002 - k...@suse.de
+
+- Update German translation from
+  http://www.iro.umontreal.ca/contrib/po/teams/PO/de/ [# 15851].
+
+-------------------------------------------------------------------
+Tue Dec 11 17:19:45 CET 2001 - f...@suse.de
+
+- s390x, sparc64 and ia64: extended the 'Dynamic Library Search'
+  default path to search /lib64 and /usr/lib64 as well.
+
+-------------------------------------------------------------------
+Wed Nov 28 18:11:47 CET 2001  - f...@suse.de
+
+- add mo-files for translations of messages
+
+-------------------------------------------------------------------
++++ 77 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.1:Update/.make.1471.new/make.changes

New:
----
  make-3.82.tar.bz2
  make-disable-broken-tests.diff
  make-fix_whitespace_tokenization.diff
  make-library-search-path.diff
  make-parallel-build.patch
  make-savannah-bug30612-handling_of_archives.diff
  make-savannah-bug30723-expand_makeflags_before_reexec.diff
  make-slowdown-parallelism.diff
  make.changes
  make.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ make.spec ++++++
#
# spec file for package make
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           make
Url:            http://www.gnu.org/software/make/make.html
Provides:       gmake
PreReq:         %install_info_prereq
Version:        3.82
Release:        0
Summary:        GNU make
License:        GPL-2.0+
Group:          Development/Tools/Building
Source:         make-%version.tar.bz2
Patch2:         make-slowdown-parallelism.diff
Patch3:         make-disable-broken-tests.diff
Patch4:         make-savannah-bug30723-expand_makeflags_before_reexec.diff
Patch5:         make-savannah-bug30612-handling_of_archives.diff
Patch6:         make-fix_whitespace_tokenization.diff
Patch7:         make-parallel-build.patch
Patch64:        make-library-search-path.diff
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
The GNU make command with extensive documentation.

%prep
%setup
%patch2
%patch3 -p1
%patch4
%patch5
%patch6 -p1
%patch -P 7 -p1
if [ %_lib == lib64 ]; then
%patch64
fi

%build
CFLAGS=$RPM_OPT_FLAGS \
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
make %{?_smp_mflags}

%check
make check

%install
make DESTDIR=$RPM_BUILD_ROOT install
ln -s make $RPM_BUILD_ROOT/usr/bin/gmake
%find_lang %name

%files -f %name.lang
%defattr(-,root,root)
/usr/bin/make
/usr/bin/gmake
%doc /usr/share/info/make.info-*.gz
%doc /usr/share/info/make.info.gz
%doc /usr/share/man/man1/make.1.gz

%clean
rm -rf $RPM_BUILD_ROOT

%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz

%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz

%changelog
++++++ make-disable-broken-tests.diff ++++++
Index: make-3.82/tests/scripts/targets/SECONDARY
===================================================================
--- make-3.82.orig/tests/scripts/targets/SECONDARY
+++ make-3.82/tests/scripts/targets/SECONDARY
@@ -121,69 +121,73 @@ all: version2',
 
 unlink('version2');
 
-# TEST #9 -- Savannah bug #15919
-# The original fix for this bug caused a new bug, shown here.
-
-touch(qw(1.a 2.a));
-
-run_make_test('
-%.c : %.b ; cp $< $@
-%.b : %.a ; cp $< $@
-all : 1.c 2.c', '-rR -j',
-'cp 1.a 1.b
-cp 2.a 2.b
-cp 1.b 1.c
-cp 2.b 2.c
-rm 1.b 2.b');
-
-unlink(qw(1.a 2.a 1.c 2.c));
-
-# TEST #10 -- Savannah bug #15919
-touch('test.0');
-run_make_test('
-.SECONDARY : test.1 test.2 test.3
-
-test : test.4
-
-%.4 : %.int %.3 ; touch $@
-
-%.int : %.3 %.2 ; touch $@
-
-%.3 : | %.2 ; touch $@
-
-%.2 : %.1 ; touch $@
-
-%.1 : %.0 ; touch $@', '-rR -j 2',
-'touch test.1
-touch test.2
-touch test.3
-touch test.int
-touch test.4
-rm test.int');
-
-# After a touch of test.0 it should give the same output, except we don't need
-# to rebuild test.3 (order-only)
-sleep(1);
-touch('test.0');
-run_make_test(undef, '-rR -j 2',
-'touch test.1
-touch test.2
-touch test.int
-touch test.4
-rm test.int');
-
-# With both test.0 and test.3 updated it should still build everything except
-# test.3
-sleep(1);
-touch('test.0', 'test.3');
-run_make_test(undef, '-rR -j 2',
-'touch test.1
-touch test.2
-touch test.int
-touch test.4
-rm test.int');
-
-unlink(qw(test.0 test.1 test.2 test.3 test.4));
+# All these tests don't reliably work under high load conditions.
+# Heck, I had two different failures on my workstation, and it's
+# perfectly clear that ordering can differ. - mhopf
+
+# # TEST #9 -- Savannah bug #15919
+# # The original fix for this bug caused a new bug, shown here.
+# 
+# touch(qw(1.a 2.a));
+# 
+# run_make_test('
+# %.c : %.b ; cp $< $@
+# %.b : %.a ; cp $< $@
+# all : 1.c 2.c', '-rR -j',
+# 'cp 1.a 1.b
+# cp 2.a 2.b
+# cp 1.b 1.c
+# cp 2.b 2.c
+# rm 1.b 2.b');
+# 
+# unlink(qw(1.a 2.a 1.c 2.c));
+# 
+# # TEST #10 -- Savannah bug #15919
+# touch('test.0');
+# run_make_test('
+# .SECONDARY : test.1 test.2 test.3
+# 
+# test : test.4
+# 
+# %.4 : %.int %.3 ; touch $@
+# 
+# %.int : %.3 %.2 ; touch $@
+# 
+# %.3 : | %.2 ; touch $@
+# 
+# %.2 : %.1 ; touch $@
+# 
+# %.1 : %.0 ; touch $@', '-rR -j 2',
+# 'touch test.1
+# touch test.2
+# touch test.3
+# touch test.int
+# touch test.4
+# rm test.int');
+# 
+# # After a touch of test.0 it should give the same output, except we don't 
need
+# # to rebuild test.3 (order-only)
+# sleep(1);
+# touch('test.0');
+# run_make_test(undef, '-rR -j 2',
+# 'touch test.1
+# touch test.2
+# touch test.int
+# touch test.4
+# rm test.int');
+# 
+# # With both test.0 and test.3 updated it should still build everything except
+# # test.3
+# sleep(1);
+# touch('test.0', 'test.3');
+# run_make_test(undef, '-rR -j 2',
+# 'touch test.1
+# touch test.2
+# touch test.int
+# touch test.4
+# rm test.int');
+# 
+# unlink(qw(test.0 test.1 test.2 test.3 test.4));
 
 # This tells the test driver that the perl test script executed properly.
 1;
++++++ make-fix_whitespace_tokenization.diff ++++++
Index: make-3.82/function.c
===================================================================
--- make-3.82.orig/function.c
+++ make-3.82/function.c
@@ -1133,19 +1133,14 @@ func_sort (char *o, char **argv, const c
 
   /* Find the maximum number of words we'll have.  */
   t = argv[0];
-  wordi = 1;
-  while (*t != '\0')
+  wordi = 0;
+  while ((p = find_next_token (&t, &len)) != 0)
     {
-      char c = *(t++);
-
-      if (! isspace ((unsigned char)c))
-        continue;
-
-      ++wordi;
-
-      while (isspace ((unsigned char)*t))
-        ++t;
+      ++t;
+      wordi++;
     }
+  if (! wordi)
+    wordi = 1;
 
   words = xmalloc (wordi * sizeof (char *));
 
++++++ make-library-search-path.diff ++++++
make searches for -lmoo targets in /lib and /usr/lib after mangling
them with .LIBPATTERNS into libmoo.so

This patch extends to teh search path to /lib64/ and /usr/lib64

--- remake.c    2001/12/11 15:59:03     1.1
+++ remake.c    2001/12/11 16:01:01
@@ -1252,6 +1252,8 @@
   static char *dirs[] =
     {
 #ifndef _AMIGA
+      "/lib64",
+      "/usr/lib64",
       "/lib",
       "/usr/lib",
 #endif
++++++ make-parallel-build.patch ++++++
References: http://savannah.gnu.org/bugs/?30653
Upstream: yes; backported to openSUSE (dims...@opensuse.org)

diff -u make-3.82-orig/remake.c make-3.82/remake.c
--- make-3.82-orig/remake.c     2010-07-13 03:20:42.000000000 +0200
+++ make-3.82/remake.c  2012-03-21 12:47:52.000000000 +0100
@@ -301,7 +301,7 @@
       /* Check for the case where a target has been tried and failed but
          the diagnostics hasn't been issued. If we need the diagnostics
          then we will have to continue. */
-      if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag))
+      if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag) 
&& f->command_state!=cs_not_started )
         {
           DBF (DB_VERBOSE, _("Pruning file `%s'.\n"));
           return f->command_state == cs_finished ? f->update_status : 0;
@@ -614,6 +614,12 @@
                 d->file->dontcare = file->dontcare;
               }
 
+           /* We may have already encountered this file earlier in the same
+            * pass before we knew we'd be updating this target. In that 
+            * case calling update_file now would result in the file being 
+            * inappropriately pruned so we toggle the considered bit back 
+            * off first. */
+            d->file->considered = !considered;
 
            dep_status |= update_file (d->file, depth);
 


++++++ make-savannah-bug30612-handling_of_archives.diff ++++++
Index: ChangeLog
===================================================================
RCS file: /sources/make/make/ChangeLog,v
retrieving revision 2.419
retrieving revision 2.420
diff -u -p -u -p -r2.419 -r2.420
--- ChangeLog   10 Aug 2010 07:35:34 -0000      2.419
+++ ChangeLog   14 Aug 2010 02:50:14 -0000      2.420
@@ -1,3 +1,17 @@
+2010-08-13  Paul Smith  <psm...@gnu.org>
+
+       * NEWS: Accidentally forgot to back out the sorted wildcard
+       enhancement in 3.82, so update NEWS.
+       Also add NEWS about the error check for explicit and pattern
+       targets in the same rule, added to 3.82.
+
+       * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add
+       this in 3.82!)
+
+       * read.c (parse_file_seq): Fix various errors parsing archives
+       with multiple objects in the parenthesis, as well as wildcards.
+       Fixes Savannah bug #30612.
+
 2010-08-10  Paul Smith  <psm...@gnu.org>
 
        * main.c (main): Expand MAKEFLAGS before adding it to the
Index: NEWS
===================================================================
RCS file: /sources/make/make/NEWS,v
retrieving revision 2.109
retrieving revision 2.110
diff -u -p -u -p -r2.109 -r2.110
--- NEWS        28 Jul 2010 05:39:50 -0000      2.109
+++ NEWS        14 Aug 2010 02:50:14 -0000      2.110
@@ -18,14 +18,6 @@ http://sv.gnu.org/bugs/index.php?group=m
 * Compiling GNU make now requires a conforming ISO C 1989 compiler and
   standard runtime library.
 
-* WARNING: Future backward-incompatibility!
-  Wildcards are not documented as returning sorted values, but up to and
-  including this release the results have been sorted and some makefiles are
-  apparently depending on that.  In the next release of GNU make, for
-  performance reasons, we may remove that sorting.  If your makefiles
-  require sorted results from wildcard expansions, use the $(sort ...)
-  function to request it explicitly.
-
 * WARNING: Backward-incompatibility!
   The POSIX standard for make was changed in the 2008 version in a
   fundamentally incompatible way: make is required to invoke the shell as if
@@ -42,6 +34,21 @@ http://sv.gnu.org/bugs/index.php?group=m
   existing targets were provided in $?).
 
 * WARNING: Backward-incompatibility!
+  Wildcards were not documented as returning sorted values, but the results
+  have been sorted up until this release..  If your makefiles require sorted
+  results from wildcard expansions, use the $(sort ...)  function to request
+  it explicitly.
+
+* WARNING: Backward-incompatibility!
+  In previous versions of make it was acceptable to list one or more explicit
+  targets followed by one or more pattern targets in the same rule and it
+  worked "as expected".  However, this was not documented as acceptable and if
+  you listed any explicit targets AFTER the pattern targets, the entire rule
+  would be mis-parsed.  This release removes this ability completely: make
+  will generate an error message if you mix explicit and pattern targets in
+  the same rule.
+
+* WARNING: Backward-incompatibility!
   As a result of parser enhancements, three backward-compatibility issues
   exist: first, a prerequisite containing an "=" cannot be escaped with a
   backslash any longer.  You must create a variable containing an "=" and
Index: main.c
===================================================================
RCS file: /sources/make/make/main.c,v
retrieving revision 1.244
retrieving revision 1.245
diff -u -p -u -p -r1.244 -r1.245
--- main.c      10 Aug 2010 07:35:34 -0000      1.244
+++ main.c      14 Aug 2010 02:50:14 -0000      1.245
@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp
      a macro and some compilers (MSVC) don't like conditionals in macros.  */
   {
     const char *features = "target-specific order-only second-expansion"
-                           " else-if shortest-stem undefine"
+                           " else-if shortest-stem undefine oneshell"
 #ifndef NO_ARCHIVES
                            " archives"
 #endif
Index: read.c
===================================================================
RCS file: /sources/make/make/read.c,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -p -u -p -r1.193 -r1.194
--- read.c      13 Jul 2010 01:20:42 -0000      1.193
+++ read.c      14 Aug 2010 02:50:14 -0000      1.194
@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
             {
               /* This looks like the first element in an open archive group.
                  A valid group MUST have ')' as the last character.  */
-              const char *e = p + nlen;
+              const char *e = p;
               do
                 {
                   e = next_token (e);
@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
          Go to the next item in the string.  */
       if (flags & PARSEFS_NOGLOB)
         {
-          NEWELT (concat (2, prefix, tp));
+          NEWELT (concat (2, prefix, tmpbuf));
           continue;
         }
 
       /* If we get here we know we're doing glob expansion.
          TP is a string in tmpbuf.  NLEN is no longer used.
          We may need to do more work: after this NAME will be set.  */
-      name = tp;
+      name = tmpbuf;
 
       /* Expand tilde if applicable.  */
-      if (tp[0] == '~')
+      if (tmpbuf[0] == '~')
        {
-         tildep = tilde_expand (tp);
+         tildep = tilde_expand (tmpbuf);
          if (tildep != 0)
             name = tildep;
        }
@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
             else
               {
                 /* We got a chain of items.  Attach them.  */
-                (*newp)->next = found;
+                if (*newp)
+                  (*newp)->next = found;
+                else
+                  *newp = found;
 
                 /* Find and set the new end.  Massage names if necessary.  */
                 while (1)
Index: tests/ChangeLog
===================================================================
RCS file: /sources/make/make/tests/ChangeLog,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -p -u -p -r1.150 -r1.151
--- tests/ChangeLog     10 Aug 2010 07:35:34 -0000      1.150
+++ tests/ChangeLog     14 Aug 2010 02:50:14 -0000      1.151
@@ -1,3 +1,11 @@
+2010-08-13  Paul Smith  <psm...@gnu.org>
+
+       * scripts/features/archives: New regression tests for archive
+       support.  Test for fix to Savannah bug #30612.
+
+       * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
+       the features available in $(.FEATURES).
+
 2010-08-10  Paul Smith  <psm...@gnu.org>
 
        * scripts/features/reinvoke: Ensure command line variable settings
Index: tests/run_make_tests.pl
===================================================================
RCS file: /sources/make/make/tests/run_make_tests.pl,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -p -u -p -r1.32 -r1.33
--- tests/run_make_tests.pl     13 Jul 2010 01:20:43 -0000      1.32
+++ tests/run_make_tests.pl     14 Aug 2010 02:50:14 -0000      1.33
@@ -29,6 +29,7 @@
 # You should have received a copy of the GNU General Public License along with
 # this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%FEATURES = ();
 
 $valgrind = 0;              # invoke make with valgrind
 $valgrind_args = '';
@@ -367,6 +368,8 @@ sub set_more_defaults
      $parallel_jobs = 1;
    }
 
+   %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info 
\\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`;
+
    # Set up for valgrind, if requested.
 
    if ($valgrind) {
Index: tests/scripts/features/archives
===================================================================
RCS file: tests/scripts/features/archives
diff -N tests/scripts/features/archives
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/scripts/features/archives     14 Aug 2010 02:50:14 -0000      1.1
@@ -0,0 +1,42 @@
+#                                                              -*-mode: perl-*-
+
+$description = "Test GNU make's archive management features.";
+
+$details = "\
+This only works on systems that support it.";
+
+# If this instance of make doesn't support archives, skip it
+exists $FEATURES{archives} or return -1;
+
+# Create some .o files to work with
+utouch(-60, qw(a1.o a2.o a3.o));
+
+# Very simple
+run_make_test('all: libxx.a(a1.o)',
+              '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n");
+
+# Multiple .o's.  Add a new one to the existing library
+run_make_test('all: libxx.a(a1.o a2.o)',
+              '', "ar rv libxx.a a2.o\na - a2.o\n");
+
+# Touch one of the .o's so it's rebuilt
+utouch(-40, 'a1.o');
+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
+
+# Use wildcards
+run_make_test('all: libxx.a(*.o)',
+              '', "#MAKE#: Nothing to be done for `all'.\n");
+
+# Touch one of the .o's so it's rebuilt
+utouch(-30, 'a1.o');
+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
+
+# Use both wildcards and simple names
+utouch(-50, 'a2.o');
+run_make_test('all: libxx.a(a3.o *.o)', '',
+              "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
+
+rmfiles(qw(a1.o a2.o a3.o libxx.a));
+
+# This tells the test driver that the perl test script executed properly.
+1;
++++++ make-savannah-bug30723-expand_makeflags_before_reexec.diff ++++++
Index: ChangeLog
===================================================================
RCS file: /sources/make/make/ChangeLog,v
retrieving revision 2.418
retrieving revision 2.419
diff -u -p -u -p -r2.418 -r2.419
--- ChangeLog   7 Aug 2010 08:55:17 -0000       2.418
+++ ChangeLog   10 Aug 2010 07:35:34 -0000      2.419
@@ -1,3 +1,8 @@
+2010-08-10  Paul Smith  <psm...@gnu.org>
+
+       * main.c (main): Expand MAKEFLAGS before adding it to the
+       environment when re-exec'ing.  Fixes Savannah bug #30723.
+
 2010-07-28  Paul Smith  <psm...@gnu.org>
 
        Version 3.82 released.
Index: main.c
===================================================================
RCS file: /sources/make/make/main.c,v
retrieving revision 1.243
retrieving revision 1.244
diff -u -p -u -p -r1.243 -r1.244
--- main.c      19 Jul 2010 07:10:53 -0000      1.243
+++ main.c      10 Aug 2010 07:35:34 -0000      1.244
@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp
             const char *pv = define_makeflags (1, 1);
             char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
             sprintf (p, "MAKEFLAGS=%s", pv);
-            putenv (p);
+            putenv (allocated_variable_expand (p));
           }
 
          if (ISDB (DB_BASIC))
Index: tests/ChangeLog
===================================================================
RCS file: /sources/make/make/tests/ChangeLog,v
retrieving revision 1.149
retrieving revision 1.150
diff -u -p -u -p -r1.149 -r1.150
--- tests/ChangeLog     28 Jul 2010 05:39:50 -0000      1.149
+++ tests/ChangeLog     10 Aug 2010 07:35:34 -0000      1.150
@@ -1,3 +1,8 @@
+2010-08-10  Paul Smith  <psm...@gnu.org>
+
+       * scripts/features/reinvoke: Ensure command line variable settings
+       are preserved across make re-exec.  Tests Savannah bug #30723.
+
 2010-07-28  Paul Smith  <psm...@gnu.org>
 
        * scripts/targets/POSIX: Compatibility issues with Solaris (and
Index: tests/scripts/features/reinvoke
===================================================================
RCS file: /sources/make/make/tests/scripts/features/reinvoke,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -u -p -r1.7 -r1.8
--- tests/scripts/features/reinvoke     27 Jun 2005 22:18:47 -0000      1.7
+++ tests/scripts/features/reinvoke     10 Aug 2010 07:35:34 -0000      1.8
@@ -57,9 +57,24 @@ include $(F)',
 # Now try with the file we're not updating being the actual file we're
 # including: this and the previous one test different parts of the code.
 
-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")
+run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n")
 
 &rmfiles('a','b','c');
 
+# Ensure command line variables are preserved properly across re-exec
+# Tests for Savannah bug #30723
+
+run_make_test('
+ifdef RECURSE
+-include foo30723
+endif
+recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test
+test: ; @echo F.O=$(F.O)
+foo30723: ; @touch $@
+',
+              '--no-print-directory F.O=bar', "F.O=bar\n");
+
+unlink('foo30723');
+
 # This tells the test driver that the perl test script executed properly.
 1;
++++++ make-slowdown-parallelism.diff ++++++
Index: tests/scripts/features/double_colon
===================================================================
--- tests/scripts/features/double_colon.orig
+++ tests/scripts/features/double_colon
@@ -23,7 +23,7 @@ all: baz
 foo:: f1.h ; @echo foo FIRST
 foo:: f2.h ; @echo foo SECOND
 
-bar:: ; @echo aaa; sleep 1; echo aaa done
+bar:: ; @echo aaa; sleep 4; echo aaa done
 bar:: ; @echo bbb
 
 baz:: ; @echo aaa
Index: tests/scripts/features/parallelism
===================================================================
--- tests/scripts/features/parallelism.orig
+++ tests/scripts/features/parallelism
@@ -27,9 +27,9 @@ else {
 
 run_make_test("
 all : def_1 def_2 def_3
-def_1 : ; \@echo ONE; $sleep_command 3 ; echo TWO
-def_2 : ; \@$sleep_command 2 ; echo THREE
-def_3 : ; \@$sleep_command 1 ; echo FOUR",
+def_1 : ; \@echo ONE; $sleep_command 12 ; echo TWO
+def_2 : ; \@$sleep_command 8 ; echo THREE
+def_3 : ; \@$sleep_command 4 ; echo FOUR",
               '-j4', "ONE\nFOUR\nTHREE\nTWO");
 
 # Test parallelism with included files.  Here we sleep/echo while
@@ -38,8 +38,8 @@ def_3 : ; \@$sleep_command 1 ; echo FOUR
 run_make_test("
 all: 1 2; \@echo success
 -include 1.inc 2.inc
-1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo 
ONE; $sleep_command 2; echo TWO' > \$\@
-2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; 
echo THREE' > \$\@",
+1.inc: ; \@echo ONE.inc; $sleep_command 8; echo TWO.inc; echo '1: ; \@echo 
ONE; $sleep_command 8; echo TWO' > \$\@
+2.inc: ; \@$sleep_command 4; echo THREE.inc; echo '2: ; \@$sleep_command 4; 
echo THREE' > \$\@",
               "-j4",
               "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
 
@@ -57,8 +57,8 @@ ifeq (\$(INC),yes)
 -include 1.inc 2.inc
 endif
 
-1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo 
ONE; $sleep_command 2; echo TWO' > \$\@
-2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; 
echo THREE' > \$\@",
+1.inc: ; \@echo ONE.inc; $sleep_command 8; echo TWO.inc; echo '1: ; \@echo 
ONE; $sleep_command 8; echo TWO' > \$\@
+2.inc: ; \@$sleep_command 4; echo THREE.inc; echo '2: ; \@$sleep_command 4; 
echo THREE' > \$\@",
               "-j4",
               "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
 
@@ -74,37 +74,37 @@ rmfiles(qw(1.inc 2.inc));
 run_make_test("
 export HI = \$(shell \$(\$\@.CMD))
 first.CMD = echo hi
-second.CMD = $sleep_command 4; echo hi
+second.CMD = $sleep_command 16; echo hi
 
 .PHONY: all first second
 all: first second
 
-first second: ; \@echo \$\@; $sleep_command 1; echo \$\@",
-              '-j2', "first\nfirst\nsecond\nsecond", 0, 7);
+first second: ; \@echo \$\@; $sleep_command 4; echo \$\@",
+              '-j2', "first\nfirst\nsecond\nsecond", 0, 28);
 
 # Michael Matz <m...@suse.de> reported a bug where if make is running in
 # parallel without -k and two jobs die in a row, but not too close to each
 # other, then make will quit without waiting for the rest of the jobs to die.
 
 run_make_test("
-.PHONY: all fail.1 fail.2 fail.3 ok
-all: fail.1 ok fail.2 fail.3
+.PHONY: all fail.3 fail.6 fail.9 ok
+all: fail.3 ok fail.6 fail.9
 
-fail.1 fail.2 fail.3:
+fail.3 fail.6 fail.9:
        \@sleep \$(patsubst fail.%,%,\$\@)
        \@echo Fail
        \@exit 1
 
 ok:
-       \@sleep 4
+       \@sleep 12
        \@echo Ok done",
               '-rR -j5', 'Fail
-#MAKE#: *** [fail.1] Error 1
+#MAKE#: *** [fail.3] Error 1
 #MAKE#: *** Waiting for unfinished jobs....
 Fail
-#MAKE#: *** [fail.2] Error 1
+#MAKE#: *** [fail.6] Error 1
 Fail
-#MAKE#: *** [fail.3] Error 1
+#MAKE#: *** [fail.9] Error 1
 Ok done',
              512);
 
Index: tests/scripts/options/dash-l
===================================================================
--- tests/scripts/options/dash-l.orig
+++ tests/scripts/options/dash-l
@@ -25,7 +25,7 @@ SHELL = /bin/sh
 
 define test
 if [ ! -f test-file ]; then \
-  echo >> test-file; sleep 2; rm -f test-file; \
+  echo >> test-file; sleep 8; rm -f test-file; \
 else \
   echo $@ FAILED; \
 fi
@@ -46,7 +46,7 @@ $mkoptions = "-l 0.0001";
 $mkoptions .= " -j 4" if ($parallel_jobs);
 
 # We have to wait longer than the default (5s).
-&run_make_with_options($makefile, $mkoptions, &get_logfile, 0, 8);
+&run_make_with_options($makefile, $mkoptions, &get_logfile, 0, 32);
 
 $slurp = &read_file_into_string (&get_logfile(1));
 if ($slurp !~ /cannot enforce load limit/) {
Index: tests/test_driver.pl
===================================================================
--- tests/test_driver.pl.orig
+++ tests/test_driver.pl
@@ -52,7 +52,7 @@ $test_passed = 1;
 
 
 # Timeout in seconds.  If the test takes longer than this we'll fail it.
-$test_timeout = 5;
+$test_timeout = 20;
 
 # Path to Perl
 $perl_name = $^X;
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to