Now that there seems to be some discussion about the future of the
package system, I'll throw in some ideas. This is not directly related
to the thread [1], so I'm replying to the list only (as well as
xemacs-design).
Versioned requirements could be useful, especially for packages. We do
know that package A needs version x.xx of package B to work properly, so
PUI could handle these for the user, like "If you're installing this,
you will also need to upgrade that." A simple
"greater-than-or-equal-to" dependency would probably be enough, at least
to begin with.
This would be useful for core (XEmacs) versions too, so PUI could tell
"You can install this only if you have XEmacs x.x.xx." or maybe would
not show these packages to the user at all. But this could be difficult
to implement due to different supported generations, eg. 21.1.xx,
21.4.xx and 21.5.xx... IMO, the package system version check would not
be good enough.
Also, the syntax should not break backwards compatibility. Something
like RPM [2] does, like "REQUIRES = my-package >= 1.23, your-package >
2.02 ..." might be good, or whatever make will grok. But this must not
break older XEmacsen, at least for the package installation part. Maybe
it would be possible to sacrifice the ability to _build_ these packages
with older versions?
Another idea; when package A does not _require_ package B, but having B
around would bring in some extra goodies to A's functionality; a
RECOMMENDS feature could help. Again, maybe versioned as said above.
There's already some discussion about this in [3]. Oh, and then a
(versioned?) CONFLICTS relation between packages that don't coexist
nicely...
[1] <
http://list-archive.xemacs.org/xemacs-beta/200205/msg00353.html>
[2] <
http://www.rpm.org/max-rpm/ch-rpm-depend.html>
[3] <
http://list-archive.xemacs.org/xemacs-design/200203/msg00001.html>
Cheers,
--
Ville Skyttä
ville.skytta(a)xemacs.org