# How can I update ports tree and upgrade ports while keeping KDE packages?



## crocket (Jan 25, 2012)

If I installed KDE packages from FreeBSD ISO and updated ports tree, I'd have to upgrade many ports using portmaster or anything else. But during the rebuild, even KDE packages are subject to be replaced. But rebuilding KDE takes 1~2 days even for powerful desktops. So I want to upgrade KDE only from each release of FreeBSD ISO. How can I prevent portmaster from upgrading KDE when rebuilding the ports and keep the system intact?


----------



## UNIXgod (Jan 26, 2012)

Sounds like something that regular expressions where invented for.


----------



## crocket (Jan 26, 2012)

*Not all kde packages have "kde" in their names.*

And if I just rebuilt packages except KDE ones, there would be problems.


----------



## jalla (Jan 26, 2012)

crocket said:
			
		

> How can I prevent portmaster from upgrading KDE when rebuilding the ports and keep the system intact?



You can move the package-info out of /var/db/pkg to prevent those packages from being upgraded. I.e.

```
mkdir /var/db/HIDDEN_PKG
mv /var/db/pkg/{foo,bar} /var/db/HIDDEN_PKG
```

Just make sure you catch them all


----------



## SirDice (Jan 26, 2012)

The above could result in dependencies getting installed/upgraded because the system thinks they're not installed. This could cause problems with KDE if it depends on anyone of those.


----------



## jalla (Jan 26, 2012)

Like I said - make sure you catch'em all.

In the case of KDE, I'd say it probably takes a few dryruns of portmaster to get it right.


----------



## crocket (Jan 29, 2012)

jalla said:
			
		

> Like I said - make sure you catch'em all.
> 
> In the case of KDE, I'd say it probably takes a few dryruns of portmaster to get it right.



How do I use portmaster to get it right?


----------



## jb_fvwm2 (Jan 29, 2012)

(Partial answer, test before using...) Use 
	
	



```
portmaster -d -B -P -i -g [FILE]/var/db/pkg/firefox-... var/db/pkg/gprename- ...[/FILE] # etc etc
```
 the 
	
	



```
-i
```
 usually works well to skip some upgrades, kdelibs for example. (or use -PP after waiting  a few weeks maybe, for the KDE stuff.)


----------



## piggy (Jan 30, 2012)

crocket said:
			
		

> How do I use portmaster to get it right?


You can't, becouse FreeBSD lack decent package management. So you can't do what you want to do (update all but KDE) and you have just three choices:

1) Spend a week to recompile all (and pray everything went fine considering Portmaster and Portupgrade are far from perfect)

2) Do not update all your packages but base security/kernel/world packages (using freebsd-update when needed)

3) Write to the Foundation and ask for better package management; like this is now, FreeBSD is quietly not usable if you want to keep your packages up to date and you don't want to spend your life doing updating/upgrading it and you want some control over it (like choose not to upgrade KDE but upgrade all the others).

There are recent threads in this section of the forum explaining about this subject. Check them out and good luck.


----------



## crocket (Jan 30, 2012)

piggy said:
			
		

> You can't, becouse FreeBSD lack decent package management. So you can't do what you want to do (update all but KDE) and you have just three choices:
> 
> 1) Spend a week to recompile all (and pray everything went fine considering Portmaster and Portupgrade are far from perfect)
> 
> ...



I want to upgrade KDE only when new KDE packages come bundled with a new release of FreeBSD. Is it possible?


----------



## piggy (Jan 30, 2012)

crocket said:
			
		

> I want to upgrade KDE only when new KDE packages come bundled with a new release of FreeBSD. Is it possible?


In simple words: no, you can't, for dependency reasons. If one of your packages share some dependencies with KDE and you update the depend and not the excluded package, the excluded package coundn't work. And Portmaster is not even that intelligent to point the problem to you (lack of official build system, remember Portmaster and Portupgrade are third party apps).

You can try with the Portmaster "-x" option (check the man page), then it will not work becouse of what I said before.

"-x" option is the option to exclude some package from the Portmaster run.

Example:


```
portmaster -a -B -x kde4-base
```

This very basic string will update all your packages but kde4-base (and it avoid the backup of the previously installed package to save disk space) then it will probably not work or broke you Kde becouse some updated dependencie will not work with the not updated Kde. And, as I said before, I doubt Portmaster will point you at the problem.


----------



## crocket (Jan 30, 2012)

Is it possible to upgrade ports including KDE ones and to install KDE packages from a new release of FreeBSD ISO with portmaster?
I can still upgrade using packages even after I upgraded KDE using ports, right?


