On Tue, 26 Jan 2021, Trent W. Buck wrote:
> A minimum recipe to reproduce this is:
> 
>     $ mmdebstrap sid sid.tar.zst \
>           --components='main contrib non-free' \
>           --include=intel-microcode \
>           --essential-hook='>$1/etc/default/intel-microcode echo 
> IUCODE_TOOL_INITRAMFS=yes IUCODE_TOOL_SCANCPUS=no' \
>           --verbose
>     [...]
>     Setting up intel-microcode (3.20201118.1) ...
> 
>     Configuration file '/etc/default/intel-microcode'
>      ==> File on system created by you or by a script.
>      ==> File also in package provided by package maintainer.
>        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.

That is a DPKG prompt, about a changed "conffile".  You need to tell
dpkg what it should do when it detects that a "conffile" has been
changed [prior to installation of a package].  Keep in mind dpkg also
prompts for this when a package upgrade changes a conffile that has been
locally modified.

Your options are in the dpkg manpage, and I don't know how you'd tell
mmdebstrap how to specify them.

If this is a bug, it affects *all* packages using conffiles
(configuration files managed by dpkg) and mmdebstrap's method of
preseeding them.

> ALLEGEDLY when DEBIAN_FRONTEND=noninteractive (which mmdebstrap does),
> that prompt should not appear, and method [A] should Just Work.

dpkg is not debconf (which responds to DEBIAN_FRONTEND), it is far more
low-level / basic.

> PS: it's possible this applies to lots of packages, and
> I just don't trigger it because 99% of them support "dropin" dirs
> (e.g. rsyslog.d/foo.conf instead of rsyslog.conf).
> If there's a dropin dir I can use for /etc/default/intel-microcode,
> that's Good Enough for me.

There's no dropin dir, as that'd be overkill for something like
intel-microcode.

For the same reason, it uses a plain dpkg conffile instead of elaborate
script-driven "config files", which you could deal with through
preseeding and DEBIAN_FRONTEND=noninteractive.

>     I can't see anything in /var/lib/dpkg/info/*microcode*inst that
>     looks relevant, so maybe this is a dpkg issue?

It is an issue on how mmdebstrap and other such utilities interact with
dpkg and user-modified conffiles, yes.  And it affects every package
that uses conffiles.

-- 
  Henrique Holschuh

Reply via email to