sys-fs/btrfs-progs: Sync with Gentoo

It's from Gentoo commit 1df35f3e71a8fd8be50961e7c30edb32aa0a08f6.
This commit is contained in:
Flatcar Buildbot 2025-01-13 07:10:36 +00:00 committed by Krzesimir Nowak
parent e4adb84845
commit 6e6c7f76fa
2 changed files with 190 additions and 0 deletions

View File

@ -4,5 +4,7 @@ DIST btrfs-progs-v6.10.tar.sign 566 BLAKE2B 493260b4854616eabce943135b4990de4a72
DIST btrfs-progs-v6.10.tar.xz 2669760 BLAKE2B 24b66cc6f7118da817e9abca69e8de9a9496de1ec4eb6800fa8f6b13b677e37a553d90562a38618a63b68b71457ab10ff72541dd3e0c169a1fe05509fd62402c SHA512 aa5af67f3816dcd1a128b69bc6f4bd83423c6c2289e3dd3abe2a07bdccb6b7d5e49426a5a0ece643709c23cdcb0908ca52b271f058fee3a3d810cdfcb9c36639
DIST btrfs-progs-v6.11.tar.sign 566 BLAKE2B 15db44b5db3265eff9d5195ad4842cef5d001c46e1170f219784fca8d049756dccbc1bd95f20fc343fbdf1078c610a166921c043828cdc5f64c0f465323ca0e4 SHA512 a2fdd9100ad3ddd30cb923a72a2b4f70634277e5fbbf0d2cf912c00dc876dad6cd2c24e624f41dbb83aabdda4e3c08aea9c0ae39084bb3481700491df3d47fd5
DIST btrfs-progs-v6.11.tar.xz 2695752 BLAKE2B 6dec219394e39a821f29858eddf1d501537d3cebad2dc83f0cea6d88d0b0e94c4fe2e660a48a27942ccfb6f3ac0630d5930f44e083168de65b60af36e895b2af SHA512 fad3c7e908e2020a3983f9737a7e87367023e2ad35aea14197e2bfa71c1e0435bc3da3f7e6ef463de47c033323163f8b1b7933013042c6fcea673d0f4723ade1
DIST btrfs-progs-v6.12.tar.sign 566 BLAKE2B 3a32b52522acd9e2fcf34cbf90d91ca2491ae1b34142320b987084a60c9f6c13100fcfb554f877c0f659b60415234550c05d980c633015cd8d083df18521187a SHA512 86396dad38f15c19eb4b641632deb99073829896001b71fbdfaa3ebd11468e8b89ed324e563ec9db837c9095501227824f97085347dca4204cbaecceed9da7d3
DIST btrfs-progs-v6.12.tar.xz 2705336 BLAKE2B d1569ec7b2079a43ac370c3a7e9f1b37a06545675753490f16d6a7bb52281f76df39f924c96569a1c75daa8a998f251c5219e2f09a54cb94c42cba1db3cf43ca SHA512 57da37f460a33b5f5232a5c8e67eb5976fb13483a1437112bd433b179bc0e497a1aadfe24705eb4fb4e0a98d2a33fd3c46808b3ca161421475442a70b964c446
DIST btrfs-progs-v6.9.2.tar.sign 566 BLAKE2B 4cd95496d355444c7d3e582a7e6c05fbb55683008b1585a26f38aef6cceb1afd5e80c9611518d6bd92dc1167798d4012c4bcab2f9bda752c459d94cfa6f3c477 SHA512 3fb04e1894e231abde388a39d2f0c90f43c1a1494622c2158fab9b94bb340e064404bcf96e24d913c60aaf5e06ade42fbb91a479949109b329682bb089f66bf2
DIST btrfs-progs-v6.9.2.tar.xz 2661684 BLAKE2B 38ab189ac8271ba8d68b74e82569159c671cca1cb946f56ccab28b6b206cb6ee5b330d83afc3536b7e0d7399da3fb01e368809c1ef4a64b843ea88796ebd28bd SHA512 1df9d5456d07a035c38c17795996a4fc621eeaa244ef54383d4387205826d2a6e971910e55031d20bb1baf23193efa7439e110312ffd8471f07aaf8c0baca20a

View File

@ -0,0 +1,188 @@
# Copyright 2008-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Please bump with dev-python/btrfsutil
PYTHON_COMPAT=( python3_{10..13} )
inherit bash-completion-r1 python-any-r1 udev
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
EGIT_BRANCH="devel"
WANT_LIBTOOL="none"
inherit autotools git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
inherit verify-sig
MY_PV="v${PV/_/-}"
MY_P="${PN}-${MY_PV}"
SRC_URI="
https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
"
S="${WORKDIR}"/${PN}-${MY_PV}
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
fi
DESCRIPTION="Btrfs filesystem utilities"
HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
SLOT="0/0" # libbtrfs soname
IUSE="+convert +man experimental reiserfs static static-libs udev +zstd"
# Could support it with just !systemd => eudev, see mdadm, but let's
# see if someone asks for it first.
REQUIRED_USE="static? ( !udev )"
# Tries to mount repaired filesystems
RESTRICT="test"
RDEPEND="
dev-libs/lzo:2=
sys-apps/util-linux:=[static-libs(+)?]
sys-libs/zlib:=
convert? (
sys-fs/e2fsprogs:=
reiserfs? (
>=sys-fs/reiserfsprogs-3.6.27
)
)
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
static? (
dev-libs/lzo:2[static-libs(+)]
sys-apps/util-linux:0[static-libs(+)]
sys-libs/zlib:0[static-libs(+)]
convert? (
sys-fs/e2fsprogs[static-libs(+)]
reiserfs? (
>=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
)
)
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
BDEPEND="
virtual/pkgconfig
man? (
$(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]')
)
"
python_check_deps() {
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
}
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
else
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
pkg_setup() {
: # Prevent python-any-r1_python_setup
}
if [[ ${PV} != 9999 ]]; then
src_unpack() {
# Upstream sign the decompressed .tar
if use verify-sig; then
einfo "Unpacking ${MY_P}.tar.xz ..."
verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
< <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -xf -))
assert "Unpack failed"
else
default
fi
}
fi
src_prepare() {
default
if [[ ${PV} == 9999 ]]; then
local AT_M4DIR=config
eautoreconf
local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
[[ -e ${automakedir} ]] || die "Could not locate automake directory"
ln -s "${automakedir}"/install-sh config/install-sh || die
ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
fi
}
src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}"/sbin
--enable-lzo
$(use_enable experimental)
--disable-python
$(use_enable convert)
$(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable static-libs static)
$(use_enable udev libudev)
$(use_enable zstd)
# Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
--with-convert=ext2$(usev reiserfs ',reiserfs')
)
export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
if use man; then
python_setup
fi
# bash as a temporary workaround for https://github.com/kdave/btrfs-progs/pull/721
CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_compile() {
emake V=1 all $(usev static)
}
src_test() {
emake V=1 -j1 -C tests test
}
src_install() {
local makeargs=(
$(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
if use experimental; then
exeinto /sbin
doexe btrfs-corrupt-block
fi
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}