Annoying example: the gcc3 upgrade. When gcc3 recently changed libstdc++ versions from 3 to 4, an 'emerge prune gcc' removed libstdc++.so.3 without so much as a tip of the hat to the several installed packages which were linked against that library. That makes twice in the past few days I've had to go thru and figure out which packages use the c++ libraries and re-compile them all by hand. The very same prune removed /usr/bin/makeinfo and install-info because they were part of gcc2.x (why is that, anyway?) and of course other ebuilds use those two items to install their info files, so they didn't build either. I had to copy the binaries from another gentoo box before I could continue.
From http://www.gentoo.org/doc/portage-manual.html : " Portage also supports a package prune action. The prune action is an unsafe form of the clean. It removes all versions of all packages except for the last installed version. It does not perform many of the checks clean performs and can remove essential dependencies from your system. Users of this option can easily break their systems and its use is not recommended except in specific specialized circumstances. " Also please note prune/clean will not protect you against the unmerging of multiple gcc revisions for the following reasons: - Upgrading from 2.95.x to any version of gcc 3.x without a complete recompile of your system from the ground up will break your system due to the changing of the C++ ABI and binutils incompatibilities - Upgrading from gcc 3.0 to 3.1 without a complete recompile will break your system for the same reason - makeinfo and such were bundled with gcc 2.95.x... This is no longer the case with gcc 3.x and we are working to update dependencies accordingly. - you cannot switch back and forth from 2.95.x to 3.x and back without a complete system recompile gcc 3.x and any distribution is highly experimental right now and many packages are broken due to upstream bugs and major changes in gcc and binutils... Also due to the highly sensitive nature of a distribution like gentoo and its compiler the compiler version is tied into the base system profile and clean/prune cannot protect you from messing with the base system profile.