Date: Wed, 08 Sep 2010 17:41:32 -0400 From: Chuck Robey <chuckr@telenix.org> To: freebsd-ports@freebsd.org Subject: Re: portmanager endlessly looping in x11 Message-ID: <4C88030C.1030505@telenix.org> In-Reply-To: <4C75F8F9.3060704@DataIX.net> References: <4C75C308.5060506@telenix.org> <4C75F8F9.3060704@DataIX.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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:<The maintainer> 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C88030C.1030505>