From owner-freebsd-ports@FreeBSD.ORG Mon Jul 16 09:29:50 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D9B2F106564A for ; Mon, 16 Jul 2012 09:29:50 +0000 (UTC) (envelope-from mueller23@insightbb.com) Received: from mail.insightbb.com (smtp3.insight.synacor.com [208.47.185.25]) by mx1.freebsd.org (Postfix) with ESMTP id 9D6EE8FC16 for ; Mon, 16 Jul 2012 09:29:50 +0000 (UTC) X_CMAE_Category: 0,0 Undefined,Undefined X-CNFS-Analysis: v=1.1 cv=pvIrHRG63ZAfTPHd6pgnB+4iFRC6GCMHBTk/jf4HPJo= c=1 sm=0 a=MkrHcEMnSf8A:10 a=jLN7EqiLvroA:10 a=6I5d2MoRAAAA:8 a=491zZxmbZgxrG727ikMA:9 a=SV7veod9ZcQA:10 a=Q/oqmR4JO1zR3vNQamCQeQ==:117 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine Authentication-Results: smtp01.insight.synacor.com smtp.mail=mueller23@insightbb.com; spf=softfail; sender-id=softfail Authentication-Results: smtp01.insight.synacor.com header.from=mueller23@insightbb.com; sender-id=softfail Received-SPF: softfail (smtp01.insight.synacor.com: transitional domain insightbb.com does not designate 74.134.26.53 as permitted sender) Received: from [74.134.26.53] ([74.134.26.53:48264] helo=localhost) by mail.insightbb.com (envelope-from ) (ecelerity 2.2.2.40 r(29895/29896)) with ESMTP id B3/D0-16070-D0FD3005; Mon, 16 Jul 2012 05:29:49 -0400 Date: Mon, 16 Jul 2012 05:29:49 -0400 Message-ID: From: "Thomas Mueller" To: freebsd-ports@freebsd.org Cc: Doug Barton Subject: Re: Rebuilding png and perl without rebuilding a whole lot of ports twice 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: Mon, 16 Jul 2012 09:29:50 -0000 from Doug Barton : > You don't actually need to rebuild everything that shows a dependency on > Perl, most of them are bogus. Setting EXPLICIT_PACKAGE_DEPENDS= true in > /etc/make.conf helps with this. > There is no totally clean way to handle this case, as you want to do 2 > completely separate operations in one go. However, there is a way to > minimize the pain. > 1. pkg_info -qo p5-\* > p5-list > 2. pkg_delete -f p5-\* > 3. for port in `pkg_info -q -R png-1.5.12` ; do > pkg_info -qo $port > done > png-list > 4. portmaster -o lang/perl5.16 lang/perl5.12 > 5. Check the directories in /usr/local/lib/perl5 that are not part of > 5.16.* for files that are still installed there, use pkg_info -W to find > out which ports they are related to, and rebuild them. > 6. portmaster graphics/png `cat p5-list png-list` Actually I would want to upgrade many of the ports even if they wouldn't be broken by upgrade in png or perl, but not twice. I already have lists in /var/db/pkg/png-1.4.8/+REQUIRED_BY and similar for Perl that could be used like your p5-list and png-list. Problem is how to avoid the duplicates, my scripting knowledge is not so advanced, I guess I need to read up on tcsh, not to mention bash and ksh. Or any way to make portmaster omit a port upgraded on the last run? Tom