Control: reassign -1 mono-gac 6.8.0.105+dfsg-3
Control: retitle -1 mono-gac: messes with the unpacking of another package

[ Leaving context for the reassign. ]

Hi!

On Fri, 2021-03-12 at 12:54:31 +0100, Andreas Beckmann wrote:
> Package: mono-runtime-common,dpkg
> Severity: serious
> User: debian...@lists.debian.org
> Usertags: piuparts
> Control: found -1 6.8.0.105+dfsg-3
> Control: found -1 1.20.7.1

> during a test with piuparts I noticed your package modifies conffiles.
> Or rather, it appears so.
> 
> piuparts reports:
> 
> 0m48.5s ERROR: FAIL: debsums reports modifications inside the chroot:
>   /etc/mono/config
> 
> I don't see something obviously wrong in the package:
> 
> mono-runtime-common 5.18.0.240+dfsg-3 (buster) ships
> 
> # ls -la /etc/mono/config
> -rw-r--r-- 1 root root 2890 Apr 16  2019 /etc/mono/config
> # md5sum /etc/mono/config
> dc9d7e7fbd83e76c7c7956f392a6ee6f  /etc/mono/config
> # dpkg -s mono-runtime-common | grep /etc/mono/config
>  /etc/mono/config dc9d7e7fbd83e76c7c7956f392a6ee6f
> 
> mono-runtime-common 6.8.0.105+dfsg-3 (bullseye/sid) ships
> 
> # ls -la /etc/mono/config
> -rw-r--r-- 1 root root 3093 Apr  8  2020 /etc/mono/config
> # md5sum /etc/mono/config
> 267499e20c8acc00b7e01596bec6adba  /etc/mono/config
> # dpkg -s mono-runtime-common | grep /etc/mono/config
>  /etc/mono/config newconffile
> 
> That's a weird entry in dpkg's status file
> 
> There is no report about updating the conffile during the upgrade:
> 
> [...]
>   Preparing to unpack .../18-mono-runtime-common_6.8.0.105+dfsg-3_amd64.deb 
> ...
>   Unpacking mono-runtime-common (6.8.0.105+dfsg-3) over (5.18.0.240+dfsg-3) 
> ...
> [...]
>   Setting up mono-runtime-common (6.8.0.105+dfsg-3) ...
>   Processing triggers for libc-bin (2.31-9) ...
> [...]
> 
> and in the chroot I find this after the upgrade:
> 
> # ls -la /etc/mono/config*
> -rw-r--r-- 1 root root 3093 Apr  8  2020 /etc/mono/config
> # md5sum /etc/mono/config
> 267499e20c8acc00b7e01596bec6adba  /etc/mono/config
> # dpkg -s mono-runtime-common | grep /etc/mono/config
>  /etc/mono/config dc9d7e7fbd83e76c7c7956f392a6ee6f
> 
> So the new file is there, but dpkg still remembers the old md5sum.

I reproduced the upgrade, and then grepped for anything in the dpkg
database touching that file. And found that this is because mono-gac
is messing around with the conffile unpacking of another package, and
then obviously dpkg gets very confused:

  ,---
  $ dpkg-query --control-show mono-gac postinst | head
  #!/bin/sh -e

  # Work around for gacutil needing /etc/mono/config >= 5.20
  if [ -e /etc/mono/config.dpkg-new ]; then
          mv /etc/mono/config.dpkg-new /etc/mono/config
  fi

  # On upgrades we need to repopulate the GAC and framework paths
  # to accomodate any changes in layout
  #
  `---

The "work around" there is completely wrong. :)

Thanks,
Guillem

Reply via email to