emacs fan help with packaging .el

Jonathan Underwood jonathan.underwood at gmail.com
Sun Jan 4 16:30:49 UTC 2009


2009/1/4 Chitlesh GOORAH <chitlesh.goorah at gmail.com>:
> Nevertheless, the  emacs-dinotrace requires dinotrace-doc for
> installing. But dinotrace.spec doesn't ship dinotrace-doc. I don't
> know how this dependency is being pulled up.
>

In your spec file you have:

Requires:          %{name}-doc = %{version}-%{release}

for the emacs-dino-trace package. That's why emacs-dinotrace is
wanting to install dinotrace-doc. Remove that and your problem will go
away. Question is, why did you add it in the first place, and is
removing it the right thing to do?

Other things I noticed:

You should Require emacs(bin) rather than emacs-common
You should BuildRequire: emacs-el to pull in the pkgconfig file.

Also, you should set some sensible defaults in the case that the
pkg-config file is not available to aid portability and also stops the
SRPM building fail in the build system - see the templates in the
Emacs packaging guidelines.

Aside: The Emacs packaging guidelines use of pkg-config is actually
pretty horrible (I'm allowed to say that, it's my fault). I'm drafting
some updated guidelines (and accompanying patches to the emacs and
xemacs spec) which instead use macros (to be defined in
/etc/macros.[x]emacs).

Another aside: Other the past few months I've noticed that many
packages don't create a separate emacs-foo subpackage but rather use a
trick with %triggerin to drop elisp files into place when emacs is
installed. I also think this should be discussed and documented in the
packaging guidelines as an alternative when a package only has 1 or 2
elisp files.

A further aside: I think the emacs guidelines should only insist on
separate emacs-foo-el sub-packages when there are a large number of
.el files. Perhaps. Maybe.

HTH,
J.




More information about the fedora-devel-list mailing list