fsblame

LOW
maintainer arinerron 0 votes scanned 2026-10-17 05:17:05.948410
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Aaron Esau <git at aaronesau dot com>
2#
3# Builds the release tag from source (glibc, dynamically linked), with the man pages the
4# repository's xtask renders. GitHub tag archives omit submodules, so the tracekit
5# submodule comes from its own tag archive (update _tracekit when the submodule moves).
6# fsblame needs Linux >= 5.17 with BTF and CAP_BPF + CAP_PERFMON (sudo, or setcap).
7# fsblame-record.service is installed but not enabled: set FSBLAME_PATHS in
8# /etc/default/fsblame, then `systemctl enable --now fsblame-record`.
9
10pkgname=fsblame
11pkgver=0.1.1
12pkgrel=1
13_tracekit=0.1.0
14pkgdesc="Which command changed this file? Live eBPF attribution of file changes to the full process lineage"
15arch=(x86_64 aarch64)
16url=https://github.com/Arinerron/fsblame
17license=(MIT)
18depends=(glibc libgcc)
19# clang compiles the BPF programs; fsblame needs Rust >= 1.94.
20makedepends=(cargo clang)
21backup=(etc/default/fsblame)
22source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
23 "tracekit-$_tracekit.tar.gz::https://github.com/Arinerron/tracekit/archive/v$_tracekit.tar.gz")
24sha256sums=('1e1a8c88b510295a55fa2e8024ec1d3dbbe1f042bbcf98464ec9250b25d71d0a'
25 'c5d39a2c096b5e743a5b62085e84184cd682e0b6e127bfac23dd37dcfb058252')
26
27prepare() {
28 cd "$pkgname-$pkgver"
29 rmdir tracekit
30 mv ../"tracekit-$_tracekit" tracekit
31 # rust-toolchain.toml asks rustup for the musl targets the releases use; build for the
32 # host with the system toolchain instead.
33 export RUSTUP_TOOLCHAIN=stable
34 cargo fetch --locked --target "$(rustc -vV | sed -n 's/^host: //p')"
35}
36
37build() {
38 cd "$pkgname-$pkgver"
39 export RUSTUP_TOOLCHAIN=stable
40 export CARGO_TARGET_DIR=target
41 cargo build --frozen --release -p fsblame
42 cargo run --frozen -p xtask -- man man
43}
44
45check() {
46 cd "$pkgname-$pkgver"
47 export RUSTUP_TOOLCHAIN=stable
48 export CARGO_TARGET_DIR=target
49 cargo test --frozen -p fsblame
50}
51
52package() {
53 cd "$pkgname-$pkgver"
54 local bin=target/release/fsblame
55 install -Dm755 "$bin" -t "$pkgdir/usr/bin"
56 install -Dm644 man/*.1 -t "$pkgdir/usr/share/man/man1"
57 "$bin" completions bash | install -Dm644 /dev/stdin "$pkgdir/usr/share/bash-completion/completions/fsblame"
58 "$bin" completions zsh | install -Dm644 /dev/stdin "$pkgdir/usr/share/zsh/site-functions/_fsblame"
59 "$bin" completions fish | install -Dm644 /dev/stdin "$pkgdir/usr/share/fish/vendor_completions.d/fsblame.fish"
60 # The unit runs /usr/local/bin/fsblame, the README's path for a tarball install.
61 sed '/^ExecStart=/s|/usr/local/bin/fsblame|/usr/bin/fsblame|' contrib/systemd/fsblame-record.service |
62 install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/system/fsblame-record.service"
63 install -Dm644 contrib/systemd/fsblame.default "$pkgdir/etc/default/fsblame"
64 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
65}
66

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 05:17:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion