# portupgrade question



## bany (Nov 18, 2009)

Ive searched the forum but couldnt find an answer to this..

consider this scenario:

pkg B depends on pkg C
pkg K depends on pkg C as well, and

now: 1) whats the difference between

portupgrade -R pkg_B

and

portupgrade pkg_B

? pkg C, upon which pkg B depends, wouldnt be rebuilt anyway?

and 2)

when I 'portupgrade -R pkg_B', and pkg_C is rebuild, what about pkg_K??? how can it be rebuilt as well? and if it is not, will it run anyway, considering he depends on pkg_C, which has been upgraded?

hope some1 can make this clear to me  thanks


----------



## SirDice (Nov 18, 2009)

1) correct 

2) tricky. It's been a while since I've used portupgrade. I guess the best way to do it would be to `# portupgrade -rR pkg_C`.


----------



## bany (Nov 18, 2009)

yep but the problem is that this is just a simplification..

normally you have a pkg depending on several others.. each depending on other as well.. on which other may depend..

consider gimp or gnome.. xfce or something like that.. maybe if I portupgrade something minor, it rebuilds, say, libjpeg or similar.. and who tells gimp that libjpeg has changed??

is there a way to upgrade a package, every package it depends on, and every packages that depends as well on every single package that is going to be rebuilt.. and so on nesting and nesting?

seems to me that the only way to maintain consistency would be to rebuild everything.. but theres something im missing..


----------



## DutchDaemon (Nov 18, 2009)

You will only need to 'rebuild everything' when /usr/ports/UPDATING mentions it. And then that same file will tell you how to do that in portupgrade and portmaster.


----------



## SirDice (Nov 18, 2009)

If you just have one system I'd take the route DD said. I myself however build packages for all my other systems. To prevent dependency issues during pkg_add, "Port Y-1.2.3 needs X-1.0.1 to be installed but X-1.0.0 is already installed" type messages, I just rebuild everything from scratch in a clean jail.


----------



## bany (Nov 20, 2009)

you mean that if im upgrading, say, gimp, UPDATING will tell you "hey watchout, gimp rebuilds libjpeg so you have to portupgrade -r libjpeg"?


----------



## vivek (Nov 20, 2009)

portmaster is much better and does not depends upon ruby and other stuff. The will will upgrade every port to laster version

```
portmaster -Da
```


----------



## DutchDaemon (Nov 20, 2009)

bany said:
			
		

> you mean that if im upgrading, say, gimp, UPDATING will tell you "hey watchout, gimp rebuilds libjpeg so you have to portupgrade -r libjpeg"?



Yes.


----------

