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.)