Getting rid of port binaries in /software

Clemens Lang cal at macports.org
Tue May 17 14:15:41 PDT 2016


On Tue, May 17, 2016 at 10:58:56AM -0400, Nicolas Martin wrote:
> I have looked for real answers regarding this question through the
> mailing list, but did not really understand the purpose of these
> files.

MacPorts always keeps a tarball of the files installed by a certain
port in this directory. This allows you to switch between installed
versions or between ports that would otherwise conflict without
re-installing them completely. port activate/port deactivate implement
this.

The rationale here is that after an update you can test the updated
version of a software for a while, and if you notice it causes problems
you can file a ticket and easily go back to the old version with a
simple
  sudo port activate @oldversion

MacPorts used to keep these files in a directory and just hard-link them
into $prefix, but that (a) means modifications to files in $prefix
affect the supposed-to-be prinstine copy, and (b) isn't easy to download
as pre-built binary. For this reason, we switched to tarballs a while
back and now provide pre-built binaries for some of these tarballs.

> I have almost 5Gb of archives (tbz2) in
> /opt/local/var/macports/software.

You seem to have quite a few ports installed. My software directory is
3.4G with 652 installed ports.

> I have already run the port uninstall inactive command, so from my
> understanding, what remains in this path is from currently active and
> used ports.

Correct.

> What I don’t understand, and does not seem to be clear from any posts
> I have read regarding the matter, is why should these archives be
> kept?

If you delete those archives you can no longer deactivate and
re-activate a port. In addition to the use case above, this is also
helpful when one of the files installed by the port was corrupted for
some reason -- just de- and re-activate it.


-- 
Clemens


More information about the macports-users mailing list