4 releases

new 0.0.4 Nov 21, 2024
0.0.3 Jul 30, 2024
0.0.2 Jun 21, 2024
0.0.1 Feb 5, 2024

#201 in Profiling

Download history 150/week @ 2024-07-25 21/week @ 2024-08-01 24/week @ 2024-09-12 20/week @ 2024-09-19 7/week @ 2024-09-26

227 downloads per month

MIT and GPL-3.0-or-later

7.5MB
198K SLoC

C 116K SLoC // 0.1% comments Rust 36K 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 43 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

~32–65MB
~1.5M SLoC