#872146 dpkg: dpkg --verify complains about /usr/share/man/man1/cpp.1.gz

Package:
dpkg
Source:
dpkg
Description:
Debian package management system
Submitter:
Sven Joachim
Date:
2021-11-22 00:27:06 UTC
Severity:
normal
#872146#5
Date:
2017-08-14 15:26:40 UTC
From:
To:
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
`----

#872146#10
Date:
2017-08-14 18:55:19 UTC
From:
To:
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

#872146#13
Date:
2021-11-22 00:07:16 UTC
From:
To:
Hi!

Bug #872146 in package dpkg reported by you has been fixed in
the dpkg/dpkg.git Git repository. You can see the changelog below, and
you can check the diff of the fix at:

https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=2549307d7
---
dpkg: Fix --verify to handle missing or inaccessible pathnames

When a pathname does not exist or we do not have permissions to access
it, on the rpm format print "missing" and append an error message
between parenthesis in case the file is present on the filesystem
but some other error disallowed getting information from it.

Closes: #872146

#872146#20
Date:
2021-11-22 00:23:04 UTC
From:
To:
Hi!

Hrmm, sorry that commit does not really fix this issue, that was
something else, will check whether I mixed up bugs, or I just
misrecalled the details or similar.

Thanks,
Guillem

#872146#25
Date:
2021-11-22 00:23:04 UTC
From:
To:
Hi!

Hrmm, sorry that commit does not really fix this issue, that was
something else, will check whether I mixed up bugs, or I just
misrecalled the details or similar.

Thanks,
Guillem