portmaster-with-package-support release candidate available for testing

Doug Barton dougb at FreeBSD.org
Thu Dec 17 22:10:32 UTC 2009

Alberto Villa wrote:
> On Saturday 12 December 2009 05:55:09 Alberto Villa wrote:
>> good... thanks for listening to me! i could have some question/suggestion
>> about --packages-build and --delete-build-only in the future, but i need
>>  some real usage to test it, now...
> hello again :)
> here's my question/suggestion: i install port A which has a build only 
> dependency on B; B has a run dependency on C. if i use --packages-build (--
> delete-build-only as well), shouldn't C be installed from a package (deleted 
> at the end, as well)?

As the code stands now, no. In an ideal world (which is what I think
you're actually asking about) it should be, yes.

> have a look at http://pastebin.ca/1718723 for an 
> example: textproc/p5-XML-Parser should be pkg_added (and removed) imho
> perhaps it's just too difficult to implement, or you don't have time... tell 
> us if you need more funding. apparently, it shouldn't be a hard task...

Since you asked, the amount of time I've already put into the package
code has far exceeded the support received, which is something I
expected would happen so I'm not overly concerned about it. But you
did ask. :)

As for your request, on the tail end (--delete-build-only) I think
that a solution would not be too difficult, I could parse the
+REQUIRED_BY file for each newly installed port and if the only things
depending on it are in the build_only list it could be deleted. I'll
look into that.

On the front side (--packages-build) it's much harder. As it stands
now portmaster already uses a depth-first traversal of the dependency
tree so it "knows" that p5-XML-Parser is related to intltool (in your
example) but it has no way to know that it is ONLY related to intltool
after it "comes back up" the dependency tree and starts
building/installing everything. To make sure that I didn't leave
someone with a broken installation I tried to be super-duper cautious
with the --delete-build-only stuff, so if _anything_ lists a port as a
run dep it comes out of the build dep list. I suppose I could look
into adding code to track what dependencies are related to build-only
things, but a cursory examination of the code doesn't lend itself to
an easy solution (yet).

BTW there is another regularly-occurring example of the problem you
described with the auto* stuff, so I was aware of the problem, but I
was focusing on the difficulty of the front end aspect and didn't
"see" that the --delete-build-only part of the problem might have an
easier solution. Thanks for poking me on this.

FYI I have one changed queued atm to allow --packages-build and
--delete-build-only to work with -a, and to slightly simplify using
either option in .portmasterrc. I was actually going to commit that to
svn and the port this afternoon but I'll just do svn for now and see
if either of the two things you suggested are easy enough that I can
knock them out quickly.

> thanks anyway for the work you've done so far, portmaster is performing 
> greatly on my fresh 9-current! :)

Nice to hear that, thank you for the report; and thanks again for your
feedback and suggestions. :)


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

More information about the freebsd-ports mailing list