From owner-freebsd-questions@FreeBSD.ORG Sat Mar 4 19:20:08 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CA87F16A420 for ; Sat, 4 Mar 2006 19:20:08 +0000 (GMT) (envelope-from LukeD@pobox.com) Received: from proof.pobox.com (proof.pobox.com [207.106.133.28]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A2DA43D45 for ; Sat, 4 Mar 2006 19:20:08 +0000 (GMT) (envelope-from LukeD@pobox.com) Received: from proof (localhost [127.0.0.1]) by proof.pobox.com (Postfix) with ESMTP id 582D98B245 for ; Sat, 4 Mar 2006 14:20:07 -0500 (EST) Received: from border.crystalsphere.multiverse (pool-71-112-204-105.sttlwa.dsl-w.verizon.net [71.112.204.105]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by proof.sasl.smtp.pobox.com (Postfix) with ESMTP id D069E22959 for ; Sat, 4 Mar 2006 14:20:06 -0500 (EST) Date: Sat, 4 Mar 2006 11:20:04 -0800 (PST) From: Luke Dean X-X-Sender: lukas@border.crystalsphere.multiverse To: freebsd-questions@freebsd.org Message-ID: <20060304110458.H84522@border.crystalsphere.multiverse> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: Determining proper order to upgrade X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Luke Dean List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Mar 2006 19:20:08 -0000 I'm one of those masochists who insists on manually building all my pakages from the ports collection without using automating software like portmanager. Typically I upgrade my ports collection with cvsup -g -L 2 /etc/supfile-that-I-made-for-ports then run pkg_version -v -L '=' to get a list of what I need to upgrade. Then I pkg_info -o name-of-each-port to find out where the port lives in the ports collection, go there, and then use "make" with whatever custom options I need to upgrade it. The trouble I have is when one or more of those low-level ports that everything else depends on gets upgraded. I can spend DAYS building and rebuilding ports until everything gets built with the most current dependencies. I'm familiar with the "-r" and "-R" switches for "pkg_info", and they are a huge help in this situation, but I'm wondering if anybody has written a script that will take a list of packages to be upgraded, examine their dependencies and what depends on them, and then return a sorted list of every installed package that should be rebuilt in order to keep the dependencies current. I don't want something to automate the whole process - just something to help me out with determining which ports are affected and what order they should be rebuilt in. Some of those port management packages must have something like this internally. I guess I could go look there.