From owner-freebsd-ports@FreeBSD.ORG Wed Sep 8 21:41:29 2010 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 36EBB10656BA for ; Wed, 8 Sep 2010 21:41:29 +0000 (UTC) (envelope-from chuckr@telenix.org) Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.49]) by mx1.freebsd.org (Postfix) with ESMTP id 148A38FC0A for ; Wed, 8 Sep 2010 21:41:28 +0000 (UTC) Received: (qmail 6821 invoked from network); 8 Sep 2010 21:41:28 -0000 Received: from april.chuckr.org (HELO april.telenix.org) (chuckr@[66.92.151.30]) (envelope-sender ) by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 8 Sep 2010 21:41:28 -0000 Message-ID: <4C88030C.1030505@telenix.org> Date: Wed, 08 Sep 2010 17:41:32 -0400 From: Chuck Robey User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.2.8) Gecko/20100907 Thunderbird/3.1.2 MIME-Version: 1.0 To: freebsd-ports@freebsd.org References: <4C75C308.5060506@telenix.org> <4C75F8F9.3060704@DataIX.net> In-Reply-To: <4C75F8F9.3060704@DataIX.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: portmanager endlessly looping in x11 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: Wed, 08 Sep 2010 21:41:29 -0000 On 08/26/10 01:17, jhell wrote: > On 08/25/2010 21:27, Chuck Robey wrote: >> I have an interesting thing here: I seem to have found an endless loop in >> portmanager. It's *entirely* possible that I'm myself causing this, so I'll >> explain, and if you can come up with any hints, I'll be happy to test them, >> because I really do like using portmanager. >> > > CC: of ports-mgmt/portmanager is a good start. Maybe > He/She can give you some insight of the working of portmanager. I am not > sure how portmanager keeps the package database up to date but sometimes > dependencies can get messed up in the database that can cause a loop and > if not handled correctly by the upgrade process can cause a lot of > grief. In portmaster you could be using --check-depends and in > portupgrade you could use -Ffu but you don't seem to be using any of the > suggested ports-mgmt upgrade utilities so good luck. ``emphasis on > portmaster'' -- written by dougb@, so you know it works!. The problem I saw, I'm pretty sure is caused by a discrepancy (in portmanager) between how deeply it looks for dependencies versus how deeply it looks it looks to decide to actually rebuild those discovered dependencies. Merely noting the need to rebuild seems not to be the same thing as actually doing it. It found things maybe 3 levels deep, but if it's less than 2 levels down, it won't rebuild it, it'll merely realize that it *should* do it. I switched to using portmaster (this looks alike, I'm making no mistake tho, moved from portmanager to portmaster) which doesn't seem to have this uneveness, so while it takes a whole lot longer to work than portmanager (it uses slow but sure shell utils for it's databases) it really does a far more reliable job of things. You could get to rely on it. It sure took me a good while to track down the reasons that portmanager was fixing on, in deciding that something was out of date, and the frustration was sufficient to cause me to forgive the way that portmaster is much more slow. One really big irritation was how portmanager would rebuild something completely successfully 3 times, but since it would fail its dependency scans, it never would recognize that any of those looping apps had been rebuilt. Very puzzling, until I realized about the dependency problems.