Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jul 2009 19:06:01 +0200
From:      Alson van der Meulen <alson+ml@alm.flutnet.org>
To:        freebsd-current@freebsd.org, freebsd-stable@freebsd.org
Subject:   Re: HEADS-UP: Shared Library Versions bumped...
Message-ID:  <20090729170601.GA2841@tafi.alm.flutnet.org>
In-Reply-To: <4A707534.8000808@FreeBSD.org>
References:  <1248027417.14210.110.camel@neo.cse.buffalo.edu> <200907232335.54973.mel.flynn%2Bfbsd.current@mailing.thruhere.net> <4A6FF5FA.5010904@FreeBSD.org> <200907282342.25038.mel.flynn%2Bfbsd.current@mailing.thruhere.net> <4A707534.8000808@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Doug Barton <dougb@FreeBSD.org> [2009-07-29 18:13]:
> Mel Flynn wrote:
> > Gotcha. Is there a reason the flags are removed if the options are not "-r or 
> > -f"?
> 
> Yes, so we don't have stale flags sitting around forever to confuse
> future runs.

I have been bitten by this in the past. A run of portmaster -r
some-lib-that-half-of-my-ports-depend-on aborted because of a shared
library error in a dependency which was not recompiled before the
dependent port. I recompiled the dependency with a manual portmaster
$portname, after this portmaster -r had to start all over. I didn't
expect portmaster to clear the PM_DONE flags during non-resumable
operations like rebuilding a single port (and the manpage contains very
little information about -R). My workaround is to use portupgrade for
these manual fixes.

The case where not removing the flags without -[rf] would hurt is
running portmaster -r something, portmaster failing, resolving this
without portmaster -[rf], updating your ports, and run portmaster -R. It
seems fair to consider this behavior undefined. Plus the ports can be
modified in many ways without portmaster, so it would make more sense to
try to detect stale PM_DONE flags than removing them at arbitrary times
(eg. compare the timestamp of the flag to that of the port).

Alson



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090729170601.GA2841>