Date: Mon, 6 Aug 2012 07:24:33 GMT From: Koop Mast <kwm@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/170408: [exp-run] gmake bug fix parallel Message-ID: <201208060724.q767OXKh072866@freefall.freebsd.org> Resent-Message-ID: <201208060730.q767UDDg075355@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 170408 >Category: ports >Synopsis: [exp-run] gmake bug fix parallel >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Aug 06 07:30:12 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Koop Mast >Release: FreeBSD 9.0-STABLE i386 >Organization: >Environment: System: FreeBSD freefall.freebsd.org 9.0-STABLE FreeBSD 9.0-STABLE #6 r235139: Tue May 8 21:19:03 UTC 2012 simon@freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL i386 >Description: Requesting a gmake exp run to test a patch that fixes some parallel build issue, and doesn't break anything else. Background: webkit 1.8 exposes a bug in gmake -j support. the patch was lifted from a 2 year old gmake bug. Ade gave already the go ahead since the may be more wide-ranging then just webkit, and would be useful if we put parallel building on by default. >How-To-Repeat: >Fix: --- gmake-parallel.diff begins here --- Index: devel/gmake/files/patch-remake.c =================================================================== --- devel/gmake/files/patch-remake.c (revision 0) +++ devel/gmake/files/patch-remake.c (working copy) @@ -0,0 +1,59 @@ +Fix parallel builds. One port that exhibits this issue is webkit-gtk >= 1.8. + +http://savannah.gnu.org/bugs/?30653 + +Index: remake.c +=================================================================== +RCS file: /sources/make/make/remake.c,v +retrieving revision 1.147 +diff -u -r1.147 remake.c +--- remake.c 13 Jul 2010 01:20:42 -0000 1.147 ++++ remake.c 5 Aug 2010 01:02:18 -0000 +@@ -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); + +Index: tests/scripts/features/parallelism +=================================================================== +RCS file: /sources/make/make/tests/scripts/features/parallelism,v +retrieving revision 1.16 +diff -u -r1.16 parallelism +--- tests/scripts/features/parallelism 5 Jul 2010 18:32:03 -0000 1.16 ++++ tests/scripts/features/parallelism 5 Aug 2010 01:02:18 -0000 +@@ -164,6 +164,27 @@ + + rmfiles('inc.mk'); + ++utouch(-15, 'file2'); ++utouch(-10, 'file4'); ++utouch(-5, 'file1'); ++ ++run_make_test(q! ++.INTERMEDIATE: file3 ++ ++file4: file3 ++ @mv -f $< $@ ++ ++file3: file2 ++ @touch $@ ++ ++file2: file1 ++ @touch $@ ++!, ++ '--no-print-directory -j2'); ++ ++rmfiles('file1', 'file2', 'file3', 'file4'); ++ ++ + if ($all_tests) { + # Implicit files aren't properly recreated during parallel builds + # Savannah bug #26864 Property changes on: devel/gmake/files/patch-remake.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: devel/gmake/Makefile =================================================================== --- devel/gmake/Makefile (revision 301872) +++ devel/gmake/Makefile (working copy) @@ -7,6 +7,7 @@ PORTNAME= gmake PORTVERSION= 3.82 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= make --- gmake-parallel.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208060724.q767OXKh072866>