From owner-freebsd-ports@FreeBSD.ORG Tue Jul 2 16:11:56 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8FF9627B for ; Tue, 2 Jul 2013 16:11:56 +0000 (UTC) (envelope-from freebsd-ports@m.gmane.org) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) by mx1.freebsd.org (Postfix) with ESMTP id 5194017D9 for ; Tue, 2 Jul 2013 16:11:55 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Uu3BJ-0003qO-1x for freebsd-ports@freebsd.org; Tue, 02 Jul 2013 18:11:53 +0200 Received: from office-nat.spylog.net ([193.169.234.6]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 Jul 2013 18:11:53 +0200 Received: from citrin by office-nat.spylog.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 Jul 2013 18:11:53 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-ports@freebsd.org From: Anton Yuzhaninov Subject: Re: "portmaster -r perl" rebuild almost everything, including apache24, php53 etc. Date: Tue, 2 Jul 2013 16:11:34 +0000 (UTC) Organization: Vega Lines: 35 Sender: Anton Yuzhaninov Message-ID: References: <1306476328.20130621232328@serebryakov.spb.ru> <51C5611D.2000807@passap.ru> X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: office-nat.spylog.net X-Comment-To: Boris Samorodov User-Agent: tin/2.0.1-20111224 ("Achenvoir") (UNIX) (FreeBSD/10.0-CURRENT (i386)) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Jul 2013 16:11:56 -0000 On Sat, 22 Jun 2013 12:32:29, Boris Samorodov wrote: BS> 21.06.2013 23:23, Lev Serebryakov пишет: >> I have old 9-STABEL eserver, which was converted to pkg-ng some time >> ago. This server has perl5.12, apache24, php53, some php modules, etc. >> installed via ports. >> >> I've tried to upgrade perl5.12 with recommended "portmaster -r perl" >> and it rebuild almost everything, including apache, php, all php >> modules, all apache modules, midnigght commander (mc) and lot more. BS> BS> Well, for me it's not "all" at amount POV: BS> ----- BS> % pkg info | wc -l BS> 726 BS> % pkg info -r perl | wc -l BS> 234 This is because dependencies stored in package database are recursive. Even with pkgng. With old /var/db/pkg was not easy to recursively calculete dependencies when need, and this recursive list was pre-calculeted and stored. I don't know why this is not fixed in pkgng. For example if you have ports: A -> B -> C -> D in package database stored, that A depends on B+C+D, but should only be stored that A depends on B. This recursive dependencies causes different problems - many extra ports to rebuild is only one of this problems. glib among others depends on perl, so with recursive dependencies all ports, that depends on glib will be rebuild by portmaster -r perl with no profit from this rebuild.