Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Apr 2006 20:42:17 +0200 (CEST)
From:      Friedrich Volkmann <volkmann@inode.at>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/95759: [patch] parallel port builds broken
Message-ID:  <20060414184217.B74E915220@83-64-202-138.dynamic.adsl-line.inode.at>
Resent-Message-ID: <200604141840.k3EIeD0S074067@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         95759
>Category:       ports
>Synopsis:       [patch] parallel port builds broken
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 14 18:40:12 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Friedrich Volkmann <volkmann@inode.at>
>Release:        FreeBSD 6.1-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD 83-64-202-138.dynamic.adsl-line.inode.at 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #0: Tue Apr 4 20:57:01 CEST 2006 root@62-99-193-64.static.adsl-line.inode.at:/usr/obj/usr/src/sys/CU03 i386

>Description:
Installing ports with MAKEFLAGS=-j2 or higher doesn't work:
1) Some targets are made parallelly where they shouldn't. E.g. the package
is registered before check-already-installed.
2) "make install" without a preceding "make configure" or "make build"
terminates between run-depends and lib-depends. "make -dm install" reports:
"Examining lib-depends...predecessor run-depends not made yet."
As a part of _INSTALL_SEQ, lib-depends is forced to be made after build,
..., and run-depends. But as a part of _CONFIGURE_SEQ, lib-depends must
be made before build. Maybe lib-depends could just be removed from
_INSTALL_SEQ, as it is already checked at configure time. However, the
patch follows a soft approach, keeping the double check.

>How-To-Repeat:
cd /usr/ports/devel/libtool15 # or any other port
make clean
MAKEFLAGS=-j2 make install

>Fix:
diff -u3 /usr/ports/Mk/bsd.port.mk.orig /usr/ports/Mk/bsd.port.mk
--- /usr/ports/Mk/bsd.port.mk.orig	Thu Feb 23 16:37:20 2006
+++ /usr/ports/Mk/bsd.port.mk	Thu Apr 13 21:31:47 2006
@@ -3774,7 +3774,7 @@
 				post-build post-build-script
 _INSTALL_DEP=	build
 _INSTALL_SEQ=	install-message check-conflicts \
-				run-depends lib-depends apply-slist pre-install \
+				run-depends lib-depends2 apply-slist pre-install \
 				pre-install-script generate-plist check-already-installed
 _INSTALL_SUSEQ= check-umask install-mtree pre-su-install \
 				pre-su-install-script do-install install-desktop-entries \
@@ -3850,7 +3850,7 @@
 .ORDER: ${_PATCH_DEP} ${_PATCH_SEQ}
 .ORDER: ${_CONFIGURE_DEP} ${_CONFIGURE_SEQ}
 .ORDER: ${_BUILD_DEP} ${_BUILD_SEQ}
-.ORDER: ${_INSTALL_DEP} ${_INSTALL_SEQ}
+.ORDER: ${_INSTALL_DEP} ${_INSTALL_SEQ} ${_INSTALL_SUSEQ}
 .ORDER: ${_PACKAGE_DEP} ${_PACKAGE_SEQ}
 
 extract-message:
@@ -4521,6 +4521,7 @@
 		fi; \
 	done
 .endif
+lib-depends2: lib-depends
 
 misc-depends:
 .if defined(DEPENDS)
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060414184217.B74E915220>