Portmaster general questions and problems

b. f. bf1783 at googlemail.com
Mon Dec 27 05:13:45 UTC 2010


> I had been using portupgrade for several years and never had any
> problems and upgrading ports was quick and simple process every week.
> But, due to portupgrade no longer being maintained and failing to work
> anymore, I have switched to using portmaster and am having nothing but
> problems, so much so that I dread updating my ports.

It isn't that portupgrade is completely unmaintained, just that the
former author and other contributors are busy, and don't spend as much
time on it.  And there isn't as much pressure for them to do so,
because portmaster can now serve as a replacement for most purposes.

>
> I'm trying to figure out what I'm doing wrong or what I don't
> understand about portmaster.  I've looked on google and can't find any
> documentation that isn't just basic stuff or rehashes of the man pages
> (which are fine for reference, but not helpful in understanding how to
> use it).

This shouldn't be difficult:  portmaster isn't a clone of portupgrade,
but the command-line options and behavior of the two are similar.
Portmaster is actually somewhat easier to use because you don't have
to worry about the extra databases that portupgrade uses. The
portmaster manpage is fairly well written, and the EXAMPLES section
demonstrates most of what the average user will need.

>
> Here is an example of a problem I run into all the time:
>
> I went to update php and I got this:
>
> ===>>> Starting check for runtime dependencies
> ===>>> Gathering dependency list for devel/libltdl from ports
> ===>>> No dependencies for devel/libltdl
> ===>  Installing for libltdl-2.2.10
> ===>   Generating temporary packing list
> ===>  Checking if devel/libltdl already installed
> ===>   libltdl-2.2.10 is already installed
>       You may wish to ``make deinstall'' and install this port again
>       by ``make reinstall'' to upgrade it properly.
>       If you really wish to overwrite the old port of devel/libltdl
>       without deleting it first, set the variable "FORCE_PKG_REGISTER"
>       in your environment or the "make install" command line.
> *** Error code 1
>
> Stop in /usr/ports/devel/libltdl.
>
> ok, so libltdl-2.2.10 is already installed?  Why is that an issue?
> Why doesn't portmaster just happily skip it since it's already
> installed?  What am I not understanding here?  Or am I using portmaster
> wrong?

Remember that portmaster is just a helper script, and that it relies
on the ports infrastructure to perform many tasks, just as portupgrade
does.  So problems like this may occasionally arise from a problem
with portmaster, but more often they are a problem within the ports
tree itself.  Here you are probably running afoul of the recent
autotools changes.  Make sure that your entire ports tree is
up-to-date, and then read the 20101208 entry in ports/UPDATING and
follow the instructions there (or just deinstall all of the old
autotools -- the new versions should be automatically installed as
needed).  You should routinely read the latest entries in
ports/UPDATING before updates, as recommended, to avoid these kinds of
problems.

>
> Portmaster also doesn't seem to understand when ports are already
> up-to-date, so doing this:
>
> portmaster php5-*
>
> To update all the php5 ports causes portmaster to re-install things
> that are already up to date.  Is this expected behavior?  if so, how
> can I upgrade ports without typing each one my hand.  I'd rather not
> run portmaster with -a since I don't want to blindly update everything.

This is not the expected behavior, and portmaster is designed to avoid
the need for most individual updates, and to update as few ports as
possible by default.  In fact, it's default settings are more
conservative in this regard than are those of portupgrade. Are you
sure that it is actually doing more than is needed?  If you provide
build transcripts, and lists of what ports/packages are installed on
your machine, then we may be able to see if this is the case.

>
> Is there a good tutorial on portmaster somewhere that can help an some
> get started with it?  Is portmaster the best tool for updating ports?

Read the portmaster manpage, particularly the EXAMPLES section.  Yes,
right now portmaster is probably the best choice of updating software
for the average user in the Ports tree.  I use my own scripts, but
then I just want speed, and not all of the portmaster features, and I
can fix things when there are problems.

b.


More information about the freebsd-questions mailing list