| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: perl-Cavil-Matcher | Distribution: openSUSE Tumbleweed |
| Version: 1.10.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Wed Aug 5 09:49:20 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 205735 | Source RPM: perl-Cavil-Matcher-1.10.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://metacpan.org/release/Cavil-Matcher | |
| Summary: Next-generation license pattern matcher for Cavil | |
'Cavil::Matcher' turns source files into license and keyword matches for at https://github.com/openSUSE/cavil. It keeps the proven token-hash prefix-tree algorithm of its predecessor, Spooky::Patterns::XS, but stores the compiled patterns as immutable, memory-mapped *segments* described by a small *manifest*, so that adding or removing a pattern never rebuilds the whole cache and index workers share one physical copy of the data per host. The tokenizer and hashing are a frozen C++ core, bit-for-bit compatible with the previous engine; the segment lifecycle is pure Perl (see Cavil::Matcher::Index and Cavil::Matcher::Manifest). For the design and rationale see _docs/Architecture.md_.
GPL-1.0-or-later
* Wed Aug 05 2026 Tina Müller <timueller+perl@suse.de>
- updated to 1.10.0 (1.01)
see /usr/share/doc/packages/perl-Cavil-Matcher/Changes
1.01 2026-08-04
- Big indexing speedup: the scan path (load/attach) no longer re-checksums a segment's whole
payload on every open. A compiled segment is an immutable, atomically-published cache that is
already CRC-checked when written, so re-CRCing hundreds of megabytes in every forked index job
was almost the entire cost of a load (~97% in a 160 MB corpus: ~293ms -> ~8ms). Structural
validation still always runs, so bad segments are rejected and scanning stays memory-safe;
only per-scan detection of on-disk bit-rot is dropped.
- CRC is now verified where it is meaningful: once at publish (dump() fully verifies before the
atomic rename) and on demand via the new Engine verify($file) method (an fsck for a cache dir).
- Same treatment for the closest-match "bag of patterns" cache (Bag::load, used by analyze): the
load path trusts the payload CRC (the record parse still bounds-checks every read), with a new
Bag verify($file) method and a publish-time check.
- No on-disk format change: existing segments load as-is, no reindex, and old/new engines
interoperate on the same files (in-place upgrade is seamless).
* Wed Jul 22 2026 Tina Müller <tina.mueller@suse.com>
- initial package 1.0.0 (1.00)
* created by cpanspec 1.84.01
/usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/Cavil /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/Cavil/Matcher /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/Cavil/Matcher.pm /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/Cavil/Matcher/Index.pm /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/Cavil/Matcher/Manifest.pm /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/auto/Cavil /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/auto/Cavil/Matcher /usr/lib/perl5/vendor_perl/5.44.0/x86_64-linux-thread-multi/auto/Cavil/Matcher/Matcher.so /usr/share/doc/packages/perl-Cavil-Matcher /usr/share/doc/packages/perl-Cavil-Matcher/Changes /usr/share/doc/packages/perl-Cavil-Matcher/README.md /usr/share/doc/packages/perl-Cavil-Matcher/docs /usr/share/doc/packages/perl-Cavil-Matcher/docs/Architecture.md /usr/share/licenses/perl-Cavil-Matcher /usr/share/licenses/perl-Cavil-Matcher/COPYING /usr/share/man/man3/Cavil::Matcher.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 23 00:12:05 2026