[I am cc'ing xemacs-beta as I just realised that this mail is probably
the best documentation there is currently]
I am basically trying to make sure that the reftex package
distribution is OK and works.
AFAIK can see (at the moment I don't TeX that much) it works OK. The
biggest open question would be how it works under Windows. The biggest
problem of the package system is run-time depencies. However Reftex
does not require any special stuff.
I also want to find out if it will be usefull or necessary to
document the installation procedure in the info files for RefTeX (to
achieve a state of laziness is the sense of Larry Walls definition).
Well there are actually two installation procedures
1. Physically installing it and making sure XEmacs finds it (load
paths, autoload). The package system reduces this to "untar the
file in the right directory" or "click on the right line in the
package install tool." (Basically by shifting the burden to the
package creator).
2. Activating the packages. This remains the same, i.e. adding reftex
to LaTeX mode hook.
Right now the installation instructions cover only the cases when
someone download the package from my own web page, or when the package
is bundled with X/Emacs.
Well depending on whether you want to make a RefTeX package available
yourself you can suffice with "See XEmacs 21.0 instructions on how to
fetch the reftex package" or with "XEmacs 21.x users want to get the
*-pkg.tar.gz tarball and untar it in ../lib/xemacs-packages and then
call M-x package-admin-install-binary-package RET." after that you can
procees as if RefTeX was bundled.
- How will this packaging stuff work in the end? Is there any
documentation available on the package system itself, and how the
average user is going to interface with it?
There is currently (slightly outdated) user info in the XEmacs manual,
which basically tells the user where to ftp the files and where to
untar them or alternatively how to use XEmacs (via the menu) to fetch
it for them. Since recently XEmacs can also automatically remove
packages (this is needed for automatic upgrading).
There is some documentation on how to build a package yourself but
that is so outdated it is not helpfull. As soon at is sure that the
current system is stable (which apart from Steve having more important
problems to solve is the reason there has been no XEmacs 21.0 release
yet) we will update the info files.
I have seen the
autoload file in the package - will that be read automatically on
startup?
The structure of a package is as follows
Special directories
lisp/package-name/ is put in the load-path. For reasons of speed
subdirectories are NOT included by default.
etc/package-name/ is put the data-directory-list
lib-src/package-name/ is put in the PATH used for subprocess.
man/packagename/ is just used to store the texi sources for printing.
special files
pkg-info/package-name.MANIFEST contains a list of all the packages
files
info/package-name.info is added to the 'dir' file automatically at
startup. The 'direntry' is used for this.
lisp/auto-autoloads.elc is loaded automatically at startup.
It is used to
- provide package data (see _pkg.el)
- Define autoloads, defvars and defcustoms.
- execute other code (for instance to define a global menu entry
or keybinding)
It provides the feature '<package-name>-autoloads'.
lisp/custom-loads.elc is loaded by custom to build the menus.
lis/_pkg.el contains the package indentification. This loaded by the
automatic install tools after installation to update the list of
installed packages. Note that auto-autoloads.elc is NOT loaded
after an install. An Emacs restart is needed load it.
The info in _pkg.el is normally duplicated in the auto-autoloads
file.
lisp/auto-autoloads.el?, lisp/custom-loads.el? and
info/package-name.info* are usually automatically generated in the
package build process.
To make sure your sources can be used as XEmacs packages you have to
make sure
1. You have the right autoload cookies.
2. You used locate-data-file and locate-data-dir to find 'etc' stuff
3. All files with defface, defcustom and defgroup entries do not
change the state of Emacs when loaded.
4. Your info files contain '@direntry's.
- Will there be a place where the available packages are intruduced
with a short paragraph or so?
A short description is indented to be in the etc/PACKAGES file in the
distribution. However this currently very dated (for instance is does
not mention the reftex package). I think this will be pulled before
release. It is much better make some Web pages introducing the
packages on
www.xemacs.org.
The current data the user sees in the install tool is generated from
an entry like this
(reftex
(standards-version 1.0
version "1.09"
author-version "3.41"
date "1998-08-11"
build-date "1998-10-11"
maintainer "Carsten Dominik <dominik(a)strw.LeidenUniv.nl>"
distribution stable
priority medium
category "wp"
dump nil
description "Emacs support for LaTeX cross-references, citations.."
filename "reftex-1.09-pkg.tar.gz"
md5sum "c7c12198809741e20431cf14a6b965c4"
size 204664
provides (reftex)
requires (fsf-compat xemacs-base)
type regular
))
With comments
(reftex
Name of package
(standards-version 1.0
Version number of index info
version "1.09"
Version of the package (compared as floating point nummer to see
whether an update is needed).
author-version "3.41"
For package containing a single elisp "program". The version of that
program.
date "1998-08-11"
I think this is the release/fetch date of the origional
build-date "1998-10-11"
...of the XEmacs package.
maintainer "Carsten Dominik <dominik(a)strw.LeidenUniv.nl>"
obvious
distribution stable
Currently this is rather undefined. If it is 'unstable' then it will
not be included in the SUMO tarball (that includes all package for
easy downloading). If it is 'mule' this means that it only usefull for
mule users and needs a MULE enabled XEmacs. It will then be put in the
'mule-packages' package tree by the installation tools. That tree is
only searched by 'mule' XEmacsen and therefore can contain package
that break non-mule XEmacsen.
Currently 'stable' and mule are reserved for packages
that are distributed from the XEmacs ftp site.
priority medium
Priority 'high' means 'essential for normal operation' the other have
no clear defined meaning.
category "wp"
dump nil
Whether this package needs to be dumped with XEmacs. Currently only
true for the mule-base package.
description "Emacs support for LaTeX cross-references, citations.."
This is currently the only description the users see.
filename "reftex-1.09-pkg.tar.gz"
md5sum "c7c12198809741e20431cf14a6b965c4"
md5sum of the tarball. This is verified by the automatic install.
(note that these index entries come from a PGP signed file).
size 204664
of the tarball I think.
provides (reftex)
Features provided by the elisp included.
requires (fsf-compat xemacs-base)
Features needed for a succesfull compilation. Note NOT at runtime.
type regular
type = regular. All the files in this package belong together and may
require each other at runtime.
type= single. The .el? files in the package are independent and each may
safely be deleted without impairing operation of the others. It is
unlikely you will be making a 'single' package if you are not an
XEmacs maintianer.
A list a user can brouse?
Autogenerated from the above info entries. The reftex line looks like this
reftex 1.09 1.09 Emacs support for LaTeX cross-references, citations..
The left number is the latest version and the right number the
installed version. Aditional info appears in the modeline when the
cursor is put over it.
If yes,
who is writing these entries,
The XEmacs maintainer. He then pgp signs that list and puts it in
pub/packages/package-index.LATEST.pgp on the ftp site. It is also
supposed to be included in the etc dir of each XEmacs release.
what format do they have and should I
write something for RefTeX.
Maybe you should write someting for the website when we get arround to
makeing it.
- You say there is a history of XEmacs-beta. Is there a search
engine
somewhere which has access to that history? I one looked and only
found a non-searchable archive which took forever to find anything.
(xemacs-beta is just too much for me to read regularily...)
I am afraid it is not searchable currently. I am already happy it is
archived at all.
Jan