On Tue, Jun 12, 2012 at 10:22:10AM +0200, Andreas Beckmann wrote:
> Package: emacsen-common
> Version: 2.0.3
> Severity: serious
>
> Hi,
>
> an upgrade to current wheezy got stuck with emacsen-common:
>
> # dpkg --configure --pending
> Setting up emacsen-common (2.0.3) ...
> Install emacsen-common for emacs23
> emacsen-common: Handling install of emacsen flavor emacs23
> Warning: Lisp directory `/usr/local/share/emacs/23.4/site-lisp' does not
> exist.
> Wrote /etc/emacs23/site-start.d/00debian-vars.elc
> Wrote /usr/share/emacs23/site-lisp/debian-startup.elc
> Install emacsen-common for xemacs21
> emacsen-common: Handling install of emacsen flavor xemacs21
>
> WARNING:
> Couldn't find obvious defaults for:
> data-directory
> mule-lisp-directory
> lisp-directory
> Perhaps some directories don't exist, or the XEmacs executable,
> /usr/bin/xemacs21
> is in a strange place?Loading /usr/share/emacs/site-lisp/debian-startup...
> Loading 00debian...
> Error while loading 00debian: Symbol's function definition is void: loop
> Loading 00debian-vars...
> Loading 50a2ps...
> Loading 50autoconf...
> Error while loading 50autoconf: No /usr/local/ prefixed paths in load-path
> Loading 50cmake...
> Loading 50cmake-data...
> Loading 50dictionaries-common...
> Error while loading 50dictionaries-common: No /usr/local/ prefixed paths in
> load-path
> Loading 50emacs-goodies-el...
> Package emacs-goodies-el not fully installed. Skipping setup.
> Loading 50lilypond-data...
> Loading 50psvn...
> Symbol's function definition is void: batch-byte-compile
> xemacs exiting
> .
> ERROR: install script from emacsen-common package failed
> dpkg: error processing emacsen-common (--configure):
> subprocess installed post-installation script returned error exit status 1
> Setting up dictionaries-common (1.12.7) ...
> Install dictionaries-common for emacs23
> install/dictionaries-common: Already byte-compiled for emacs23. Skipping ...
> Install dictionaries-common for xemacs21
> install/dictionaries-common: Byte-compiling for emacsen flavour xemacs21
>
> WARNING:
> Couldn't find obvious defaults for:
> data-directory
> mule-lisp-directory
> lisp-directory
> Perhaps some directories don't exist, or the XEmacs executable,
> /usr/bin/xemacs21
> is in a strange place?Symbol's function definition is void: batch-byte-compile
> xemacs exiting
> .
> ERROR: install script from dictionaries-common package failed
> dpkg: error processing dictionaries-common (--configure):
> subprocess installed post-installation script returned error exit status 1
>
>
> As that's an experimental system (running testing/sid mix since
> testing=lenny) and noone needs emacs there, I'm leaving it broken
> for now and can provide additional information if needed.
I'd say this seems something wrong in the xemacs21 side during xemacs21
upgrade. As a matter of fact I have found
http://bugs.debian.org/619367 [xemacs21: installing elisp packages fails:
Symbol's function definition is void: batch-byte-compile]
which has some common elements,
Setting up ocaml-mode (3.11.2-4) ...
install/ocaml-mode: Handling install for emacsen flavor xemacs21
WARNING:
Couldn't find obvious defaults for:
data-directory
mule-lisp-directory
lisp-directory
Perhaps some directories don't exist, or the XEmacs executable,
/usr/bin/xemacs21
is in a strange place?Symbol's function definition is void: batch-byte-compile
xemacs exiting
Note that I could not reproduce this in a system that is upgraded frequently.
May be this is a problem with upgrades from a particular version to a much
more recent version.
Apart from this, this problem looks triggered during install by the
persistence of http://bugs.debian.org/132355 [emacsen-common: Byte-compiling
too verbose]. Not loading site files during byte-compile may work around
this in the install phase. Do not know if there is any additional problem.
As pointed out in #132355, using single dashed -no-site-file should work for
both XEmacs and (although undocumented) FSF Emacs.
If maintainer wants to be in the safe side and use only documented features
I expect something like attached patch to work for emacsen-common.
Regards,
--
Agustin
diff --git a/emacsen-common.install b/emacsen-common.install
index de2e7a7..b8046a9 100755
--- a/emacsen-common.install
+++ b/emacsen-common.install
@@ -3,8 +3,27 @@
set -e
FLAVOR=$1
+package=emacsen-common
+
+case "$FLAVOR" in
+ emacs)
+ # Dummy emacs flavor. Do nothing and exit
+ exit 0
+ ;;
+ xemacs*)
+ no_site_file="-no-site-file"
+ ;;
+ emacs*)
+ no_site_file="--no-site-file"
+ ;;
+ *)
+ echo install/${package}: Ignoring emacsen flavor [${FLAVOR}]
+ exit 0
+ ;;
+esac
+
# Make sure these options are appropriate for the given package.
-compile_options="--no-init-file --no-site-file -batch -f batch-byte-compile"
+compile_options="--no-init-file $no_site_file -batch -f batch-byte-compile"
echo emacsen-common: Handling install of emacsen flavor ${FLAVOR}