[project @ 2005-05-20 12:50:42 by simonmar]
Implement some more error checking to catch some cases where
registering a package will lead to a package database containing
conflicts, which would otherwise prevent GHC from being used without
any -hide-package options.
In 'update' mode, instead of complaining about conflicts, we now
attempt to hide any packages which would cause a conflict. Previously
this was limited to just older versions of the current package, now it
applies to all packages which contain, or depend on packages which
contain, modules which conflict with any module belonging to the
current package or a dependency of it.
Unfortunately we still can't cope with conflicts that cross the
boundary between the user package databse and the global one. We will
need some kind of white-out mechanism in order to be able to hide a
global package in the user database.