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