force rebuild a port

Riccardo Mottola riccardo.mottola at libero.it
Fri Apr 5 16:36:24 UTC 2024


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.



More information about the macports-users mailing list