// vim: set et sw=4 ts=8 ft=asciidoc tw=80: port-selfupdate(1) ================== $Id: port-selfupdate.1.txt 123948 2014-08-16 13:45:03Z cal@macports.org $ NAME ---- port-selfupdate - Upgrade MacPorts itself and update the port definition files. SYNOPSIS -------- [cmdsynopsis] *port* [*-qvdf*] *selfupdate* [--nosync] 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 man: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 ------- *--nosync*:: Only check for updates - and install if available - for MacPorts itself. Do not update the ports tree. include::global-flags.txt[] *-q*:: Supress 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 there have not been made incompatible and irreversible changes to MacPorts' internal data structures, making a downgrade impossible. EXAMPLES -------- When no new versions are available, *selfupdate* looks like this: [subs="verbatim,attributes"] ---- $ sudo port selfupdate ---> Updating MacPorts base sources using rsync MacPorts base version {manversion} installed, MacPorts base version {manversion} downloaded. ---> Updating the ports tree ---> MacPorts base is already the latest version ---- 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: [subs="verbatim,attributes"] ---- $ sudo port selfupdate ---> Updating MacPorts base sources using rsync MacPorts base version 2.3.0 installed, MacPorts base version {manversion} downloaded. ---> Updating the ports tree ---> MacPorts base is outdated, installing new version {manversion} Installing new MacPorts release in /opt/local as root:admin; permissions 755 ---- 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 sources 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 wiki:Mirrors#MacPortsSource[mirrors] 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 occurance of ``error''. If you cannot figure out what's wrong on your own, feel free to ask on mailto:macports-users@lists.macosforge.org[the macports-users mailing list] and attach the output generated by + ---- $ sudo port -d selfupdate ---- SEE ALSO -------- man:port[1], man:port-sync[1] AUTHORS ------- (C) 2014 The MacPorts Project Clemens Lang