2 releases

0.0.2 Jun 21, 2024
0.0.1 Feb 5, 2024

#428 in Concurrency

Download history 8/week @ 2024-03-28 2/week @ 2024-04-04 124/week @ 2024-06-20 1/week @ 2024-06-27 10/week @ 2024-07-04

135 downloads per month

MIT and GPL-3.0-or-later

7.5MB
195K SLoC

C 116K SLoC // 0.1% comments Rust 33K SLoC // 0.0% comments M4 20K SLoC // 0.2% comments Shell 17K SLoC // 0.2% comments Happy 6.5K SLoC Ebuild 2K SLoC // 0.1% comments GNU Style Assembly 67 SLoC Bitbake 33 SLoC Automake 9 SLoC

Contains (autotools obfuscated code, 470KB) testdata/autotools/configure, (obscure autoconf code, 1KB) testdata/autotools/configure.ac

QA library and tools based on pkgcraft.

WARNING

Pkgcraft currently lacks proper handling for generating ebuild metadata in threads so pkgcruft will often crash when run on repos lacking metadata (see issue #178).

As a workaround, the command pk pkg metadata can be called from any ebuild repo directory to generate related package metadata and on successful completion pkgcruft scan can be called.

Requirements

A recent version of rust and compatible clang compiler.

Install

Static binaries are available for releases on supported platforms or cargo install can be used.

Install from crates.io:

cargo install pkgcruft

Install from git:

cargo install pkgcruft --git https://github.com/pkgcraft/pkgcraft.git

Benchmarking

Benchmarks can be run individually for every check against a repo target:

# set repo target
export PKGCRUFT_BENCH_REPO=path/to/repo

# update repo metadata
pk repo metadata regen path/to/repo

# run benchmarks
cargo criterion Check --features test -p pkgcruft

Dependencies

~31–63MB
~1.5M SLoC