Package: emacsen-common
Version: 2.0.3
Severity: normal

I'm doing an update of a machine that has a fairly old emacs
installation. I'm moving xemacs21,emacs22 -> emacs24 (uninstalling
xemacs21 and emacs22) and upgrading emacsen-common to 2.0.3. I was doing
this in one go in aptitude. During the upgrade I see errors that are not
fixable without manual user intervention:

A package failed to install.  Trying to recover:
Setting up emacsen-common (2.0.3) ...
Install emacsen-common for emacs22
emacsen-common: Handling install of emacsen flavor emacs22
/usr/lib/emacsen-common/packages/install/emacsen-common: line 23: cd:
/etc/emacs22/site-start.d: No such file or directory
ERROR: install script from emacsen-common package failed
dpkg: error processing emacsen-common (--configure):
 subprocess installed post-installation script returned error exit
 status 1
dpkg: dependency problems prevent configuration of emacs24-common:
 emacs24-common depends on emacsen-common (>= 1.4.10); however:
  Package emacsen-common is not configured yet.


The issue, as I understand it is that during the emacsen-common
postinst, emacsen-common decided that emacs22 is installed, and then
tried to configure stuff for it. This failed because emacs22 wasn't
actually installed anymore (the upgrade already removed it).

The installed emacs flavor list:

dkogan@t42:/var/lib/emacsen-common/state/flavor/installed$ ls
emacs22 xemacs21

So the postinst thinks emacs22 and xemacs21 are both still installed.
This incorrect; aptitude already uninstalled both of these packages. If
I manually push this ahead by removing

/var/lib/emacsen-common/state/flavor/installed/emacs22

Then I get a similar issue with the xemacs21 package:

A package failed to install.  Trying to recover:
Setting up emacsen-common (2.0.3) ...
Install emacsen-common for xemacs21
emacsen-common: Handling install of emacsen flavor xemacs21
/usr/lib/emacsen-common/packages/install/emacsen-common: line 29:
xemacs21: command not found
ERROR: install script from emacsen-common package failed
dpkg: error processing emacsen-common (--configure):
 subprocess installed post-installation script returned error exit
 status 1
dpkg: dependency problems prevent configuration of emacs24-common:
 emacs24-common depends on emacsen-common (>= 1.4.10); however:
  Package emacsen-common is not configured yet.



This could be a problem with emacs22 and xemacs21 not uninstalling
itself perfectly, but emacsen-common should be robust to this.

As a manual workaround, I'm simply going to remove both of the
/var/lib/emacsen-common/state/flavor/installed/... files. At the very
least, emacsen-common postinst can check, and do this itself.

In general, is there a strong reason for the state to be stored in that
directory, separate from dpkg? Can we use dpkg itself to determine which
emacs flavors are installed?




-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/dash

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to