On Wed, 30 Jan 2002, Peter S Galbraith wrote: > > Toby Speight <[EMAIL PROTECTED]> writes: > > > > > Rob> If this were in fact "safe", then we could think about changing > > > Rob> debian-emacs-policy to fully eliminate the requirement that packages > > > Rob> that have emacs components *depend* on emacsen, but instead they > > > Rob> just check for /usr/lib/emacsen-common/emacs-package-install, and if > > > Rob> found, run it. This is certainly more flexible, but I'm wondering > > > Rob> if there are nasties that I'm overlooking. > > > > > > What happens if emacsen is installed *after* package 'foo' that uses > > > it? AIUI, foo won't get its emacs components configured at all then. > > > > I think you may have hit the nail on the head. I wasn't thinking > > about the fact that emacsen-common doesn't re-run all the scripts when > > it itself is installed. > > I'm confused. > > I'd think most packages _already_ check for > /usr/lib/emacsen-common/emacs-package-install before running, at least > if they use debhelper: > > # Automatically added by dh_installemacsen > if [ "$1" = "configure" -a -x /usr/lib/emacsen-common/emacs-package-install ] > then > /usr/lib/emacsen-common/emacs-package-install gri > fi > > Also, when I install a new flavour of Emacs, all the elisp files of > add-on package get byte-compiled correctly. So I think this is okay. > > What am I missing?
The problem is that: * emacs-package-install does only work if emacsen-common has been previously configured (which I think it truly deserves a wishlist bug against emacsen-common). * Some packages, like gettext, have a *minima*l dependency on emacsen, which, IMHO, does not deserve a Depends field (a bug in policy if policy mandates a Depends), but of course a bug in gettext if we think policy is perfect (I don't think it is). * dpkg configures packages in an order which satisfies their dependencies. Since gettext does not depend on emacsen-common, dpkg sometimes tries to configure gettext and then emacsen-common. This is the wrong order and it fails, but only because emacs-package-install is not smart enough. * gettext does not need a Depends, it just needs a better emacs-package-install implementation, namely, one that does not fail if emacsen-common has not been configured yet.