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.

Reply via email to