Every package should list all the "xxx" symbols for each time it does a
(provides 'xxx)
in the lisp code. You should require things at this level in a
package entry. That way as the contents of packages change (such as
xemacs-base) you don't get screwed. Alternatively, if we ever truly
implement single file packages, then you would only install the
individual files instead of all of them.
Of course, this is open to abuse. Especially since the code to
automatically generate all the requires/provides information never
happenned.
For further enhancements, it might be nice if there was a "suggested"
field to indicate something helps a package but is not necessary (such
as w3 or mailcrypt for gnus).
--pete