On 2017-08-14 17:26 +0200, Sven Joachim wrote:

> Package: dpkg
> Version: 1.18.24
> Severity: normal
>
> Something strange is happening here: "dpkg --verify" complains about the
> file /usr/share/man/man1/cpp.1.gz (a symlink shipped in the cpp-doc
> package), but only if the package containing it is _not_ given on the
> commandline.
>
> ,----
> | $ dpkg -S /usr/share/man/man1/cpp.1.gz 
> | cpp-doc: /usr/share/man/man1/cpp.1.gz
> | $ dpkg --verify cpp-doc
> | $ dpkg --verify 2>/dev/null | grep cpp
> | ??5??????   /usr/share/man/man1/cpp.1.gz
> `----

It turned out that this happened because I had an obsolete and
long-forgotten package installed which also shipped
/usr/share/man/man1/cpp.1.gz[1], and I had reinstalled cpp-doc with
"--force-overwrite" back then.  Still, the md5sum of the replaced file
was still in place.

,----
| $ grep cpp.1.gz /var/lib/dpkg/info/*md5sums
| 
/var/lib/dpkg/info/pcc-for-i386-linux-gnu.md5sums:64430acd117b32ae7b6afceec7371927
  usr/share/man/man1/cpp.1.gz
`----

The problem can be reproduced with the attached dummy packages where a
regular file is replaced with a symlink (thus, there is no md5sum entry
for it in the replacing package).

,----
| $ dpkg --verify bar foo
| $ dpkg --verify foo bar                  
| ??5??????   /usr/bin/foo
`----

Cheers,
       Sven


1. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623952

Attachment: foo_0_all.deb
Description: application/debian-package

Attachment: bar_0_all.deb
Description: application/debian-package

Reply via email to