pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wip/pkgchkxx: a complete reimplementation of pkg_chk and pkg_rolling-replace



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

Home | Main Index | Thread Index | Old Index