Hello guys, There seems to be a problem with the -C option of pkg_info. This option is supposed to verify the signature of a given package. I didn't encounter this problem on OpenBSD 7.8, but it appears to be present in 7.9. I ran these tests on a virtual machine I had running version 7.8, but after updating to 7.9, the problem arose. About the "-C" option the manual says: -C Show certificate information for signed packages. To be specific, the problem is the last line, which should indicate that the package is correctly signed. Here it is (I removed the white lines); the problem is the final error: ----- # pkg_info -C xz Information for inst:xz-5.8.3 Comment: library and tools for XZ and LZMA compressed files Required by: python-3.13.14 tiff-4.7.1p2 zstd-1.5.7p0 Description: XZ Utils provide a general purpose data compression library and command line tools. The native file format is the .xz format, but also the legacy .lzma format is supported. The .xz format supports multiple compression algorithms, of which LZMA2 is currently the primary algorithm. With typical files, XZ Utils create about 30 % smaller files than gzip. Maintainer: Christian Weisgerber <[email protected]> WWW: https://tukaani.org/xz/ Can't call method "name" on an undefined value at /usr/libdata/perl5/OpenBSD/PkgInfo.pm line 433. ---- I also tried running a diff between the /usr/libdata/perl5/OpenBSD directory in OpenBSD 7.8 and 7.9, but they don't seem very different to me... so I assume the problem stems more generally from the directory structure higher up.
I’ll add one more thing that has nothing to do with the problem mentioned above… I’m just mentioning it out of curiosity… since I don’t know what to make of it. It could be a problem, or it could be nothing. I ran the command pkg_check -f and it returned a hash mismatch for node-22.23.2v0... that is, it seems that node had a different hash than the original package but the same size. I think it's a false positive... I also ran a `hexdump -C` on both binaries and compared them with `diff`... and it produced a 3 MB file. Still, we're talking about two huge executables... about 100 MB each... so a text diff file of just 3 MB seems insignificant to me. In any case, if anyone would like to take a look, I’ve shared both files along with their hashes here: https://drive.google.com/drive/folders/1MALmOETPPVJ4YLGbmtcg47kIdRFrWkGn?usp=sharing Here are other info: $ ./node.strange --version v22.23.2 $ ./node.original --version v22.23.2 $ ls -l node.original node.strange -rwxr-xr-x 1 myuser myuser 99961784 Sep 17 11:39 node.strange -rwxr-xr-x 1 myuser myuser 99961784 Sep 20 16:18 node.original /var/db/pkg/node-22.23.2v0 $ grep -A 3 bin/node$ +CONTENTS @bin bin/node @sha v+O2xvhfcXpVUHHCj4MCBDUzDkkLNRbGJ3w6ZzvygZM= @size 99961784 @ts 1787673809 $ sha256 -b node.original node.strange SHA256 (node.original) = v+O2xvhfcXpVUHHCj4MCBDUzDkkLNRbGJ3w6ZzvygZM= SHA256 (node.strange) = eAo22ce9MLZF3we9e3dh2FhsCw38Xm4Lk2qGH3aGaAY= When I discovered the mismatch, I uninstalled the package, but first I made a copy of the binary, and then I reinstalled it. Then I ran `pkg_check -f` again, and the mismatch was gone. Thanks all Luigi Vianello

