Date: Tue, 08 Sep 2009 01:17:39 +0200 From: Miroslav Lachman <000.fbsd@quip.cz> To: Doug Barton <dougb@FreeBSD.org> Cc: freebsd-ports@freebsd.org Subject: Re: portmaster is not always recursive Message-ID: <4AA59493.60509@quip.cz> In-Reply-To: <4AA57931.6080208@FreeBSD.org> 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> <alpine.BSF.2.00.0908300952370.43298@qbhto.arg> <4A9ADAE6.70506@quip.cz> <alpine.BSF.2.00.0908301307540.11734@qbhto.arg> <4AA56AA3.1000100@quip.cz> <4AA57931.6080208@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AA59493.60509>