From owner-svn-src-user@FreeBSD.ORG Mon Oct 1 08:32:06 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27D52106566C; Mon, 1 Oct 2012 08:32:06 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1492B8FC17; Mon, 1 Oct 2012 08:32:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q918W5DE011080; Mon, 1 Oct 2012 08:32:05 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q918W5N2011077; Mon, 1 Oct 2012 08:32:05 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201210010832.q918W5N2011077@svn.freebsd.org> From: Doug Barton Date: Mon, 1 Oct 2012 08:32:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r241090 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Oct 2012 08:32:06 -0000 Author: dougb Date: Mon Oct 1 08:32:05 2012 New Revision: 241090 URL: http://svn.freebsd.org/changeset/base/241090 Log: Due to improvements in the efficiency of portmaster's method of killing background processes when trap'ing, plus the declining quality of ports generally, when the background process that reads the distinfo files encountered a fatal error (which they have been doing more frequently of late), the resulting call to fail() would end up neatly killing all of that parent's background fetch processes as well. Fix that problem by not making the disruption in read_distinfos() fatal unless it's being used for --clean-distfiles. All the other calls to this function are run in the background for the distfile gathering process, and a missing file in that list is an inconvenience at worst. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Oct 1 06:48:59 2012 (r241089) +++ user/dougb/portmaster/portmaster Mon Oct 1 08:32:05 2012 (r241090) @@ -1188,7 +1188,18 @@ read_distinfos () { else pm_cd $origin || continue distinfo=`pm_make -V DISTINFO_FILE` - [ -n "$distinfo" ] || fail "No DISTINFO_FILE in $origin" + + # Do not make this error fatal unless using + # --clean-distfiles. This will prevent accidentally + # killing other background processes when running + # in the background itself. + if [ -z "$distinfo" ]; then + if [ -z "$CLEAN_DISTFILES" ]; then + continue + else + fail "No DISTINFO_FILE in $origin" + fi + fi fi if [ -s "$distinfo" ]; then