Forcing a recompilation of an installed port without uninstalling

Lawrence Velázquez larryv at
Tue Jan 20 12:27:56 PST 2015

On Jan 20, 2015, at 3:15 PM, René J.V. Bertin <rjvbertin at> wrote:

> On Tuesday January 20 2015 14:22:23 Lawrence Velázquez wrote:
>> And `port upgrade` preserves the variant selection of the currently-installed port, while the other subcommands do not.
> Hmm, how? By looking at the registry or by looking at the .macports*state file if it exists?

By looking at the registry. If you have `foo +a` installed, running `port upgrade --force foo` will reinstall `foo +a`. To get the same behavior "manually", you'd have to explicitly do something like

    % sudo port destroot foo +a
    % sudo port deactivate foo
    % sudo port install foo +a

> It happens that I change a variant in there and then clean the state up to and including the configure step, before proceeding to the destroot and afterwards an uninstall/install. But mostly I simply rebuild the code after point changes to the source directory, so an upgrade would be fine.

I don't really understand where the state file comes into this. We are talking about rebuilding and reinstalling a port that is already installed.


More information about the macports-dev mailing list