Date: Wed, 18 Feb 2004 00:22:19 +0300 (MSK) From: Dmitry Morozovsky <marck@rinet.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: portmgr@FreeBSD.org Subject: ports/62983: [patch] allow parallel package building for stripped down ports collections Message-ID: <200402172122.i1HLMJfB061334@woozle.rinet.ru> Resent-Message-ID: <200402172130.i1HLULjW058879@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402172122.i1HLMJfB061334>