From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Feb 17 13:30:21 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B9B2816A4DA for ; Tue, 17 Feb 2004 13:30:21 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E93143D1F for ; Tue, 17 Feb 2004 13:30:21 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i1HLULbv058882 for ; Tue, 17 Feb 2004 13:30:21 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i1HLULjW058879; Tue, 17 Feb 2004 13:30:21 -0800 (PST) (envelope-from gnats) Resent-Date: Tue, 17 Feb 2004 13:30:21 -0800 (PST) Resent-Message-Id: <200402172130.i1HLULjW058879@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Dmitry Morozovsky Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F289E16A4CF; Tue, 17 Feb 2004 13:22:21 -0800 (PST) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50CFB43D1D; Tue, 17 Feb 2004 13:22:21 -0800 (PST) (envelope-from marck@woozle.rinet.ru) Received: from woozle.rinet.ru (localhost [127.0.0.1]) by woozle.rinet.ru (8.12.10/8.12.10) with ESMTP id i1HLMJci061335; Wed, 18 Feb 2004 00:22:19 +0300 (MSK) (envelope-from marck@woozle.rinet.ru) Received: (from marck@localhost) by woozle.rinet.ru (8.12.10/8.12.10/Submit) id i1HLMJfB061334; Wed, 18 Feb 2004 00:22:19 +0300 (MSK) (envelope-from marck) Message-Id: <200402172122.i1HLMJfB061334@woozle.rinet.ru> Date: Wed, 18 Feb 2004 00:22:19 +0300 (MSK) From: Dmitry Morozovsky To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: portmgr@FreeBSD.org Subject: ports/62983: [patch] allow parallel package building for stripped down ports collections X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Dmitry Morozovsky List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Feb 2004 21:30:22 -0000 >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: