On Monday 07 May 2007, Jonathan Underwood wrote:
Dear Packaging Committee,
I have placed a draft Guidelines document on the wiki for your
consideration. This document covers the packaging of Emacs and XEmacs
add-on packages, and provides two template spec files with the
intention of lowering the inertial barrier to developing packages for
(X)Emacs.
Thanks.
Comments gladly received!
Quickly reading through it, here's a couple.
1) I think cases where install time dependencies on plain "emacs" or
"xemacs"
are desirable are very rare. The usual problem with those is that they bind
the add-on packages to the corresponding full featured variants, ie. ones
built with X etc, so one can't use them with only the -nox variant installed.
That's why I addded a virtual "xemacs(bin)" Provides to the xemacs and
xemacs-nox packages - that'd be a better thing to have a dependency on than
eg. "xemacs" unless the full featured GUI version is specifically required.
The emacs packages don't have that functionality (yet?), so I think the best
thing for them for now would be to have a dependency on emacs-common instead
of emacs or emacs-nox.
2) At least in the XEmacs case, the dependency on xemacs(bin) should be
versioned, like "Requires: xemacs(bin) >=
$evr_of_xemacs_used_to_build_the_package". The xemacs-bytecompiled *.elc
files are in the vast majority of cases forwards compatible, but much less
often backwards compatible. See the xemacs-packages-base and
xemacs-packages-extras packages for examples. (Hm, I see those have deps on
xemacs-common instead of xemacs(bin), will have a look.)