[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: search-citeseer_0.1-1_i386.changes REJECTED

Scripsit Agustin Martin Domingo <agmartin@aq.upm.es>

> Last time I read about that, if is byte compiled it should depend on 
> virtual package 'emacsen' (provided by all emacs flavours), since 
> otherwise emacs-package-install failed if no emacsen was installed.

If that is true, shouldn't it be counsidered a bug in emacsen-common?

I think it ought to be perfectly acceptable to have some large package
that, beside its main contents, provides some elisp files that help
using the main contents from emacs. If the elisp files are
sufficiently large (yet not large enough to justify being spilt out as
a separate package), it might still be desirable to byte-compile them.

The large package should then depend on emacsen-common, which just
provides the infrastructure for scheduling byte-code compilation done
at the right time. A user might install the large package without an
actual emacsen, but if he later added an emacs, the elisp interfaces
would be byte-compiled automatically.

Emacs-policy does say

  D) Each add-on package must declare relevant dependencies on other
     packages (including other add-on packages).  Note that add-on
     packages should not depend on emacsen-common directly, but rather
     on either the virtual package "emacsen" (see below), or some
     appropriate combination of flavors (i.e. Depends: emacs21 |

but this, at least understood literally, applies only to *add-on*
package consisting largely of elisp code. In that case, just depending
on emacsen-common instead of emacsen would be wrong, as policy says:

   The `Depends' field should be used if the depended-on package is
   required for the depending package to provide a significant
   amount of functionality.

However, when the elisp helper modules in a package is not "a
significant amount" of its functionality, the package ought to be able
to register those without depending on an entire emacsen. If
emacs-package-install does not support that, it is IMHO a shortcoming
of emacs-package-install.

> You can try a workaround like this

> if [ "$1" = "configure" -a -x \
>     /usr/lib/emacsen-common/emacs-package-install ]

This wouldn't work - if the package was installed before
emacsen-common, its files would never be byte-compiled even
if emacs was later added to the system. (And there's no telling
whether things would break horribly if emacsen-common happened
to be unpacked but not yet configured when the postinst script

Henning Makholm                             "We're trying to get it into the
                                parts per billion range, but no luck still."

Reply to: