# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=below pkgver=0.6.3 pkgrel=0 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 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 --locked } build() { cargo 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 "