On Tue, 2006-07-04 at 18:29 +0200, Robert Cernansky wrote:
> NR> new system, no gui installed.
> NR> 
> NR> I install kde-meta, which installs xorg-x11 as a dependency.
> NR> 
> NR> I decide I want gnome, I install gnome which doesn't install xorg,
> NR> because it is already installed.
> NR> 
> NR> I decide I do not want kde because i prefer gnome. I unsinstall
> NR> kde-meta. Under your scheme it would also uninstall xorg-x11. But
> that
> NR> is not what you want!
> 
> Hmm, it can be done with "garbage collector principe". Each
> package will have counter which increases when some package which
> depend on
> it is installed. Decreased, when the package is uninstalled. If
> counter is
> zero, "dependency" package can be uninstalled along with package
> specified
> for uninstalling.

No, that still doesn't work. When the user unmerges kde-meta, with your
proposal it will unmerge X11. The next step is that the user emerges
gnome which first emerges X11 back again. This isn't so bad with a
binary distro if the packages are on a CD, but on gentoo it's murder.

The only sane thing to do is to emerge dependencies when required and
unmerge only thinks specifically asked for to be unmerged. You can't
even reliably prompt the user with a dialog that says "The following
dependencies of the package about to be unmerged are needed by no other
package. Shall they be unmerged?" because of *deep* dependencies.
Reverse constructing a multi-node tree and applying logic to it is no
joke, hence the wise decision to have portage ignore this amazingly
efficient bug-injecting process.

alan

-- 
gentoo-user@gentoo.org mailing list

Reply via email to