On Friday 22 May 2009 15:41:38 Ion-Mihai Tetcu wrote:
> On Fri, 22 May 2009 19:53:50 +0900 (JST)
>
> Maho NAKATA <cha...@mac.com> wrote:
> > In massive parallel build, OOo can be broken. We explicitly
> > fix them otherwise broken. I just test with MAXJOB = 4  or something
> > like that.
> >
> > >  I had it complain about perl (or
> > > something) needing to be recompiled but that was because I
> > > interrupted the build process.  It has always completed for me when
> > > using MAX* from the start.
> >
> > me too. but - note it just works for you.
> >
> > > I can make the patch, only thing is bsd.port.mk will need to be
> > > patched (simple enough though).
>
> I can run a few test builds on QAT and maybe Phillip can do the same on
> his tindy. Just drop us the patch ;-)
> Even if it only works with MAXJOB = 2, we mark it as such and the build
> will be faster.

Please see attached for the patch.  The changes to bsd.port.mk:
- MAKE_JOBS_NUMBER always defined
- MAKE_JOBS_NUMBER forced to 1 if UNSAFE of DISABLE
- MAKE_JOBS_NUMBER defaults (but user defined) to number of cores

I've then used MAKE_JOBS_NUMBER to set MAXPROCESSES, MAXMODULES and 
NUMOFPROCESSES for openoffice-* (not including 1.*).  

I believe openoffice-2* can me marked as SAFE while openoffice-3* should not 
be marked at all (since it sometimes works..., very well for me :-).  

This patch just makes openoffice-* behave like other ports in regards to 
parallel builds and the usual MAKE_JOBS variables now works as expected.  

Happy testing,

David
diff -ru /usr/ports/Mk/bsd.port.mk ports/Mk/bsd.port.mk
--- /usr/ports/Mk/bsd.port.mk	2009-05-23 10:54:23.000000000 +0200
+++ ports/Mk/bsd.port.mk	2009-05-23 10:55:11.000000000 +0200
@@ -2178,15 +2178,13 @@
 
 # Multiple make jobs support
 .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
+MAKE_JOBS_NUMBER=	1
 _MAKE_JOBS=		#
 .else
 .if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
-.if defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER?=	`${SYSCTL} -n kern.smp.cpus`
 _MAKE_JOBS=		-j${MAKE_JOBS_NUMBER}
-.else
-_MAKE_JOBS=		-j`${SYSCTL} -n kern.smp.cpus`
-.endif
-.if defined(FORCE_MAKE_JOBS)
+.if defined(FORCE_MAKE_JOBS) && !defined(MAKE_JOBS_SAFE)
 BUILD_FAIL_MESSAGE+=	"You have chosen to use multiple make jobs (parallelization) for all ports.  This port was not tested for this setting.  Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure to the maintainer."
 .endif
 .endif
diff -ru /usr/ports/editors/openoffice.org-2/Makefile ports/editors/openoffice.org-2/Makefile
--- /usr/ports/editors/openoffice.org-2/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-2/Makefile	2009-05-23 10:34:17.000000000 +0200
@@ -132,7 +132,7 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-NUMOFPROCESSES?=	1
+NUMOFPROCESSES?=	${MAKE_JOBS_NUMBER}
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
diff -ru /usr/ports/editors/openoffice.org-2-RC/Makefile ports/editors/openoffice.org-2-RC/Makefile
--- /usr/ports/editors/openoffice.org-2-RC/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-2-RC/Makefile	2009-05-23 10:35:49.000000000 +0200
@@ -134,7 +134,7 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-NUMOFPROCESSES?=	1
+NUMOFPROCESSES?=	${MAKE_JOBS_NUMBER}
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
diff -ru /usr/ports/editors/openoffice.org-2-devel/Makefile ports/editors/openoffice.org-2-devel/Makefile
--- /usr/ports/editors/openoffice.org-2-devel/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-2-devel/Makefile	2009-05-23 10:36:11.000000000 +0200
@@ -137,8 +137,8 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-MAXPROCESSES?=	1
-MAXMODULES?=	1
+MAXPROCESSES?=	${MAKE_JOBS_NUMBER}
+MAXMODULES?=	${MAKE_JOBS_NUMBER}
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
diff -ru /usr/ports/editors/openoffice.org-3/Makefile ports/editors/openoffice.org-3/Makefile
--- /usr/ports/editors/openoffice.org-3/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-3/Makefile	2009-05-23 10:36:29.000000000 +0200
@@ -134,8 +134,8 @@
 WRKSRC?=		${WRKDIR}/${OOOTAG}
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-MAXPROCESSES?=	1
-MAXMODULES?=	1
+MAXPROCESSES?=	${MAKE_JOBS_NUMBER}
+MAXMODULES?=	${MAKE_JOBS_NUMBER}
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
diff -ru /usr/ports/editors/openoffice.org-3-RC/Makefile ports/editors/openoffice.org-3-RC/Makefile
--- /usr/ports/editors/openoffice.org-3-RC/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-3-RC/Makefile	2009-05-23 10:36:59.000000000 +0200
@@ -135,8 +135,8 @@
 WRKSRC?=		${WRKDIR}/${OOOTAG}
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-MAXPROCESSES?=	1
-MAXMODULES?=	1
+MAXPROCESSES?=	${MAKE_JOBS_NUMBER}
+MAXMODULES?=	${MAKE_JOBS_NUMBER}
 
 USE_AUTOTOOLS=		autoconf:262
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
diff -ru /usr/ports/editors/openoffice.org-3-devel/Makefile ports/editors/openoffice.org-3-devel/Makefile
--- /usr/ports/editors/openoffice.org-3-devel/Makefile	2009-05-23 10:54:23.000000000 +0200
+++ ports/editors/openoffice.org-3-devel/Makefile	2009-05-23 10:36:42.000000000 +0200
@@ -133,8 +133,8 @@
 WRKSRC?=		${WRKDIR}/${OOOTAG}
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-MAXPROCESSES?=	1
-MAXMODULES?=	1
+MAXPROCESSES?=	${MAKE_JOBS_NUMBER}
+MAXMODULES?=	${MAKE_JOBS_NUMBER}
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to