Package: elscreen
Version: 1.4.6-5.1
Severity: serious
Tags: patch

[CC'ing the Emacs24 maintainer just to know if this is an expected
 behavior and whether the attached patch is correct...]

Hello,

Today, when upgrading Emacs24 and Apel at the same time, I got the
following error upon Emacs24 upgrade (so even before Apel "postinst"
script is being ran):

  Install bbdb for emacs24
  install/bbdb: Byte-compiling for emacs24 ...
  Generating bbdb-autoloads...
  Byte-compiling bbdb...
   done.
  Install cmake-data for emacs24
  install/cmake-data: Byte-compiling for emacs24
  Wrote /usr/share/emacs24/site-lisp/cmake-data/cmake-mode.elc
  Install debian-el for emacs24
  debian-el files already compiled in /usr/share/emacs24/site-lisp/debian-el.
  Install elscreen for emacs24
  install/elscreen: Handling install for emacsen flavor emacs24
  Loading /etc/emacs/site-start.d/00debian-vars.el (source)...
  Loading /etc/emacs/site-start.d/20apel.el (source)...
  Loading /etc/emacs/site-start.d/50autoconf.el (source)...
  Loading /etc/emacs/site-start.d/50bbdb.el (source)...
  Loading /etc/emacs/site-start.d/50cmake-data.el (source)...
  Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
  Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
  Error while loading 50dictionaries-common: Symbol's value as variable is 
void: debian-aspell-only-dictionary-alist
  Loading /etc/emacs/site-start.d/50dpkg-dev-el.el (source)...
  Package dpkg-dev-el not fully installed.  Skipping setup.
  Loading /etc/emacs/site-start.d/50elscreen.el (source)...
  Loading /etc/emacs/site-start.d/50emacs-goodies-el.el (source)...
  Package emacs-goodies-el not fully installed.  Skipping setup.
  Loading /etc/emacs/site-start.d/50emacs-mozc.el (source)...
  Loading /etc/emacs/site-start.d/50flim.el (source)...
  Loading /etc/emacs/site-start.d/50lookup-el.el (source)...
  Loading /etc/emacs/site-start.d/50lua-mode.el (source)...
  Loading /etc/emacs/site-start.d/50magit.el (source)...
  Loading /usr/share/emacs/site-lisp/magit/magit-install.el (source)...
  Loading /etc/emacs/site-start.d/50namazu2.el (source)...
  Loading /etc/emacs/site-start.d/50psvn.el (source)...
  Loading /etc/emacs/site-start.d/50pylint.el (source)...
  Error while loading 50pylint: Cannot open load file: pylint
  Loading /etc/emacs/site-start.d/50pymacs.el (source)...
  Loading /etc/emacs/site-start.d/50sdic.el (source)...
  Loading /etc/emacs/site-start.d/50systemtap-common.el (source)...
  Loading /usr/share/emacs/site-lisp/systemtap-common/systemtap-init.el 
(source)...
  Loading /etc/emacs/site-start.d/50w3m-el-snapshot.el (source)...
  Loading /etc/emacs/site-start.d/51debian-el.el (source)...
  Loading /etc/emacs/site-start.d/51emms.el (source)...
  Loading /etc/emacs/site-start.d/70sdic-edict.el (source)...
  Error while loading 70sdic-edict: Symbol's value as variable is void: 
sdic-waei-dictionary-list

  In toplevel form:
  elscreen-color-theme.el:25:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-dired.el:26:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-dnd.el:26:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-gf.el:28:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-goby.el:26:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-howm.el:26:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-server.el:27:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-speedbar.el:25:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen-w3m.el:26:1:Error: Cannot open load file: alist

  In toplevel form:
  elscreen.el:28:1:Error: Cannot open load file: alist
  ERROR: install script from elscreen package failed

I guess this is what triggers this issue upon Emacs24 upgrade:

  1. All the byte-compiled files in /usr/share/emacs24/site-lisp/ are
     purged.

  2. Byte-compilation is triggered but at this point apel is only in
     unpacked state so no byte-compilation occurs. However, elscreen
     (depending upon apel) does not check whether apel has been
     byte-compiled and fails.

I have attached a patch checking for alist.elc before
byte-compilation. I'm not sure this is the right fix though, could you
please have a look? Thanks!

Regards,
-- 
Arnaud Fontaine

--- debian/emacsen-install.ORIG	2014-06-09 12:22:57.118021446 +0900
+++ debian/emacsen-install	2014-06-09 12:23:03.642097192 +0900
@@ -8,6 +8,7 @@
 FLAVOR=$1
 PACKAGE=elscreen
 
+if [ ! -f "/usr/share/$FLAVOR/site-lisp/apel/alist.elc" ]; then exit 0; fi
 if [ ${FLAVOR} = emacs ]; then exit 0; fi
 
 echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}

Reply via email to