ports/95759: [patch] parallel port builds broken
Friedrich Volkmann
volkmann at inode.at
Fri Apr 14 18:40:14 UTC 2006
>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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list