What is MacPorts doing?

Rainer Müller raimue at macports.org
Sun Apr 5 03:46:29 PDT 2009


On 2009-04-04 04:36, Frank J. R. Hanstick wrote:
> 2) Don't upgrade installed which checks all the installed to determine
> what is to be upgraded and upgrade outdated which checks all the
> installed to determine what is to be upgraded essentially be the same?

installed and outdated are both pseudo-ports. That means, they expand to
a list of ports on invocation. The installed list is always longer than
the outdated list, of course.

So when passing port upgrade the installed pseudo-port, it is actually
doing upgrade on a list of ports. That means, it computes and follows
dependencies for each of them and checks for ports that need an upgrade.

So if you pass installed, it will check some ports over and over, as
they are referenced by many other ports. When passing outdated, it only
needs to check the dependencies of a small number of ports.

The computation of outdated ports only needs to walk once over each
installed port and is much faster than letting upgrade figure out which
dependencies actually need an upgrade.

But actually, both should result in the same. It's only the time for
walking dependencies that matters.

Rainer


More information about the macports-users mailing list