Files
2026-07-26 18:01:33 +02:00

96 lines
2.8 KiB
Bash

# Maintainer: Kira <[@kira](https://dev.kira-linux.org/kira)>
pkgname=bcachefs-tools
pkgver=1.38.8
pkgrel=1
pkgdesc='BCacheFS filesystem utilities'
arch=('x86_64')
url='https://bcachefs.org/'
license=('GPL-2.0-only')
_tools_depends=(
glibc
keyutils libkeyutils.so
libaio libaio.so
libgcc
libsodium libsodium.so
libunwind libunwind.so
liburcu
lz4
libudev.so
udev
util-linux-libs libblkid.so libuuid.so
zlib libz.so
zstd libzstd.so
)
makedepends=(
${_tools_depends[@]}
rust
rust-bindgen
clang
git
jq
llvm
pkgconf
)
options=(!lto)
source=(
https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${pkgver}.tar.gz
)
sha256sums=('b1c516bd0da3c4f879748d4cd0cdbd1eb5e7734d54421fb743d16e63a2e015bb')
b2sums=('3dd8bbe1b3306e5f20d9c04d7e8f775e9be73e36b4b81868d1336969a24d143219db6b6d6580786761c2e7c5b129bfedb9dd3a9025d648acc35727cb3dba4695')
build() {
cd ${pkgname}-${pkgver}
# this uses malloc_usable_size, which is incompatible with fortification level 3
# https://github.com/koverstreet/bcachefs-tools/issues/237
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
make \
LIBEXECDIR=/usr/lib \
DESTDIR="${pkgdir}" \
ROOT_SBINDIR="/usr/bin" \
INITRAMFS_DIR=/usr/lib/initcpio
}
package() {
depends=(
${_tools_depends[@]}
)
cd ${pkgname}-${pkgver}
# this uses malloc_usable_size, which is incompatible with fortification level 3
# https://github.com/koverstreet/bcachefs-tools/issues/237
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
make \
PREFIX="/usr" \
LIBEXECDIR=/usr/lib \
DESTDIR="${pkgdir}" \
ROOT_SBINDIR="/usr/bin" \
INITRAMFS_DIR=/usr/lib/initcpio \
install
# replace incompatible initcpio hooks
# rm -rf "${pkgdir}"/usr/lib/initcpio/*
# install -dm755 "${pkgdir}"/usr/lib/initcpio/{hooks,install}
# install -Dm644 arch/etc/initcpio/hooks/bcachefs "${pkgdir}"/usr/lib/initcpio/hooks/
# install -Dm644 arch/etc/initcpio/install/bcachefs "${pkgdir}"/usr/lib/initcpio/install/
# we do not have initcpio hookers on Kira Linux
rm -rf "${pkgdir}"/usr/lib/initcpio
# remove dkms module from the main package
rm -rf "${pkgdir}"/usr/src
# package completions
install -dm755 "${pkgdir}"/usr/share/{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions}
"${pkgdir}"/usr/bin/bcachefs completions bash > "${pkgdir}"/usr/share/bash-completion/completions/bcachefs
"${pkgdir}"/usr/bin/bcachefs completions fish > "${pkgdir}"/usr/share/fish/vendor_completions.d/bcachefs.fish
"${pkgdir}"/usr/bin/bcachefs completions zsh > "${pkgdir}"/usr/share/zsh/site-functions/_bcachefs
}