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