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
foo_0_all.deb
Description: application/debian-package
bar_0_all.deb
Description: application/debian-package

