Hi Richard,
last week I did a test and it worked, but it was not what I needed.
Probably it was a port already in need to upgrade.
I have a system now where all ports are up-to-date (as of "port outdated").
If I issue e.g.
port -n upgrade --force --no-rev-upgrade gtk2
It takes it time to recompile gtk2... I actually see "Building gtk2" [* * *]
If I do
port -n upgrade --force --no-rev-upgrade harfbuzz
it completes in a matter of seconds... and the ol' MacBook isn't that
fast :)
I see cleaning, uninstalling, cleaning, installing activating,
cleaning... but never configure/building!
Why?
Regards,
Riccardo
Richard L. Hamilton wrote:
To explain:
-n prevents rebuilding ports that the ports being upgraded (works with install
too I suppose, but there should be no need for that) depend on; it may cause
failure if they're not already installed and up-to-date
--force forces upgrading even of a port that's current; but without the -n,
that would apply to everything it depends on too, which is slow and might cause
more problems (esp. if there are issues with any of the build tools used)
--no-rev-upgrade because while the check for broken ports is usually good, it
might get in the way in this sort of situation; and because one might be
repeating the command one port at a time for more than one port (separate
commands so it tries them all even if one fails), and since the check is a bit
slow, that saves time
This is rather far down the list of what one should try, because normally -n is not a
good idea (although it can make sense to limit --force), and because ideally one would
just do "port upgrade" and let it sort out what needs doing. But clearly it
helps sometimes when things aren't right and you don't want to do more than necessary.