blob: 17246624a54bd471a68109b3ca956fae17548428 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=below
pkgver=0.6.3
pkgrel=2
pkgdesc="A time traveling resource monitor for modern Linux systems"
url="https://github.com/facebookincubator/below"
# riscv64: blocked by cargo
# s390x: fails to build nix crate
arch="all !riscv64 !s390x"
license="Apache-2.0"
# NOTE: libbpf-cargo requires rustfmt
makedepends="
cargo
cargo-auditable
clang
libbpf-dev
rustfmt
zlib-dev
zstd-dev
"
subpackages="
$pkgname-openrc
$pkgname-bash-completion
$pkgname-fish-completion
$pkgname-zsh-completion
"
source="https://github.com/facebookincubator/below/archive/v$pkgver/$pkgname-$pkgver.tar.gz
fix-sudotest.patch
$pkgname.initd
$pkgname.confd
$pkgname.logrotate
"
case "$CARCH" in
# XXX: btrfs tests are broken
armhf | armv7 | x86) options="!check";;
esac
_cargo_opts="--frozen --features no-vendor"
# below may not work correctly with panic=abort.
export CARGO_PROFILE_RELEASE_PANIC="unwind"
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
}
build() {
cargo auditable build $_cargo_opts --release
mkdir -p target/completion
local sh; for sh in bash fish zsh; do
./target/release/below generate-completions -s $sh -o target/completion/below.$sh
done
}
check() {
# Skip tests that require host to have cgroup2 (copied from upstream's ci.yml)
cargo test $_cargo_opts -- \
--skip test_dump \
--skip advance_forward_and_reverse \
--skip disable_disk_stat \
--skip disable_io_stat \
--skip record_replay_integration \
--skip test_belowrc_to_event \
--skip test_event_controller_override \
--skip test_event_controller_override_failed \
--skip test_viewrc_collapse_cgroups \
--skip test_viewrc_default_view
}
package() {
cd target
install -D -m755 release/below -t "$pkgdir"/usr/bin/
install -D -m644 completion/$pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
install -D -m644 completion/$pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
install -D -m644 completion/$pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
install -D -m755 "$srcdir"/below.initd "$pkgdir"/etc/init.d/$pkgname
install -D -m644 "$srcdir"/below.confd "$pkgdir"/etc/conf.d/$pkgname
install -D -m644 "$srcdir"/below.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
install -d -m755 "$pkgdir"/var/log/$pkgname
}
sha512sums="
4d4f357f50f9aabf6246022d949753622d132b46e303b74de4991cf6b1134748127abf2f6a0101a153dbefdb3583ca1915b8cb17a4a3c2faf30a94592f6720a8 below-0.6.3.tar.gz
1f9a380537bfab93d5b5184ffb82b0b737428c3672344b8d71ed12d18c1c798cfdaa8e5713be21551ad7e8dc1f4c6b653f1309852355daf86d45bfadd3ca37c3 fix-sudotest.patch
e15900998f592e5d519a3698aa861d77269e2196414ed69dacfbdc23a3df355b0f95cc64abc18ddcbf7b4fadafd27ee6cf6a75631d6771cf69c23cb45988c8d9 below.initd
05ca8ad81eaf6f5ccccef2e79dd9b9ec7fc296cf184128da8d99b94a6462db822cd76f42ffbecee7db009e7905c5e4bc31939fb905a80ab4faa9b10e93f9479e below.confd
f9aa8f1d598603898396bde7404e511ccac0887e6dafd2db0b749efe255855bccb724a4969a93a29e437d344523a24859daedd8d21ad02f8fd2c70f03c6b74e5 below.logrotate
"
|