upgrading MacPorts after updating from 10.6 to 10.9

Clemens Lang cal at macports.org
Tue Feb 18 07:35:06 PST 2014


> I'm in the post-OSX-upgrade phase and wonder if MacPorts couldn't be updated
> by doing the usual "port selfupdate && port upgrade outdated" sequence -
> possibly with -f and -p to have the process come through?

First: -p is considered harmful when installing ports. That's because MacPorts usually ensures all its dependencies are upgraded to the current version before upgrading a port. With -p, if a dependency fails to build, MacPorts will happily continue on to the dependent port, building it against the older version of the dependency. That might fail unexpectedly, or defy the point of the upgrade, if it was a revision bump to rebuild against a newer version of library, or it might actually work but lead to problems later on when mixing this port with binaries built by our buildbot which expect the newer dependency version. So, in summary, don't use -p unless everything you do is download stuff (which is really the only reason why it's there in the first place).

You might be able to get around re-installing MacPorts itself by running sudo port -f selfupdate, which will make sure your version of MacPorts base is built on Mavericks and for Mavericks.

As for the ports, avoiding Migration is probably not possible, especially because of the drop of libtool .la files when updating to Mavericks. Deleting only half of them leads to numerous problems and failed build, only deleting them all at once will work fine. Now, obviously since MacPorts upgrades all dependencies before attempting to upgrade a port itself, all .la files used by a port should theoretically be gone by the time MacPorts rebuilds a port. In practice, automagic dependencies (i.e. dependencies that are picked up and used when present) will rain on your parade at this point. Though it technically it is a bug to have automagic dependencies in a MacPorts port, there still are many that do.

Safe yourself some trouble and follow migration. If you'd like to automate the process use the script from the "Automatically reinstall ports" ports paragraph at http://trac.macports.org/wiki/Migration#automatic.

Clemens Lang

More information about the macports-users mailing list