From owner-freebsd-ports@FreeBSD.ORG Sun Feb 19 14:51:13 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 80D5916A422 for ; Sun, 19 Feb 2006 14:51:13 +0000 (GMT) (envelope-from dave-lists-freebsd-ports@weller-fahy.com) Received: from outbound.mailhop.org (outbound.mailhop.org [63.208.196.171]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6202143D6A for ; Sun, 19 Feb 2006 14:51:12 +0000 (GMT) (envelope-from dave-lists-freebsd-ports@weller-fahy.com) Received: from p508a2281.dip0.t-ipconnect.de ([80.138.34.129] helo=weller-fahy.com) by outbound.mailhop.org with esmtpa (Exim 4.51) id 1FApu3-000L0s-34 for freebsd-ports@freebsd.org; Sun, 19 Feb 2006 09:51:11 -0500 Received: (qmail 45005 invoked by uid 1001); 19 Feb 2006 14:51:09 -0000 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 80.138.34.129 X-Report-Abuse-To: abuse@dyndns.com (see http://www.mailhop.org/outbound/abuse.html for abuse reporting information) X-MHO-User: sinecure Date: Sun, 19 Feb 2006 15:51:09 +0101 From: "David J. Weller-Fahy" To: freebsd-ports@freebsd.org Message-ID: <20060219145045.GB868@weller-fahy.com> Mail-Followup-To: freebsd-ports@freebsd.org References: <43BCF31F.8050900@FreeBSD.org> <20060214213514.GB20841@leia.lambermont.dyndns.org> <20060219143913.GA868@weller-fahy.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060219143913.GA868@weller-fahy.com> X-URL-Me: http://weller-fahy.com X-Accept-Language: en X-Location: Germany, =?iso-8859-1?Q?H=F6ngen=2C_Pfarre?= =?iso-8859-1?Q?r-Meising-Stra=DFe?= User-Agent: Mutt/1.5.11 Subject: Re: portmaster [was: New /bin/sh based script to manage ports] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Feb 2006 14:51:13 -0000 * David J. Weller-Fahy [2006-02-19 15:40 +0100]: > Hrm... would something like the attached script be sufficient? it > outputs a tree-like view of what will be updated. It's not very > complex, and doesn't take into account things like removing ports > already ouput from any future output, but it works for me. Which apparently didn't get through, here's an inline version: #v+ #!/bin/sh list_ports () { depth=$1 shift for port in $@; do pkg_cur=`grep -l " ORIGIN:${port#/usr/ports/}$" /var/db/pkg/*/+CONTENTS` pkg_cur=${pkg_cur#/var/db/pkg/} pkg_cur=${pkg_cur%/+CONTENTS} pkg_new=`cd $port && make -V PKGNAME` test "`pkg_version -t $pkg_cur $pkg_new`" = "<" \ && echo "$depth>$pkg_cur::$pkg_new" deps=`cd $port && make all-depends-list` test -n "$deps" \ && list_ports ":$depth" $deps done depth=${depth#:} } for port in `portmaster -an | grep '^===>>> La' | awk '{print $6}'`; do orig=`grep '^@comment ORIGIN:' /var/db/pkg/$port/+CONTENTS` list_ports "" /usr/ports/${orig#@comment ORIGIN:} done #v- Regards, -- dave [ please don't CC me ]