[Fedora-packaging] Packaging guidelines for Emacsen add-on packages

Jonathan Underwood jonathan.underwood at gmail.com
Sun May 27 14:04:27 UTC 2007


On 27/05/07, Ville Skyttä <ville.skytta at iki.fi> wrote:
> Regarding the current Emacsen add-on draft,
>
> * Added some more info about requiring a version of (X)Emacs newer than or
> equal to the one used to compile the *.elcs, and how to find that version out
> dynamically during package build.
>

Thanks very much, Ville.

> * I'd like to see something mentioned about packaging *.el snippets that
> aren't full blown packages of their own, see for example rpmdevtools.
>

Yes, actually Tom Tromey had also mentioned this to me privately, and
you're both right - we do need to mention this. There are actually a
lot of cases where a piece of software has a mode for eg. editing
input files for that software.

Another example that springs to mind is gnuplot, which has a
subpackage called gnuplot-emacs which installs

gnuplot.el
gnuplot.elc
gnuplot-gui.el
gnuplot-gui.elc
info-look.20.2.el
info-look.20.3.el

for GNU Emacs in /usr/share/emacs/site-lisp.

There are a couple of things with this which I suppose are
inconsistent with the guidelines for full blown emacs add-on packages:

1) The source .el files aren't in a separate sub-package called gnuplot-emacs-el
2) The files aren't installed in their own sub-directory
/usr/share/emacs/site-lisp/gnuplot
3) The info-look.20.[2,3].el files aren't byte compiled (there may be
good reasons for this.

Similarly on my system currently I see the same issues for:

1) rpmdevtools (rpm-spec-mode.el[c],
2) desktop-file-utils (desktop-entry-mode.el[c])
3) libidn (idna.el and no idna.elc)
4) emacs-common (has extra files like php-mode.el, po-mode.el,
python-mode.el, ssl.el not in emacs-common-el and also not in their
own directories)

I would propose guidelines such as these:
1) Packages which include add on modes for (X)Emacs should package the
byte compiled lisp files for these modes in a sub-package named
foo-emacs and/or foo-xemacs.

2) Packages which include add on modes for (X)Emacs should package the
source elisp files in separate subpackges called foo-emacs-el and
foo-xemacs-el.

3) Elisp add on subpackages should install their files in an
appropriately named subdirectory of /usr/share/emacs/site-lisp and
/usr/share/xemacs/site-packages/lisp. These directories should be
owned by the foo-emacs and foo-xemacs packages respectively.

4) foo-emacs-el should have Requires: foo-emacs and foo-xemacs-el
should have Requires: foo-xemacs.

These seem logically consistent with the guidelines formain (X)Emacs
add-on packages, but don't fit with current packaging of some
packages. The current situation is rather inconsistent.

I agree with Ville, I think it's important that the draft include
something on this matter.

Best wishes,
Jonathan.




More information about the packaging mailing list