From owner-cvs-all@FreeBSD.ORG Fri Oct 6 21:50:31 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEFA316A40F; Fri, 6 Oct 2006 21:50:30 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A393443D45; Fri, 6 Oct 2006 21:50:30 +0000 (GMT) (envelope-from dougb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k96LoUex019524; Fri, 6 Oct 2006 21:50:30 GMT (envelope-from dougb@repoman.freebsd.org) Received: (from dougb@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k96LoUhO019517; Fri, 6 Oct 2006 21:50:30 GMT (envelope-from dougb) Message-Id: <200610062150.k96LoUhO019517@repoman.freebsd.org> From: Doug Barton Date: Fri, 6 Oct 2006 21:50:30 +0000 (UTC) To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: ports/sysutils/portmaster/files portmaster.sh.in X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 21:50:31 -0000 dougb 2006-10-06 21:50:30 UTC FreeBSD ports repository Modified files: sysutils/portmaster/files portmaster.sh.in Log: New Features: ============= 1. You can now specify multiple ports to upgrade on the command line, such as 'portmaster foo-1.23 bar-4.56 baz-7.98'. [1] Pass -n argument to child processes (as needed) to handle this case. 2. Handle an alternate port that can satisfy a build requirement by reading the CONFLICTS for the "standard" port, and seeing if we have one of those installed. [1] 3. Unless the user specifies the new -B option, always build a backup package when updating an existing port. Unless the user has specified the -b option, delete the package on successful installation of the new port, or print a helpful message telling the user where they can find the package if install fails. 4. Don't only test a port for IGNORE, also test FORBIDDEN and BROKEN to avoid doing a lot of work on dependencies for a port that we aren't going to install. Big Improvements: ================= 1. Significantly enhance the -r option by tracking what ports should be rebuilt as a result of it, and rebuilding them "in line" if they are dependencies of other ports that should also be rebuilt. Thus, make sure that these ports get rebuilt once, and only once. Also, don't rely on just the installed port's +REQUIRED_BY file to get the list of dependencies, since it may be out of date. Search the pkg tree for that port's DEPORIGIN to make sure that we get them all. 2. Track answers to ports that have +IGNOREME files, so the user is not asked twice. 3. Rather than use all-depends-list to handle dependencies, use a combination of build-depends and run-depends. This seems to get everything we actually need, without sucking in a lot of stuff we don't. 4. Stop abusing the config_only mode, and make a clear separation between first run (if any) and build run that does not depend on it. This makes -G mode work as intended, with no bad side effects. [1] Small Improvements: =================== 1. Add PREFIX/sbin to the PATH [1] 2. Cache "no" answers when using -i ("yes" was already cached). 3. If pkg_version thinks that two versions are the same even though they have different pkg names, don't warn the user. 4. Clean up package code a little. 5. Twiddle the "waiting on" message for fetch & checksum. 6. If a user has a stale +REQUIRED_BY file in a pkg directory, print a helpful message that suggests how to fix it. [2] 7. Don't tell a user about a -r port to rebuild if we're not going to rebuild it for whatever reason. Bug Fixes: ========== 1. Clean up trailing white space. 2. If the pkg data is corrupt, a search for installed port by ORIGIN could return more than one answer. So, use only the first answer. 3. In dependency_check(), if a port has moved, check the new location to see if it needs updating. 4. If there are no valid ports to build based on the command line args, don't try to build /usr/ports/ [3] [1] Suggested, debugged, and generally helped greatly by mezz [2] Wondered about by yar [3] Reminded by Bill Blue Revision Changes Path 1.9 +230 -87 ports/sysutils/portmaster/files/portmaster.sh.in