ports/62983: [patch] allow parallel package building for stripped down ports collections
Dmitry Morozovsky
marck at rinet.ru
Tue Feb 17 21:30:22 UTC 2004
>Number: 62983
>Category: ports
>Synopsis: [patch] allow parallel package building for stripped down ports collections
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Feb 17 13:30:21 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Morozovsky
>Release: FreeBSD 4-STABLE i386
>Organization:
Cronyx Plus LLC (RiNet ISP)
>Environment:
System: FreeBSD 4-STABLE
>Description:
If one wants to run ports/Tools/portbuild with restricted ports collection,
especially when some of top-level hierarchies do not exist, `parallel' target
from main Makefile will make Makefile that fails in future because of
non-existing subratgets like `arabic-all'
>How-To-Repeat:
- make ports collection subset with excluded, e.g., arabic category (manually
or via cvsup exclude).
- try to run parallel package build.
- watch for `don't know how to make arabic-all'; as th recommended way to do
parallel package build is via `make -k' it does not abort process fully, but
fill output with false alarms.
>Fix:
Simple defensive check for category/Makefile existence would simplify make
output a lot:
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/Makefile,v
retrieving revision 1.79
diff -u -r1.79 Makefile
--- Makefile 22 Jan 2004 09:16:59 -0000 1.79
+++ Makefile 17 Feb 2004 21:11:04 -0000
@@ -93,7 +93,7 @@
@false
.endif
.for dir in ${SUBDIR}
- @echo "all: ${dir}-all"
+ @[ -r ${dir}/Makefile ] && echo "all: ${dir}-all" || true
.endfor
@awk -F '|' '{me=$$1; here=$$2; bdep=$$8; rdep=$$9; split(here, tmp, "/"); if (bdep != "") { gsub("$$", ".tgz", bdep); gsub(" ", ".tgz ", bdep); } if (rdep != "") { gsub("$$", ".tgz", rdep); gsub(" ", ".tgz ", rdep); } print tmp[4] "-all: " me ".tgz"; print me ": " me ".tgz"; print me ".tgz: " bdep " " rdep; printf("\t@/var/portbuild/scripts/pdispatch ${branch} /var/portbuild/scripts/portbuild %s.tgz %s", me, here); if (bdep != "") printf(" %s", bdep); if (rdep != "") printf(" %s", rdep); printf("\n")}' < ${.CURDIR}/${INDEXFILE}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list