Skip site navigation (1)Skip section navigation (2)
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>