Efficiency & correctness for port version upgrades

Doug Barton dougb at FreeBSD.org
Mon Aug 2 20:19:19 UTC 2010

On 08/02/10 01:48, Ion-Mihai Tetcu wrote:
> On Sat, 31 Jul 2010 16:27:30 -0700 Doug Barton <dougb at FreeBSD.org>
> wrote:

>> I often get the request for this feature (a -r that doesn't
>> rebuild the port) but have never found the time to work on it. I'll
>> try to get around to it soonish.
> Can't this be handled by using -x ?

No. From the very beginning portmaster has had the fundamental design
principle that whatever the "parent" port is (in this case, the port
that you're running -r for) will ALWAYS be built. Therefore none of the
"special case" tests (like -x or -i) are even applied to the parent port.

The good news is that I'm almost done testing a new version that allows
'portmaster -R -r foo-1.23' to skip rebuilding foo if it, all of its
dependencies, and all of the dependencies of the ports that depend on
foo (the upward search for -r) are all up to date. If anything in those
categories is out of date, then the parent port will get rebuilt just in

... and yes, if anyone cares, adding this option was just as much "fun"
as I thought it would be. :)  Part of the simplicity of portmaster
(what's left of it anyway) has always been this fundamental assumption
about the parent port. Providing for a case where the parent port might
not get rebuilt, testing for the reasons that might be true, and then
flagging the condition everywhere that needed to know about it, was
"interesting" in the bad sense of the word, but anyway it's almost done.
I'm testing it now.

> I'm totally confused about how -x should be used, I don't think I
> managed to make it do what I thought it would do more that once or
> twice. :)

Well not only does the ESP module for portmaster still need a lot of
work, I have unfortunately not yet developed the ability to respond to
questions you haven't sent yet. :)




	Improve the effectiveness of your Internet presence with
	a domain name makeover!    http://SupersetSolutions.com/

	Computers are useless. They can only give you answers.
			-- Pablo Picasso

More information about the freebsd-ports mailing list