# upgrade software with portupgrade ?



## miniqq (Mar 27, 2010)

Hi all,
   if a software was installed by binary packages , how to upgrade it with binary package by the upgrade tools like portupgrade or portmaster and so on ??
And if a software was installed by ports, how to upgrade it with ports by the same upgrade tools ??
How to do that ? I can't found any arguments about that in `# portupgrade` and  `# portsmaster` .
Please !


----------



## fronclynne (Mar 27, 2010)

If you mix packages and ports, you will be sorry when you go to upgrade: you will have to go very slowly and carefully passing lots of -x pkg_glob arguments.  You will lose a ton of hair.

The way to upgrade packages with packages in portupgrade is with the -PP(sic) flag.  portmaster seems to want --packages-only.

(addendum:  I see that portmaster seems to accept the -PP syntax as well, good luck)


----------



## mdg583 (Mar 27, 2010)

pkg_upgrade in bsdadminscripts (in ports) works pretty well for me for binary upgrades. But I don't think that is what you are looking for.


----------



## miniqq (Mar 27, 2010)

Thanks !

Because on my box, some software was intalled by making port,and other by pkg_add, But I want to upgrade them in a same way.(Installed by ports ,upgrade by ports; Installed by pkg_add , sure upgrade by pkg_add again. I think this way is nice.)

But I found the freebsd package manage system do not mark where the package come from ( by make port OR by pkg_add) !

So, maybe it's a stupid question (request)!


----------



## DutchDaemon (Mar 27, 2010)

Ports and packages are 'installation containers'. Once a port or a package is installed, there's no way to discern between them. So no upgrade tool knows whether it was originally a port or a package. So either migrate to ports-only or to packages-only. Note: both portmaster and portupgrade have the *-P* option ('use a port unless there's a package'), but this will give you a ports-only system over time anyway.


----------



## fronclynne (Mar 28, 2010)

And besides insanely long compilation times (I'm glaring at you, openoffice), packages will upgrade through the ports system just fine, so long as you are careful to read /usr/ports/UPDATING and keep a close eye on the mailing lists and forums for ugly gotchas.


----------



## nu2fbsd (Mar 29, 2010)

This is something new that I have come to know about. Even though I had installed kde4 using 
	
	



```
pkg_add -r kde4
```
 the kde support site for FreeBSD says 
	
	



```
portupgrade -NPR kde
```
 would upgrade my kde.


----------



## Caliante (Apr 5, 2010)

fronclynne said:
			
		

> If you mix packages and ports, you will be sorry when you go to upgrade: you will have to go very slowly and carefully passing lots of -x pkg_glob arguments.  You will lose a ton of hair.



Forgive me for being a noob but I have been struggling with this for years, in order to understand. What you write is replicated in many places, but just to try to understand what you write: does it implicate you *either* use ports *or* packages but never both at the same time?

I am sure if you wise men say so there is truth in that, but as a noob I fail to see the logic from a systems point of view: after all, many times you can just install a package, other times a package just isn't available and you will need to use a port. If the rule is 'either one of them but never both of the same time' you will loose functionality.

Would anybody be willing to explain this in clear terms (for once and for all)?

Thank you :e


----------



## foldingstock (Apr 5, 2010)

Caliante said:
			
		

> Forgive me for being a noob but I have been struggling with this for years, in order to understand. What you write is replicated in many places, but just to try to understand what you write: does it implicate you *either* use ports *or* packages but never both at the same time?
> 
> I am sure if you wise men say so there is truth in that, but as a noob I fail to see the logic from a systems point of view: after all, many times you can just install a package, other times a package just isn't available and you will need to use a port. If the rule is 'either one of them but never both of the same time' you will loose functionality.
> 
> ...



I have run into a few issues in the past with dependency errors caused by mixing ports/pkgs. They can be mixed, but sometimes it causes problems. 

I may be wrong, but I believe it is recommended that you either use one or the other.


----------



## fronclynne (Apr 6, 2010)

@Caliante:

The essence is that if you want to keep the (software installed as) packages _as packages_, you will have to go to a *lot* of trouble.  If you don't actually care, then you should upgrade with the -P (for portupgrade, anyway) flag and let the tools take care of that.  Eventually you will be using an almost completely ports (as opposed to packages) system, but if you can deal with the compilation times, you will be fine.

(openoffice is a completely different monster, since it takes many hours and  12G of space to compile.  always install that monster from packages, if you can.)


----------

