# what is real different between portupgrade -R and make deinstall and install



## mfaridi (Feb 7, 2009)

what is real different between portupgrade -R and make deinstall and install ?

for example if new version of Firefox is come which one is better and why

portupgrade -R 

make deinstall clean && make install clean


----------



## SirDice (Feb 7, 2009)

Make deinstall/install will only upgrade that particular port. Portupgrade -R will also upgrade it's dependencies.


----------



## DutchDaemon (Feb 7, 2009)

Note: its '*upward*' dependencies, i.e. the ports it depends on. You hardly ever need that, usually only when /usr/ports/UPDATING suggests it.


----------



## kamikaze (Feb 7, 2009)

Actually you should always use -R with portupgrade when updating a particular port, to make sure everything it depends on is up to date.

UPDATING suggests -rf when something that lots of ports depend on is updated and has a library version number change and the depending ports do not get version bumped.

The -R flag is only not used very often, because people normally run [cmd=portupgrade]-a[/cmd].


----------



## mfaridi (Feb 7, 2009)

So I understand 

```
portupgrade -rf [ /code]
is better and best and safe way for upgrade packages than
portupgrade -R
```


----------



## kamikaze (Feb 7, 2009)

No, this depends on your scenario. For a leaf package _portupgrade -R_, for a library _portupgrade -r_. The _-f_ is only for rare cases.


----------



## Djn (Feb 7, 2009)

Or you can even go for -Rr. It might end up updating (quite a lot) more packages, but that's not necessarily a bad thing.


----------



## ale (Feb 7, 2009)

Djn said:
			
		

> Or you can even go for -Rr. It might end up updating (quite a lot) more packages, but that's not necessarily a bad thing.


On the contrary, it's good, because it will upgrade the port you specify, + (ports required by / ports that depend on ) that one. But only if they need to be upgraded.
IMHO, unless specified differently on UPDATING or you know what you are doing, _-rR_ are the options you should use.


----------

