Bug#910009: exim4-config: upgrade fails when trying to execute conffile difference visualizer

Vincent Lefevre vincent at vinc17.net
Mon Oct 1 13:08:17 BST 2018


On 2018-10-01 12:12:21 +0100, Adam D. Barratt wrote:
> On 2018-10-01 10:19, Vincent Lefevre wrote:
> > Package: exim4-config
> > Version: 4.91-8
> > Severity: grave
> > Justification: renders package unusable
> [...]
> > *** exim4.conf.template (Y/I/N/O/D/Z) [default=N] ? D
> > dpkg (subprocess): unable to execute conffile difference visualizer
> > (less -Lis): No such file or directory
> > dpkg: error processing package exim4-config (--configure):
> >  conffile difference visualizer subprocess returned error exit status 2
> 
> How is this possibly a bug in exim4-config? That package does not specify
> what command dpkg should use in order to page diffs.
> 
> Looking at the dpkg source code, it first checks $PAGER and if that's not
> set falls back to running the "pager" executable. That suggests one of two
> things:
> 
> - you have $PAGER set to "less -Lis" and for some reason don't have less
> available

It is set to "less -Lis", and I could check that it still works fine.
Note that I've used this value since December 2012 and had never had
any problem with it, including with the conffile difference visualizer:
the last time on this machine was on 2018-08-31, according to
/var/log/apt/term.log* files:

Log started: 2018-08-31  15:21:38
[...]
Installing new version of config file /etc/apparmor.d/abstractions/lightdm ...

Configuration file '/etc/lightdm/lightdm.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** lightdm.conf (Y/I/N/O/D/Z) [default=N] ? D
[blank lines]
--- /etc/lightdm/lightdm.conf   2016-07-01 13:06:09.139950327 +0200
+++ /etc/lightdm/lightdm.conf.dpkg-new  2018-08-28 11:29:22.000000000 +0200
[...]

So, there doesn't seem to be anything wrong with my config.

> - your /usr/bin/pager alternative points to something that's not installed
> on your system.

Just in case, /usr/bin/pager works fine too (but since $PAGER is set,
this does not matter).

> 1) What is $PAGER set to in the environment in which you performed the
> upgrade?

less -Lis

> 2) What does /usr/bin/pager point to? (Please chase any symlinks to the
> ultmate endpoint)

/usr/bin/pager -> /etc/alternatives/pager
/etc/alternatives/pager -> /bin/less

> 3) How precisely did you invoke dpkg?

I used aptitude with its curses UI.

A possible bug might be that $PAGER is run as a program name,
instead of something like system(), which allows options.

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



More information about the Pkg-exim4-maintainers mailing list