----------



## piggy (Jan 30, 2012)

crocket said:
			
		

> Is it possible to upgrade ports including KDE ones and to install KDE packages from a new release of FreeBSD ISO with portmaster?
> I can still upgrade using packages even after I upgraded KDE using ports, right?


You can do that with portmaster or with sysinstall/Upgrade option or Pkg_add pointing the tool you choose to the DVD source.

The problem is packages on RELEASE branch are updated like every cycle release, so like one time in a year. It is different with STABLE release, then you can still call it a proper update like with other, more modern in this field, OS (rolling Linux release, Windows, even OpenSolaris).

You have to remember that packages in FreeBSD is third party and NOT part of the OS, and tools to build packages and to install/update them are third party, so is where the problems arise.

If you need a up to date system with not too much effort, FreeBSD is not your right choice, for now.


----------



## gkontos (Jan 30, 2012)

crocket said:
			
		

> Is it possible to upgrade ports including KDE ones and to install KDE packages from a new release of FreeBSD ISO with portmaster?
> I can still upgrade using packages even after I upgraded KDE using ports, right?



No, you can't because your ports tree will not be in synch with a FreeBSD RELEASE DVD. 
Also, don't use sysinstall anymore because it is depreciated. 

What you can do is use any of the available tools like ports-mgmt/portupgrade or ports-mgmt/portmaster and specify that you prefer to use packages instead of ports. In order to do that you will have to override the default behavior of PACKAGESITE to point to a STABLE distribution. For more information checkout the handbook.

While mixing ports with packages is not a good idea, it wouldn't hurt if your ports were build using the default options. Also, the packages for the STABLE branch are updated very often.

What you shouldn't do is listen to piggy's advices because you will end up with a broken system.

Regards,
George


----------



## piggy (Jan 30, 2012)

gkontos said:
			
		

> No, you can't because your ports tree will not be in synch with a FreeBSD RELEASE DVD.
> Also, don't use sysinstall anymore because it is depreciated.
> 
> What you can do is use any of the available tools like ports-mgmt/portupgrade or ports-mgmt/portmaster and specify that you prefer to use packages instead of ports. In order to do that you will have to override the default behavior of PACKAGESITE to point to a STABLE distribution. For more information checkout the handbook.
> ...


Whats wrong with my advice? It makes sense considering package manegement in FreeBSD do not make sense.

BTW, I just explained to the user all the possible choice, I know very well Sysinstall is crap, so why is it still there? If you want we can expand and say all the whole FreeBSD install is very old and dated then I don't want to go too much OT like you did.


----------



## gkontos (Jan 30, 2012)

piggy said:
			
		

> Whats wrong with my advice? It makes sense considering package manegement in FreeBSD do not make sense.



No, it appears that although you are involved with FreeBSD since 1994, you are still unaware that packages are maintained and build irrelevantly from the RELEASE.

I tried to explain that to you, I also referred you to the handbook. I even provided you with the link where you can download fresh packages. You are either so incompetent or you are just too bored to read.  



			
				piggy said:
			
		

> BTW, I just explained to the user all the possible choice, I know very well Sysinstall is crap, so why is it still there?



No, you gave a new user the wrong advice. Suggesting a tool that is considered depreciated is wrong advice.
You can't explain any procedure because you simply lack any knowledge.



			
				piggy said:
			
		

> If you want we can expand and say all the whole FreeBSD install is very old and dated then I don't want to go too much OT like you did.



Nobody is forcing you to use FreeBSD. If you don't like it just toss it. If you have suggestions then go ahead and post on the mailing lists. Go ahead and share your views with the developers. Just be warned that people might not be that polite when they answer back to someone with your attitude.

This forum is for providing help with FreeBSD to new users. Your recent experience with ports-mgmt/portmaster has made you hijack every thread regarding upgrading/updating ports, blaming an OS for your incompetence  when using a tool. You are not helping other users that way.


----------



## piggy (Jan 31, 2012)

gkontos said:
			
		

> This forum is for providing help with FreeBSD to new users. Your recent experience with ports-mgmt/portmaster has made you hijack every thread regarding upgrading/updating ports, blaming an OS for your incompetence  when using a tool. You are not helping other users that way.


Have you read the threads? Many and many times people say the same things I do. They just are less confortable with the FreeBSD intifada of some users of this forum, and they are less confident with BSD in general, so they are more shy to explain things.

For the rest of your post, it don't even deserve to be considered. Then I will offer my life becouse you can write what I consider your upset/intafada things.


----------

