svn commit: r320283 - head
Bryan Drewery
bdrewery at FreeBSD.org
Fri Jun 23 18:26:55 UTC 2017
Author: bdrewery
Date: Fri Jun 23 18:26:54 2017
New Revision: 320283
URL: https://svnweb.freebsd.org/changeset/base/320283
Log:
packages: Allow actually building individual world packages in parallel.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Modified:
head/Makefile.inc1
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Fri Jun 23 18:26:51 2017 (r320282)
+++ head/Makefile.inc1 Fri Jun 23 18:26:54 2017 (r320283)
@@ -1570,24 +1570,34 @@ create-world-packages: _pkgbootstrap .PHONY
awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \
${WSTAGEDIR}/METALOG
@for plist in ${WSTAGEDIR}/*.plist; do \
- plist=$${plist##*/} ; \
- pkgname=$${plist%.plist} ; \
- sh ${SRCDIR}/release/packages/generate-ucl.sh -o $${pkgname} \
- -s ${SRCDIR} -u ${WSTAGEDIR}/$${pkgname}.ucl ; \
- done
- @for plist in ${WSTAGEDIR}/*.plist; do \
- plist=$${plist##*/} ; \
- pkgname=$${plist%.plist} ; \
- awk -F\" ' \
- /^name/ { printf("===> Creating %s-", $$2); next } \
- /^version/ { print $$2; next } \
- ' ${WSTAGEDIR}/$${pkgname}.ucl ; \
- ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
- create -M ${WSTAGEDIR}/$${pkgname}.ucl \
- -p ${WSTAGEDIR}/$${pkgname}.plist \
- -r ${WSTAGEDIR} \
- -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} ; \
- done
+ plist=$${plist##*/} ; \
+ pkgname=$${plist%.plist} ; \
+ echo "_PKGS+= $${pkgname}" ; \
+ done > ${WSTAGEDIR}/packages.mk
+ ${_+_}@cd ${.CURDIR}; \
+ ${MAKE} -f Makefile.inc1 create-world-packages-jobs \
+ .MAKE.JOB.PREFIX=
+
+.if make(create-world-packages-jobs)
+.include "${WSTAGEDIR}/packages.mk"
+.endif
+
+create-world-packages-jobs: .PHONY
+.for pkgname in ${_PKGS}
+create-world-packages-jobs: create-world-package-${pkgname}
+create-world-package-${pkgname}: .PHONY
+ @sh ${SRCDIR}/release/packages/generate-ucl.sh -o ${pkgname} \
+ -s ${SRCDIR} -u ${WSTAGEDIR}/${pkgname}.ucl
+ @awk -F\" ' \
+ /^name/ { printf("===> Creating %s-", $$2); next } \
+ /^version/ { print $$2; next } \
+ ' ${WSTAGEDIR}/${pkgname}.ucl ; \
+ ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+ create -M ${WSTAGEDIR}/${pkgname}.ucl \
+ -p ${WSTAGEDIR}/${pkgname}.plist \
+ -r ${WSTAGEDIR} \
+ -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}
+.endfor
create-kernel-packages: _pkgbootstrap .PHONY
.if exists(${KSTAGEDIR}/kernel.meta)
More information about the svn-src-all
mailing list