From owner-freebsd-ports@FreeBSD.ORG Mon Sep 7 23:17:45 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA8741065692; Mon, 7 Sep 2009 23:17:45 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) by mx1.freebsd.org (Postfix) with ESMTP id 2BEE48FC1E; Mon, 7 Sep 2009 23:17:44 +0000 (UTC) Received: from localhost (localhost.codelab.cz [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id EFC0119E046; Tue, 8 Sep 2009 01:17:41 +0200 (CEST) Received: from [192.168.1.2] (r5bb235.net.upc.cz [86.49.61.235]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id 2CA8D19E044; Tue, 8 Sep 2009 01:17:38 +0200 (CEST) Message-ID: <4AA59493.60509@quip.cz> Date: Tue, 08 Sep 2009 01:17:39 +0200 From: Miroslav Lachman <000.fbsd@quip.cz> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 X-Accept-Language: cz, cs, en, en-us MIME-Version: 1.0 To: Doug Barton References: <4A89CB20.3000408@quip.cz> <4A8E2121.6040507@FreeBSD.org> <4A8E8ACA.3060705@quip.cz> <4A8EF583.8090806@FreeBSD.org> <4A9966FE.7060509@quip.cz> <4A998242.80005@FreeBSD.org> <4A999B4A.3000603@quip.cz> <4A9ADAE6.70506@quip.cz> <4AA56AA3.1000100@quip.cz> <4AA57931.6080208@FreeBSD.org> In-Reply-To: <4AA57931.6080208@FreeBSD.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-ports@freebsd.org Subject: Re: portmaster is not always recursive 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, 07 Sep 2009 23:17:45 -0000 Doug Barton wrote: > Miroslav Lachman wrote: > > >>I know about -f, but it "always" forces update of dependencies. I mean >>something "inteligent" to do update of intermediate dependencies only in >>case when some bottom dependency will be updated. > > > I'm not sure that I'm following exactly what you're asking for there, > but I think that there is a trade-off on trying to make dependency > tracking too complicated vs. simply using -a. If there are things you > don't want updated with -a there are options like -i and +IGNOREME > files to solve those problems. Take a look at the man page for more > information. I am not arguing that it is "must have" option. Just sometimes useful in case when I need to update small subset of ports, not all of them. And if there are a lot of available updates, interactive run (-i -a) is annoying. And now I have one problem on topic with recursive update. There were about 50 available updates, but I want to update just p5 modules for Amavis / SpamAssassin. In this case -a + -i is not so useful option nor +IGNOREME. This is the list of available p5 updates: p5-Compress-Raw-Bzip2-2.017 < needs updating (port has 2.021) p5-Compress-Raw-Zlib-2.017 < needs updating (port has 2.021) p5-Convert-UUlib-1.12,1 < needs updating (port has 1.30,1) p5-DBI-1.60.7 < needs updating (port has 1.60.9) p5-Digest-1.15_1 < needs updating (port has 1.16) p5-ExtUtils-CBuilder-0.24 < needs updating (port has 0.2603.01) p5-ExtUtils-ParseXS-2.19_1 < needs updating (port has 2.20) p5-File-Temp-0.21 < needs updating (port has 0.22) p5-Geography-Countries-1.4 < needs updating (port has 2009041301) p5-HTML-Parser-3.61 < needs updating (port has 3.62) p5-IO-Socket-SSL-1.26 < needs updating (port has 1.30) p5-IO-Zlib-1.09 < needs updating (port has 1.10) p5-Module-Build-0.33 < needs updating (port has 0.35) p5-Net-IP-1.25 < needs updating (port has 1.25_1) p5-Net-SSLeay-1.35_1 < needs updating (port has 1.35_2) p5-PathTools-3.2900 < needs updating (port has 3.3000) p5-Storable-2.20 < needs updating (port has 2.21) p5-URI-1.38 < needs updating (port has 1.40) p5-YAML-0.68 < needs updating (port has 0.70) p5-libwww-5.828 < needs updating (port has 5.831) There is no update for Amavis or SpamAssassin but there are updates for their dependencies. I tried `portmaster -i p5-Mail-SpamAssassin-3.2.5_4` and `portmaster -i -x amavisd-new amavisd-new-2.6.4_1,1` I expected update of all dependencies and in case of Amavis exclude amavisd-new from reinstall, but amavisd was reinstalled and not all dependencies was updated. (I press Y for all questions on interactive run of portmaster) Only listed questions were asked: root@fido ~/# portmaster -i p5-Mail-SpamAssassin-3.2.5_4 ===>>> Update p5-IO-Zlib-1.09 to p5-IO-Zlib-1.10? [y] y ===>>> Update p5-IO-Socket-SSL-1.26 to p5-IO-Socket-SSL-1.30? [y] y ===>>> Update p5-Net-SSLeay-1.35_1 to p5-Net-SSLeay-1.35_2? [y] y ===>>> Update p5-HTML-Parser-3.61 to p5-HTML-Parser-3.62? [y] y ===>>> Update p5-URI-1.38 to p5-URI-1.40? [y] ===>>> Update p5-libwww-5.828 to p5-libwww-5.831? [y] y ===>>> The following actions were performed: Upgrade of p5-IO-Zlib-1.09 to p5-IO-Zlib-1.10 Upgrade of p5-URI-1.38 to p5-URI-1.40 Upgrade of p5-HTML-Parser-3.61 to p5-HTML-Parser-3.62 Upgrade of p5-Net-SSLeay-1.35_1 to p5-Net-SSLeay-1.35_2 Upgrade of p5-IO-Socket-SSL-1.26 to p5-IO-Socket-SSL-1.30 Upgrade of p5-libwww-5.828 to p5-libwww-5.831 Re-installation of p5-Mail-SpamAssassin-3.2.5_4 root@fido ~/# portmaster -i -x amavisd-new amavisd-new-2.6.4_1,1 ===>>> Update unrar-3.80,5 to unrar-3.90,5? [y] y ===>>> Update p5-Convert-UUlib-1.12,1 to p5-Convert-UUlib-1.30,1? [y] y ===>>> The following actions were performed: Upgrade of unrar-3.80,5 to unrar-3.90,5 Upgrade of p5-Convert-UUlib-1.12,1 to p5-Convert-UUlib-1.30,1 Re-installation of amavisd-new-2.6.4_1,1 After this upgrade, there are 7 dependencies not updated: root@fido ~/# pkg_version -vL = | grep '^p5-' p5-Compress-Raw-Bzip2-2.017 < needs updating (port has 2.021) p5-Compress-Raw-Zlib-2.017 < needs updating (port has 2.021) p5-DBI-1.60.7 < needs updating (port has 1.60.9) p5-File-Temp-0.21 < needs updating (port has 0.22) p5-Geography-Countries-1.4 < needs updating (port has 2009041301) p5-Net-IP-1.25 < needs updating (port has 1.25_1) p5-PathTools-3.2900 < needs updating (port has 3.3000) p5-Storable-2.20 < needs updating (port has 2.21) p5-PathTools-3.2900 is not dependency of Amavis or SpamAssassin # pkg_info -R p5-Compress-Raw-Bzip2-2.017 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 # pkg_info -R p5-Compress-Raw-Zlib-2.017 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 # pkg_info -R p5-DBI-1.60.7 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 # pkg_info -R p5-File-Temp-0.21 | egrep -i "amavisd|spamassassin" amavisd-new-2.6.4_1,1 # pkg_info -R p5-Geography-Countries-1.4 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 # pkg_info -R p5-Net-IP-1.25 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 # pkg_info -R p5-PathTools-3.2900 | egrep -i "amavisd|spamassassin" # pkg_info -R p5-Storable-2.20 | egrep -i "amavisd|spamassassin" p5-Mail-SpamAssassin-3.2.5_4 amavisd-new-2.6.4_1,1 As I wrote above, -a is not useful for this type of update when I want to update just a small subset of ports, -i is not much helpful as portmaster doesn't ask for all recorded dependencies. -f forces to rebuild all dependencies (not just deps with available update) -x doesn't work for me (I don't know why in this case) I can live with it. I am just saying there may remains some bug in portmaster with recursion or exclusion. But it is not too serious for me and I know the debugging is very time consuming for you. All in all, portmaster is the best ports management tool for me and this minor problems I have will not change it :) Miroslav Lachman