PORT-SELFUPDATE(1)

NAME
port-selfupdate - Upgrade MacPorts itself and update the port definition files.

SYNOPSIS

port [-qvdf] selfupdate [--no-sync] [--migrate] [--rsync]

DESCRIPTION

port selfupdate checks for new releases of MacPorts and upgrades it when necessary. selfupdate also updates the local port definitions (the so-called ports tree) to the latest state so you have the latest versions of ports available. This part of the operation corresponds to port-sync(1).

You should regularly run selfupdate to update your local port definitions. Running selfupdate is required to get updated software with bug fixes and new features.

OPTIONS

--no-sync
    Only check for updates - and install if available - for MacPorts itself. Do not update the ports tree.

--migrate
    Rebuild even if no new version is available, upgrade if a new version is available. Contrary to -f, this flag will prevent downgrades. This flag is useful when upgrading to a newer macOS major version.

--rsync
    Use the older rsync method for downloading the new version of MacPorts. The default is to try HTTP(S) first, and use rsync only if that fails.

GLOBAL OPTIONS

Please see the section GLOBAL OPTIONS in the port(1) man page for a description of global port options.

-q
    Suppress status output, be as silent as possible.

-f
    Do not check whether the downloaded MacPorts version is newer than the currently installed one, but always rebuild and reinstall MacPorts. You can use this to downgrade from a beta or development version to the latest release. Note that there is no guarantee that no incompatible and irreversible changes have been made to MacPorts' internal data structures, which can make downgrading impossible.

EXAMPLES

When no new versions are available, selfupdate looks like this:

    $ sudo port selfupdate
    --->  Checking for newer releases of MacPorts
    MacPorts base version 2.12.0 installed,
    MacPorts base version 2.12.0 available.
    ---> MacPorts base is already the latest version
    ---> Updating the ports tree

If selfupdate detects that a newer version of MacPorts is available, it attempts to update your copy to this version. In that case, the output will be different:

    $ sudo port selfupdate
    --->  Checking for newer releases of MacPorts
    MacPorts base version 2.6.0 installed,
    MacPorts base version 2.12.0 available.
    ---> MacPorts base is outdated, installing new version 2.12.0
    ---> Updating the ports tree
    --->  Attempting to fetch MacPorts 2.12.0 source code from https://github.com/macports/macports-base/releases/download/v2.12.0/MacPorts-2.12.0.tar.bz2
    --->  Extracting MacPorts 2.12.0
    --->  Installing new MacPorts release in /opt/local as root:admin; permissions 0755

TROUBLESHOOTING

If selfupdate fails, it usually does so in one of two places: The network connection, or the installation of the update.

Network Problems
    MacPorts uses the rsync protocol to update its ports tree to the latest version. This will fail if you are on a network that blocks TCP connections to the rsync port 873. Talk to your network administrators and ask them to allow connections to port 873 if this happens to you. Alternatively, you can just download a new installer .pkg from macports.org and run that to upgrade your installation.

    Network connection problems might also affect you if you are in a country with US export restrictions. We suggest using one of our other mirrors[1] outside of the US in these cases.

Compilation Problems
    When a problem occurs while building and installing the new MacPorts version, you will see the message

        Error installing new MacPorts base: command execution failed

    To find out what went wrong, re-run selfupdate with the -d flag. This will allow you to see all output generated by the build system. Look for the first occurrence of “error”. If you cannot figure out what’s wrong on your own, feel free to ask on the macports-users mailing list[2] and attach the output generated by

        $ sudo port -d selfupdate

SEE ALSO

port(1), port-sync(1)

AUTHORS

    (C) 2014-2020 The MacPorts Project
    Clemens Lang <cal@macports.org>

EXTERNAL REFERENCES

1.  mirrors
    https://trac.macports.org/wiki/Mirrors#MacPortsSource

2.  the macports-users mailing list
    mailto:macports-users@lists.macports.org