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

Re: emacsen-common 2.0 released -- major changes (including policy)



John Toby Knudsen <tobyknudsen@gmail.com> writes:

> Rob, sounds like an exciting release. Kindly provide a few surrounding
> points of context or discussion regarding this release.

Previously all add-on packages were required to depend on some flavor(s)
of emacsen, so anyone with a package that had any need to provide emacs
support (even if that support was a minimal part of the overall package)
had to add those dependencies.

So, for example, if the gettext package had wanted to enable support for
its emacs-related bits in the main binary package, it would have been
required to add a dependency on emacsen or some (x)emacsXY in order to
use the emacsen-common infrastructure.  Instead, gettext just provided a
separate (and presumably tiny) gettext-el package.

While that's still an option, it's no longer required.  Now, if desired,
the gettext package should be able to just add the (optional) emacs
support to its main package without any dependency requirements.

In order for that to work, way gettext interacts with emacsen would have
to be changed a bit.  The new debian-emacs-policy file has all the
details, but here's an (incomplete) idea of what's involved:

  - Move the relevant bits from gettext-el to gettext proper, and
    presumably add some kind of "Conflicts/Replaces: gettext-el" and
    "Provides: gettext-el" to gettext (or whatever's appropriate).

  - Add a "Conflicts: emacsen-common (< 2.0.0)".

  - Add /usr/lib/emacsen-common/packages/compat/gettext, containing 0.

  - Change the install/remove scripts to expect a single flavor argument
    (emacsen-common no longer makes the generic "emacs" invocation, and
     no longer invokes the scripts with a list of all the installed
     flavors).  See debian-emacs-policy for the details.

  - Do this from the indicated maintainer scripts (check the timing
    requirements in debian-emacs-policy):

     preinst:
       if test -e /var/lib/emacsen-common/state/package/installed/emacsen-common
       then
         /usr/lib/emacsen-common/emacs-package-install --preinst gettext
       fi

     postinst:
       if test -e /var/lib/emacsen-common/state/package/installed/emacsen-common
       then
         /usr/lib/emacsen-common/emacs-package-install --postinst gettext
       fi

     prerm:
       if test -e /var/lib/emacsen-common/state/package/installed/emacsen-common
       then
         /usr/lib/emacsen-common/emacs-package-remove --prerm gettext
       fi

Obviously this work is quite new, and there may well be problems.
Please let me know if/when you encounter any trouble.

Hope this helps
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4


Reply to: