Package: elpa-company Version: 0.8.12-5 Severity: important Tags: patch Dear maintainer,
If xemacs21 is installed, apt cannot upgrade from elpa-company 0.8.12-4
to 0.8.12-5.
Steps to reproduce in a minimal sid chroot:
apt-get install xemacs21
apt-get install elpa-company=0.8.12-4
apt-get install elpa-company=0.8.12-5
Sample output:
Preparing to unpack .../elpa-company_0.8.12-5_all.deb ...
Remove elpa-company for xemacs21
remove/company-0.8.12: Skipping unsupported emacs
dh-elpa: purging flavor specific files for xemacs21
find: '/usr/share/xemacs21/site-lisp/elpa/company-0.8.12': No such file or
directory
ERROR: remove script from elpa-company package failed
dpkg: warning: subprocess old pre-removal script returned error exit status
1
dpkg: trying script from the new package instead ...
Remove elpa-company for xemacs21
remove/company-0.8.12: Skipping unsupported emacs
dh-elpa: purging flavor specific files for xemacs21
find: '/usr/share/xemacs21/site-lisp/elpa/company-0.8.12': No such file or
directory
ERROR: remove script from elpa-company package failed
dpkg: error processing archive
/var/cache/apt/archives/elpa-company_0.8.12-5_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
The attached patch fixes the problem (also available as a branch
'upgrade-fix' in the team git repository). Please consider uploading it
before 0.8.12-5 migrates to stretch.
Thanks to 'cruncher' on #debian-next for help with this fix.
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: i386 (i686)
Kernel: Linux 4.8.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages elpa-company depends on:
ii emacs 46.1
ii emacs24 [emacsen] 24.5+1-7.1
ii emacs25 [emacsen] 25.1+1-3
ii emacsen-common 2.0.8
elpa-company recommends no packages.
elpa-company suggests no packages.
-- no debconf information
--
Sean Whitton
From d379d65b76d975b91a30f5e8905c8cabdfe96bc9 Mon Sep 17 00:00:00 2001 From: Sean Whitton <[email protected]> Date: Sun, 8 Jan 2017 10:21:21 -0700 Subject: [PATCH] add d/elpa-company.prerm to fix upgrade from -4 --- debian/changelog | 8 ++++++++ debian/elpa-company.prerm | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100755 debian/elpa-company.prerm diff --git a/debian/changelog b/debian/changelog index 83b346b..9eabae8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +company-mode (0.8.12-6) UNRELEASED; urgency=medium + + * Team upload. + * Add d/elpa-company.prerm to fix upgrades from 0.8.12-4 and below. + Thanks to 'cruncher' on #debian-next for help preparing the fix. + + -- Sean Whitton <[email protected]> Sun, 08 Jan 2017 10:20:35 -0700 + company-mode (0.8.12-5) unstable; urgency=medium * Rebuild with dh-elpa 1.5. Fix for removal in the presence of xemacs (fix diff --git a/debian/elpa-company.prerm b/debian/elpa-company.prerm new file mode 100755 index 0000000..905d734 --- /dev/null +++ b/debian/elpa-company.prerm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +# fix upgrade from 0.8.12-5 and below, which can fail if xemacs21 is +# also installed. We manually upgrade the emacsen-common remove +# script so that it won't exit non-zero, which blocks the upgrade +if [ "$1" = "failed-upgrade" ] && dpkg --compare-versions "$2" lt 0.8.12-5; then + broken_remove_script="/usr/lib/emacsen-common/packages/remove/elpa-company" + sed --quiet -i "$broken_remove_script" \ + -e 's/find ${elc_dir} -type l -delete/[ -d ${elc_dir} ] && find ${elc_dir} -type l -delete/' + sed --quiet -i "$broken_remove_script" \ + -e 's/emacs23)/emacs2[0123]*)/' +fi + +#DEBHELPER# -- 2.11.0
signature.asc
Description: PGP signature

