Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
Control: tag -1 + pending Hi Jörg and Göran, In the absence of feedback I plan to upload a new revision of emacs-goodies-el with a hard dependency on emacsen-common >= 3.0.2 sometime in the next 24h. Cheers, Nicholas signature.asc Description: PGP signature
Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
Hi Göran, On Fri, Aug 03, 2018 at 10:31:08AM +0200, Göran Weinholt wrote: > Package: emacs-goodies-el > Version: 40.0 > Followup-For: Bug #905235 > > Hi, > > I ran into this myself today and had a stab at reproducing it. In case > it doesn't work on your machine, you can try it with Docker: > > $ docker run -it debian:buster-20180716 > > # echo deb http://snapshot.debian.org/archive/debian/20180802T205558Z buster > main > /etc/apt/sources.list > # apt update > # apt -y --no-install-recommends install emacs25-nox=25.2+1-6+b3 > emacs-goodies-el=39.0 > # echo deb http://snapshot.debian.org/archive/debian/20180802T205558Z sid > main > /etc/apt/sources.list > # apt update > # apt -y --no-install-recommends upgrade Ah, that's what's happening! Bugs are popping up in various emacs packages that don't use dh-elpa because users are doing partial upgrades to sid without installing the new emacsen-common. It's a bit heavy-handed, but having packages such as emacs-goodies-el (or w3m-el, see #903200) declare a hard dependency on emacsen-common >= 3.0.2 will prevent this issue from triggering. I confirmed this 3 Aug with clean chroot upgrades of buster from @/20180802T205558Z to sid. Russ, On Sat, 04 Aug 2018 09:41:17 -0700, Russ Allbery wrote: > Filed as important rather than higher since I think this may be some > edge case that happened on my system rather than a universal problem, > since I haven't let the emacs25 -> emacs upgrade happen yet (waiting > for auctex). Yes, to my eye that is what's causing this. On a related issue, it seems a number of users are upgrading emacs-goodies-el without installing recommends. At some point Emacs-goodies-el will become a dummy transitional package that only contains documentation. If these dependencies remain as recommends and users --no-install-recommends then they will lose functionality that was previously part of goodies—gives users maximum freedom to do so. Alternatively, we can make emacs-goodies-el hard depend on this packages. This is what a dummy transitional package usually does. A side effect of this is that some of the modes have heavier depends than in the past. Eg: eproject now depends on helm. Cheers, Nicholas
Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
Package: emacs-goodies-el Version: 40.0 Followup-For: Bug #905235 Hi, I ran into this myself today and had a stab at reproducing it. In case it doesn't work on your machine, you can try it with Docker: $ docker run -it debian:buster-20180716 # echo deb http://snapshot.debian.org/archive/debian/20180802T205558Z buster main > /etc/apt/sources.list # apt update # apt -y --no-install-recommends install emacs25-nox=25.2+1-6+b3 emacs-goodies-el=39.0 # echo deb http://snapshot.debian.org/archive/debian/20180802T205558Z sid main > /etc/apt/sources.list # apt update # apt -y --no-install-recommends upgrade It fails in this manner: Preparing to unpack .../6-emacs-goodies-el_40.0_all.deb ... Remove emacs-goodies-el for emacs25 remove/emacs-goodies-el: purging byte-compiled files for emacs25 Unpacking emacs-goodies-el (40.0) over (39.0) ... Install emacs-goodies-el for emacs25 install/emacs-goodies-el: Handling emacs25, logged in /tmp/elc_D2D0Aw.log Building autoloads for emacs25 in /usr/share/emacs25/site-lisp/emacs-goodies-el ERROR: install script from emacs-goodies-el package failed dpkg: error processing package emacs-goodies-el (--configure): installed emacs-goodies-el package post-installation script subprocess returned error exit status 1 emacs25 -batch --no-site-file --multibyte --eval (setq load-path (cons "." load-path)) -l autoload --eval (setq generated-autoload-file (expand-file-name "emacs-goodies-loaddefs.el")) --eval (setq make-backup-files nil) -f batch-update-autoloads . Warning (initialization): Ignoring obsolete arg --multibyte align-string.el:0:0: error: file-error: (Opening input file No such file or directory /usr/share/emacs25/site-lisp/emacs-goodies-el/align-string.el) Most of the symlinks are broken, not only align-string.el: # ls -lL /usr/share/emacs25/site-lisp/emacs-goodies-el/ 2>/dev/null total 188 l? ? ???? align-string.el -rw-r--r-- 1 root root 7045 Aug 1 01:58 all.el l? ? ???? apache-mode.el l? ? ???? ascii.el l? ? ???? bar-cursor.el l? ? ???? boxquote.el l? ? ???? browse-huge-tar.el l? ? ???? button-lock.el l? ? ???? clipper.el l? ? ???? coffee.el l? ? ???? color-theme-library.el l? ? ???? color-theme.el l? ? ???? color-theme_seldefcustom.el l? ? ???? ctypes.el l? ? ???? dedicated.el l? ? ???? df.el -rw-r--r-- 1 root root 7428 Aug 1 01:58 dir-locals.el l? ? ???? edit-env.el l? ? ???? egocentric.el -rw-r--r-- 1 root root 1631 Aug 1 01:58 emacs-goodies-custom.el -rw-r--r-- 1 root root 3720 Aug 1 01:58 emacs-goodies-el.el -rw-r--r-- 1 root root 104 Aug 3 07:57 emacs-goodies-loaddefs.el -rw-r--r-- 1 root root 45619 Aug 1 01:58 ff-paths.el l? ? ???? floatbg.el l? ? ???? initsplit.el l? ? ???? joc-toggle-buffer.el l? ? ???? joc-toggle-case.el l? ? ???? keydef.el l? ? ???? keywiz.el l? ? ???? lcomp.el l? ? ???? map-lines.el l? ? ???? maplev.el l? ? ???? marker-visit.el l? ? ???? miniedit.el l? ? ???? mutt-alias.el -rw-r--r-- 1 root root 54765 Aug 1 01:58 muttrc-mode.el l? ? ???? pack-windows.el l? ? ???? perldoc.el l? ? ???? pp-c-l.el -rw-r--r-- 1 root root 9819 Aug 1 01:58 projects.el l? ? ???? protbuf.el l? ? ???? setnu.el l? ? ???? shell-command.el l? ? ???? silly-mail.el l? ? ???? slang-mode.el l? ? ???? tc.el l? ? ???? tlc.el -rw-r--r-- 1 root root 11446 Aug 1 01:58 tld.el l? ? ???? todoo.el l? ? ???? toggle-option.el -rw-r--r-- 1 root root 10745 Aug 1 01:58 twiddle.el l? ? ???? under.el -rw-r--r-- 1 root root 19643 Aug 1 01:58 xrdb-mode.el -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (800, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, armhf,
Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
stretch2buster: installed emacs-nox (uses emacs24-nox) installed emacs-goodies-el modified /etc/apt/sources.list and ran dist-upgrade - to buster dist-upgrade succeeded emacs-goodies-el 36.3+nmu1 to 40.0 succeeded - installed 40.0 with dpkg on top of buster's 39.9 Automated piuparts are also good: https://piuparts.debian.org/sid/source/e/emacs-goodies-el.html I'll keep an eye on the piuparts page. Were you using aptitude when this bug was triggered? Cheers, Nicholas signature.asc Description: PGP signature
Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
Control: tag -1 + moreinfo Hi Jörg, Thank you very much for your bug report, reply follows inline. On Wed, Aug 01, 2018 at 08:30:19PM +0200, Jörg Sommer wrote: > Package: emacs-goodies-el > Version: 40.0 > Severity: normal > > Hi, > > today, I've upgraded to 40.0, but it failed: ... > Remove emacs-goodies-el for emacs25 ... > Install emacsen-common for emacs25 > emacsen-common: Handling install of emacsen flavor emacs25 > Install emacs-goodies-el for emacs25 > install/emacs-goodies-el: Handling emacs25, logged in /tmp/elc_wIafhR.log > Building autoloads for emacs25 in > /usr/share/emacs25/site-lisp/emacs-goodies-el > ERROR: install script from emacs-goodies-el package failed Just to confirm, is your emacs25 a transitional package to emacs (unversioned)? > remove/emacs-goodies-el: purging byte-compiled files for emacs25 > Unpacking emacs-goodies-el (40.0) over (39.0) ... > [1mdpkg:[0m error processing package emacs-goodies-el (--configure): > installed emacs-goodies-el package post-installation script subprocess > returned error exit status 1 > Setting up libthai0:amd64 (0.1.28-1) ... > Setting up libthai0:i386 (0.1.28-1) ... > Processing triggers for libc-bin (2.27-5) ... > Errors were encountered while processing: > emacs-goodies-el > Log ended: 2018-08-01 20:12:00 > ``` > > /var/log/apt/term.log > ``` > emacs25 -batch --no-site-file --multibyte --eval (setq load-path (cons "." > load-path)) -l autoload --eval (setq generated-autoload-file > (expand-file-name "emacs-goodies-loaddefs.el")) --eval (setq > make-backup-files nil) -f batch-update-autoloads . > Warning (initialization): Ignoring obsolete arg --multibyte > align-string.el:0:0: error: file-error: (Opening input file No such file or > directory /usr/share/emacs25/site-lisp/emacs-goodies-el/align-string.el) > ``` > > ```shell > % print -l /usr/share/emacs25/site-lisp/emacs-goodies-el/*(-@) > /usr/share/emacs25/site-lisp/emacs-goodies-el/apache-mode.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/ascii.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/bar-cursor.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/boxquote.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/browse-huge-tar.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/button-lock.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/clipper.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/coffee.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme-library.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme_seldefcustom.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/ctypes.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/dedicated.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/df.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/edit-env.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/egocentric.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/floatbg.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/initsplit.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/joc-toggle-buffer.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/joc-toggle-case.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/keydef.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/keywiz.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/lcomp.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/maplev.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/map-lines.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/marker-visit.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/miniedit.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/mutt-alias.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/pack-windows.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/perldoc.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/pp-c-l.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/protbuf.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/setnu.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/shell-command.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/silly-mail.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/slang-mode.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/tc.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/tlc.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/todoo.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/toggle-option.el > /usr/share/emacs25/site-lisp/emacs-goodies-el/under.el > ``` > > I've removed these files and the package install (`apt install -f`) went > fine. I wonder why only /usr/share/emacs25/site-lisp/emacs-goodies-el/align-string.el was missing? Kudos for the proactive workaround :-) In response to this bug I'm trying to determine if a maintscript is necessary to prevent others from encountering this issue. P.S, a Debian Emacsen team goal for buster is for emacs-goodies-el to become a documentation-only transitional package. > -- System Information: > Debian Release: buster/sid > APT prefers unstable-debug > APT policy: (500,
Bug#905235: emacs-goodies-el failed to install due to old broken symlinks
Package: emacs-goodies-el Version: 40.0 Severity: normal Hi, today, I've upgraded to 40.0, but it failed: /var/log/apt/term.log ``` Log started: 2018-08-01 20:11:49 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 422169 files and directories currently installed.) Preparing to unpack .../emacs-goodies-el_40.0_all.deb ... Remove emacs-goodies-el for emacs25 remove/emacs-goodies-el: purging byte-compiled files for emacs25 Unpacking emacs-goodies-el (40.0) over (39.0) ... Preparing to unpack .../libthai-data_0.1.28-1_all.deb ... Unpacking libthai-data (0.1.28-1) over (0.1.27-2) ... Preparing to unpack .../libthai0_0.1.28-1_i386.deb ... De-configuring libthai0:amd64 (0.1.27-2) ... Unpacking libthai0:i386 (0.1.28-1) over (0.1.27-2) ... Preparing to unpack .../libthai0_0.1.28-1_amd64.deb ... Unpacking libthai0:amd64 (0.1.28-1) over (0.1.27-2) ... Processing triggers for install-info (6.5.0.dfsg.1-4) ... Processing triggers for libc-bin (2.27-5) ... Setting up libthai-data (0.1.28-1) ... Setting up emacs-goodies-el (40.0) ... Install emacsen-common for emacs25 emacsen-common: Handling install of emacsen flavor emacs25 Install emacs-goodies-el for emacs25 install/emacs-goodies-el: Handling emacs25, logged in /tmp/elc_wIafhR.log Building autoloads for emacs25 in /usr/share/emacs25/site-lisp/emacs-goodies-el ERROR: install script from emacs-goodies-el package failed [1mdpkg:[0m error processing package emacs-goodies-el (--configure): installed emacs-goodies-el package post-installation script subprocess returned error exit status 1 Setting up libthai0:amd64 (0.1.28-1) ... Setting up libthai0:i386 (0.1.28-1) ... Processing triggers for libc-bin (2.27-5) ... Errors were encountered while processing: emacs-goodies-el Log ended: 2018-08-01 20:12:00 ``` /var/log/apt/term.log ``` emacs25 -batch --no-site-file --multibyte --eval (setq load-path (cons "." load-path)) -l autoload --eval (setq generated-autoload-file (expand-file-name "emacs-goodies-loaddefs.el")) --eval (setq make-backup-files nil) -f batch-update-autoloads . Warning (initialization): Ignoring obsolete arg --multibyte align-string.el:0:0: error: file-error: (Opening input file No such file or directory /usr/share/emacs25/site-lisp/emacs-goodies-el/align-string.el) ``` ```shell % print -l /usr/share/emacs25/site-lisp/emacs-goodies-el/*(-@) /usr/share/emacs25/site-lisp/emacs-goodies-el/apache-mode.el /usr/share/emacs25/site-lisp/emacs-goodies-el/ascii.el /usr/share/emacs25/site-lisp/emacs-goodies-el/bar-cursor.el /usr/share/emacs25/site-lisp/emacs-goodies-el/boxquote.el /usr/share/emacs25/site-lisp/emacs-goodies-el/browse-huge-tar.el /usr/share/emacs25/site-lisp/emacs-goodies-el/button-lock.el /usr/share/emacs25/site-lisp/emacs-goodies-el/clipper.el /usr/share/emacs25/site-lisp/emacs-goodies-el/coffee.el /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme.el /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme-library.el /usr/share/emacs25/site-lisp/emacs-goodies-el/color-theme_seldefcustom.el /usr/share/emacs25/site-lisp/emacs-goodies-el/ctypes.el /usr/share/emacs25/site-lisp/emacs-goodies-el/dedicated.el /usr/share/emacs25/site-lisp/emacs-goodies-el/df.el /usr/share/emacs25/site-lisp/emacs-goodies-el/edit-env.el /usr/share/emacs25/site-lisp/emacs-goodies-el/egocentric.el /usr/share/emacs25/site-lisp/emacs-goodies-el/floatbg.el /usr/share/emacs25/site-lisp/emacs-goodies-el/initsplit.el /usr/share/emacs25/site-lisp/emacs-goodies-el/joc-toggle-buffer.el /usr/share/emacs25/site-lisp/emacs-goodies-el/joc-toggle-case.el /usr/share/emacs25/site-lisp/emacs-goodies-el/keydef.el /usr/share/emacs25/site-lisp/emacs-goodies-el/keywiz.el /usr/share/emacs25/site-lisp/emacs-goodies-el/lcomp.el /usr/share/emacs25/site-lisp/emacs-goodies-el/maplev.el /usr/share/emacs25/site-lisp/emacs-goodies-el/map-lines.el /usr/share/emacs25/site-lisp/emacs-goodies-el/marker-visit.el /usr/share/emacs25/site-lisp/emacs-goodies-el/miniedit.el /usr/share/emacs25/site-lisp/emacs-goodies-el/mutt-alias.el /usr/share/emacs25/site-lisp/emacs-goodies-el/pack-windows.el /usr/share/emacs25/site-lisp/emacs-goodies-el/perldoc.el /usr/share/emacs25/site-lisp/emacs-goodies-el/pp-c-l.el /usr/share/emacs25/site-lisp/emacs-goodies-el/protbuf.el /usr/share/emacs25/site-lisp/emacs-goodies-el/setnu.el /usr/share/emacs25/site-lisp/emacs-goodies-el/shell-command.el /usr/share/emacs25/site-lisp/emacs-goodies-el/silly-mail.el