Next: , Up: Packaging   [Contents][Index]


3 An overview of the XEmacs Packaging System

The XEmacs Packaging System is a system for administering the installation, upgrade, and removal of Lisp libraries. For the end user, it provides facilities for determining availability of packages and which versions at remote sites. It will download and automatically install a package, ensuring that any old files from previous versions of the package are removed first. By providing a standard set of hierarchies for installation, it makes configuration of XEmacs simpler. Furthermore, packages normally provide ancillary auto-autoloads and custom-loads libraries, which are automatically detected and loaded by XEmacs upon startup. This means that once installed, all facilities of package, including autoloading the library upon invocation of a command provided by the library and convenient configuration and customization, are automatically available to the user. There is no need to add autoloads or keybindings to in the init file, and structured configuration of the package is available through the Customize system even before the libraries are loaded.

All of this convenience comes at a cost. The cost of administration at the package level is negligible compared to the benefits, of course. However, the requirement that XEmacs find and load auto-autoloads and custom-loads libraries comes at a fairly large cost in startup time. In order to reduce this cost, XEmacs imposes fairly strict conditions on the structure of an installed package.

Meeting these requirements, as well as simply providing the auto-autoloads and the information about availability and so on does impose some costs on the library maintainer. The XEmacs Packaging System also provides structure and utilities to the library maintainer to make these tasks easier. This manual documents the requirements and the tools that the XEmacs Packaging System provides to ensure that a package satisfies them.


Next: , Up: Packaging   [Contents][Index]