Bug#905188: [pkg-cryptsetup-devel] Bug#905188: cryptsetup-initramfs: fails to install, remove, distupgrade, and install again

2018-08-01 Thread Andreas Beckmann
Hi Guilhem,

On 2018-08-01 19:01, Guilhem Moulin wrote:
> On Wed, 01 Aug 2018 at 13:20:37 +0200, Andreas Beckmann wrote:
>> Configuration file '/etc/cryptsetup-initramfs/conf-hook'
>>  ==> Deleted (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.
>> *** conf-hook (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package 
>> cryptsetup-initramfs (--configure):
>>  end of file on stdin at conffile prompt
>> dpkg: dependency problems prevent configuration of cryptsetup:
>>  cryptsetup depends on cryptsetup-initramfs (>= 2:2.0.3-1); however:
>>   Package cryptsetup-initramfs is not configured yet.
> 
> I wonder if it's a false positive?  Following the same upgrade path in a
No, already asking the question about the conffile that was *not*
modified by the user is a policy violation. That's the the piuparts bug
template for this error in "normal" upgrade scenarios:

Hi,

during a test with piuparts I noticed your package failed the piuparts
upgrade test because dpkg detected a conffile as being modified and then
prompted the user for an action. As there is no user input, this fails.
But this is not the real problem, the real problem is that this prompt
shows up in the first place, as there was nobody modifying this conffile
at all, the package has just been installed and upgraded...

This is a violation of policy 10.7.3, see
https://www.debian.org/doc/debian-policy/#behavior,
which says "[These scripts handling conffiles] must not ask unnecessary
questions (particularly during upgrades), and must otherwise be good
citizens."

https://wiki.debian.org/DpkgConffileHandling should help with figuring
out how to do this properly.

In https://lists.debian.org/debian-devel/2009/08/msg00675.html and
followups it has been agreed that these bugs are to be filed with
severity serious.

Andreas



Bug#905188: [pkg-cryptsetup-devel] Bug#905188: cryptsetup-initramfs: fails to install, remove, distupgrade, and install again

2018-08-01 Thread Guilhem Moulin
Control: tag -1 moreinfo

Hi Andreas,

On Wed, 01 Aug 2018 at 13:20:37 +0200, Andreas Beckmann wrote:
> Configuration file '/etc/cryptsetup-initramfs/conf-hook'
>  ==> Deleted (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.
> *** conf-hook (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package 
> cryptsetup-initramfs (--configure):
>  end of file on stdin at conffile prompt
> dpkg: dependency problems prevent configuration of cryptsetup:
>  cryptsetup depends on cryptsetup-initramfs (>= 2:2.0.3-1); however:
>   Package cryptsetup-initramfs is not configured yet.

I wonder if it's a false positive?  Following the same upgrade path in a
stretch chroot:

$ apt install cryptsetup
$ apt remove cryptsetup
$ sed -i s/stretch/buster/g /etc/apt/sources.list.d/debian.sources 
$ apt update
$ apt dist-upgrade
$ apt install cryptsetup

The log differs as follows:

Configuration file '/etc/cryptsetup-initramfs/conf-hook'
 ==> Deleted (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.
*** conf-hook (Y/I/N/O/D/Z) [default=N] ? 
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
debconf: falling back to frontend: Readline
update-initramfs: deferring update (trigger activated)
Setting up cryptsetup (2:2.0.3-6) ...
Processing triggers for initramfs-tools (0.132) ...

And the upgrade path is successful.  AFICT piuparts's dpkg processes
fail because there is no working standard input.  But normal systems
have a working standard input, and the upgrade path is function there. 
AFAIK automatic configuration tools install with

DEBIAN_FRONTEND=noninteractive apt-get install -o 
"Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" -y

which also works.

-- 
Guilhem.


signature.asc
Description: PGP signature