[Bug: 21.5-b29] packages UI: non-ideal handling of missing deps
Stephen J. Turnbull
stephen at xemacs.org
Fri Oct 1 00:46:07 EDT 2010
Samuel Bronson writes:
> I've been running into a lot of those "Cannot open load file: "
I recommend that you simply install everything in the XEmacs SUMO
package, and if you use non-Latin-1 characters much, the Mule SUMO
package as well.
> I've just realized that this is probably because the package
> management UI does not check dependancies unless explicitly
> requested to do so; it would probably be a good idea to have an
> option (defaulting to on) to have it do this automatically at the
> beginning of `pui-install-selected-packages' (aka "x"). If the
> check fails, the user should probably have a choice between
> "include dependancies", "ignore dependancies", and "cancel".
This doesn't do all that much good; the dependencies are build-time
dependencies, which means "anything we might want to inline when
compiling." Ie, typically the dependencies recorded are precisely the
dependencies you don't actually need! (In practice, it's not quite
that bad, but you will definitely get some packages you don't need and
not get some packages you do need.)
It's actually quite difficult to analyze the dependencies in Lisp,
because of features like autoloads, so that the declaration of the
dependency is in the *required* file, not in the *requiring* file.
Several attempts have been made, but nobody has ever followed through.
What really should be done is for Windows to install all packages by
> Also, having realized this, I tried to fix it with just
> `pui-add-required-packages', but that refused to do anything unless I
> selected at least one package first; perhaps this check should be
It's not a check. It's by design. PUI looks at the list of packages
you have requested, and gets *their* dependencies. It does not check
for unsatisfied dependencies of other packages, because it assumes you
have already got those dependencies you want, and any unsatisfied
dependencies are intentional. You can argue against that design if
you like, but it's unlikely that anybody will do anything about it
because in practice the straightforward thing to do is to install all
packages. Since the workaround is conceptually easy and disk space is
cheap, optimizing this is low priority right now.
More information about the XEmacs-Beta