On 7/22/23 22:19, Rhialto wrote:
On Sat 22 Jul 2023 at 18:54:23 +0900, PHO wrote:This implementation achieves better performance by using a faster language, better algorithms, and making use of many CPUs whenever possible. The latter is the primary reason why a complete rewrite was needed: doing it in POSIX shell was simply not feasible.Very useful! I use pkg_chk as base for rebuilding my packages quarterly and it is always a bit annoying how long it takes for `pkg_chk -rvk` to analyze all package versions, before it gets to do anything. I gave it a quick go and "pkgchkxx -rn" even found some outdated packages that pkg_chk seems to have overlooked.
pkgchkxx uses a slightly different algorithm for analyzing packages that have more than a single PKGNAME, such as py-*, ruby-*, and lua-*. Maybe that's why.
For some reason it keeps telling me "** Ignoring "/scratch/packages.amd64-9.2/All/pkg_summary.gz" as there are newer packages in "/scratch/packages.amd64-9.2/All" even though pkg_summary.gz is definitely the newest file in the directory.
Umm... Then there must be a bug either in my code or std::filesystem.
"pkgchkxx -N" reports some "newer versions" of packages where I wonder where it got that from. For example: procmail: procmail-3.24 /usr/pkgsrc/mail/procmail/Makefile definitely contains DISTNAME= procmail-3.22 but also # 3.24 is at https://github.com/BuGlessRB/procmail/archive/refs/tags/v3.24.tar.gz So I'm curious how it knows about this :)
pkgchkxx -N (and pkg_chk -N also) looks for newer versions noted in ${PKGSRCDIR}/doc/TODO. That's the point of the option :D