portmaster [was: New /bin/sh based script to manage ports]

Doug Barton dougb at FreeBSD.org
Tue Feb 14 18:10:43 PST 2006


Hans Lambermont wrote:
> Doug Barton wrote:
> 
>> I've been working on a new script to manage ports. I've put up a web
>> page about it at http://people.freebsd.org/~dougb/portmaster.html
> ...
>> Comments welcome,
> 
> You asked for it ;-)

Yes, and thanks for your suggestions.

> - Read in /usr/local/etc/pkgtools.conf, use HOLD_PKGS, ALT_PKGDEP,
>   MAKE_ARGS, BEFOREDEINSTALL, AFTERINSTALL
>   This makes is far easier for users to switch from portupgrade to
>   portmaster.

This is unlikely to happen, as my goal is not to provide a replacement for
portupgrade. Rather, my goal is to have a much more minimalistic approach to
port management based on using the infrastructure that's in the ports
already, and focused on keeping dependency tracking up to date without
having to deinstall and rebuild ports "above" the port that needs updating.

That said, I do plan to have a look at portupgrade before I create a version
of portmaster to add to the ports tree. I think that there are some options
and ideas (such as the -m option) that are worth looking at there, and I
would like to learn from the experience that's gone into that tool to avoid
completely reinventing the wheel.

> - New option to 'make config' on all target ports before starting the
>   first build.
>   This should make it possible to have large uninterrupted builds.

This is a good suggestion, I'll look into it. I'm also planning to request
that bsd.port.mk grow a new config target to only run 'make config' if there
are new options to consider, as that would save time/aggravation as well.

> - New option for -l : draw a dependency graph of the entire build order.

I would welcome patches to this effect. :) Seriously though, what you're
asking for is much more complex of a project that I'm willing to tackle at
this time, and I think it really belongs in a different application.
Dividing the installed ports into the 4 categories that I do for -l gives a
pretty good view of what you have installed, at a very minimal cost.
Anything more complex gets more complex in a big hurry.

> - New option to show what would be done and in what order, a.k.a. 'dryrun'.

Does the -n option not suit your needs here? I've debated with myself
whether or not to make -n avoid building the first port when it's invoked
without -a, but I regularly run 'portmaster -an' to see what needs updating
after I csup my ports tree.

> And minor :
> 
> - New option to echo portmaster script version.

QED.

> - Add http://dougbarton.us/portmaster.html url to usage().

Probably not, I plan to write a man page for it before I create the port,
which I plan to do before the freeze. Once that's done, the web page won't
contain any new information, although I plan to leave it up for a while.

> Oh, and thanks for writing portmaster :) Keep up the good work.

Thanks. :)

Doug

-- 

    This .signature sanitized for your protection



More information about the freebsd-ports mailing list