And remember to run revdep-rebuild afterwards to see if anything is broken.
I had to re-emerge amarok, but everything else seems to be working ok._________________So here I am once more in the playground of the broken hearts.

seems for you, some packages depend on kde-base/kdelibs-3.5.2-r6, wich need kde-env.
so, try to find out wich package that is_________________The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice.

Looks like you are mixing arch and ~arch packages. One of the arch packages is drawing in kdelibs-3.5.2 and trying to downgrade your installed kdelibs.

Quoted for emphasis. The old kdelibs needs kde-env, the new doesn't. As you canNOT install kdelibs-3.5.2 and kdelibs-3.5.4 in parallel, fix you package.keywords so that you only install either stable or unstable kde packages.

I don't understand. If it wont get into world file, it won't get updated by emerge -uDN world when there will be newer version available (e.g with security fix or additional features) and you will be stuck with this version till next explicit emerge of this package. Who's gonna remember which package was "oneshotted" with hundreds of packages in our systems? Am I missing something?

I don't understand. If it wont get into world file, it won't get updated by emerge -uDN world when there will be newer version available (e.g with security fix or additional features) and you will be stuck with this version till next explicit emerge of this package. Who's gonna remember which package was "oneshotted" with hundreds of packages in our systems? Am I missing something?

That commandline will update everything, including "oneshotted" packages and other dependencies. The 'D' switch forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a package.

You edit /etc/portage/package.keywords, and you add each package you want to use unstable. In my case, I added:
>=kdebase/kdexxx-3.5.4 ~x86

where xxx is the kde package I was installing. I don't think you can use wildcards in package.keywords, so you need to specify each KDE package (use metapackages).

Also, make sure you don't miss one, and have something like kdenetwork using a 3.5.2 version, while the rest is 3.5.4. This was giving me the kde-env dependency problem.

I use >=, so that as the revisions increase, eventually my system will be using the stable packages, instead of always upgrading to the latest and greatest. Otherwise, unstable packages will require other unstable packages, and after a couple years your system is full of them, and all the inherent problems. You just can't get back to the stable branch very easily._________________"The problem with the world is that fools and fanatics are always so sure of themselves while wiser people are so full of doubt."
- Bertrand Russell

This would make every package you install the unstable branch, not just KDE._________________"The problem with the world is that fools and fanatics are always so sure of themselves while wiser people are so full of doubt."
- Bertrand Russell

You ask nicely and get a package list off someone like me - there's a fairly complete one at http://allenjb.me.uk/files/kde - add that to /etc/portage/package.keywords. Note that that file is design to be used on systems where you're using the -meta packages. It doesn't contain the monolithic KDE packages.

Tip of the day: Did you know that /etc/portage/package.* can now be directories containing multiple files. In this case you might want to do the following: