sys-fs/btrfs-progs: Sync with Gentoo

It's from Gentoo commit 9bd74bd161b14afd2f1a5dd924968d84c8cb0587.
This commit is contained in:
Krzesimir Nowak 2024-07-31 17:12:31 +02:00
parent 94d1bb3920
commit 5b60f8c762
11 changed files with 1406 additions and 39 deletions

View File

@ -1 +1,12 @@
DIST btrfs-progs-v6.0.2.tar.xz 2321220 BLAKE2B 391bd9dcc7ae2d40c339eb9b7fb466624c3f122149af640bc0ca73abfc85ca7bd076976d47ce2d4eab64fb3b9b1309e3446acdd78ba77e5cb583b939710f8b6c SHA512 8e01fa6e3373d95a8e8577003ceb94722e4dfdf24110bfea79191a9862daf5e6580d72e898fdea134b5e86beeda32948eed572072f7906226189c6f1ac8615e3
DIST btrfs-progs-v6.6.3.tar.sign 566 BLAKE2B 9f8a14405f78c8eb5a92d59f9ca776cd15bfd43bc323a0f5a98cc2d9a6f782e999a792ddb266fef4dfe189e1cb8eebbd021a12b615e22bdd4097a74bf3b277a9 SHA512 07f062cf66c0e5f0bd833f0a1c9901ec06ac4eb258acec8e96ffbb0b85007a67bdc992492b25f6039fcf603352131fca8c57162fa61007e8ccf1f4edf71dab97
DIST btrfs-progs-v6.6.3.tar.xz 2557216 BLAKE2B 274fad52bcab45bd0f6496c1bc10e1736e7b766f53b712790996a8a38f74eedcc570783599bed62cd4f84e5629f2216340a66941d9fbe0c7890f1c56ed66df8a SHA512 93e1defacf0f280fc02e10a20fd2bc3775c52956a0339e30b829cc3bef85629d565cf3f6a9af126e38bbb73e8e9b9a0069abbe0e57957a56ca1a8826f5de624a
DIST btrfs-progs-v6.7.1.tar.sign 566 BLAKE2B e5aba64e199f26cef84a8cbbb034c0a5c24572e43fef2fdce79f0dbd892b1609876f681bf79de53e6473345f3de8b8fee6aac2d33673e0b080ab33fb935bd32d SHA512 8fad1c2c47356a04434e12621c526603bf651bdcb0a08deb4022d83953d8c501b8aaa2da05cbf94e0bde43b48a4135fff78a5746423466036ff4899dd79b9589
DIST btrfs-progs-v6.7.1.tar.xz 2565576 BLAKE2B 4e05e9dd80e5531425490970318389aef280f61cc636a80aa2bbc630399afd4f1f3ce649d194822ff93ff4b1774d65a504e3bed6f1426ff60830e4c0d0ac87b0 SHA512 8a2e735f036a0778a2482d42c813012269903174232bc2924af41b72bbcfb49783d5f3b7d0af085285a68754748bd76b6534a498a47cdcea94020f4262281ffc
DIST btrfs-progs-v6.8.1.tar.sign 566 BLAKE2B 843eada2b00a2370522edc95d79bcfed88bd24233e647946d4807322550593e4d5f5bb5efa6652c754dd0965dc3e389bc97698a0bd8fc5d0e850bea94de98e72 SHA512 84ebaa6ec27aa5bc87a323f5c6cc82a860fada7311ab8319127de3592294c1076d25959e412f8387d54bad3b8ff838ce39c4db4b04a658b2de2eaa7c976e2b09
DIST btrfs-progs-v6.8.1.tar.xz 2652968 BLAKE2B 34406dedc6d97bd94a498c3bbb424d34a59b8251b37f9a40a87740f96db77780a4cd76c88055b4d9e4f673b4a3621503a6bedb67ceaf20870fb26c10f49b74e0 SHA512 b5f0694e56eecf1956313b3406610c2e22658ace51a636d79efe996780bb0b03fed95e68a8c9a11dd8649958c0e7dbc7417bb479859365d47b52e478f6830d46
DIST btrfs-progs-v6.9.1.tar.sign 566 BLAKE2B 4735411485669e37558adda62e168f22a09c11d085dd4adc5db4cfe932745c746b373763cb70b31219908886de52544854a3e9dee0b61bbf32d5d7bf4325d2c9 SHA512 c484845ad47b1ebee666f76e5f0421f640391e205158c14e83ef960506df6b0b6d34244bdcd254e2ac47b3d758e515ffec523a773b7f6081d8b47b856bbbe09b
DIST btrfs-progs-v6.9.1.tar.xz 2662768 BLAKE2B ed26da2c3c07082df7f1a3d2dc43981ac5375e23de44d0068d91075c8f75e03e75eef4ec5175a0c72d57511b4b9474ff3383f07f14db22e97b2b175578f1cd40 SHA512 5a6b6bbcf2d2624ba12f877485c8137d1601ed9b17bd7f05993cccbc46ff0546f8a0aaf4e221e6cb3aaaa0cec53222edc723f787b317aa551b7f4469456d9a3a
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
DIST btrfs-progs-v6.9.tar.sign 566 BLAKE2B a2e26047775bcc407b8f5aa8b08b0708a01c84a8cd649e50a935e15d04e2ee917010fc98df0dfb80320ee25a8dbfbbbabbb1f155489f32391544100956ba9636 SHA512 1e8304b3df013a841e82a8656361946914d35f680b5bc547c1599fdd98a75b66e2b1f869c8b043d7532182318c2183e699a9d6101ab4b1544618d2c8a25362e1
DIST btrfs-progs-v6.9.tar.xz 2663052 BLAKE2B 9fad691327b6290b3ba0e1a638576b65e4e4d6c8f32549ea0f10188fdb40028315abf5e330976ff7a5efb6a258d0008e7602ae81ba0339888f474dc056791798 SHA512 e97907b377040371f4742a45345ec720e0cb8e0cf9ee5fdc60618ce2bc76f572725ec32e1a178fd57534f73affd3eeb5e6cfebf23734f04583bbbef858d913b2

View File

@ -1,8 +0,0 @@
We forked this package for the following reasons:
- We override the udev rules directory. The configure script does not
provide a way to override it, so we need to hack it, otherwise the
configure script will figure out the wrong path in our builds. We do
it by overriding it in Makefile.inc.in. Ideal solution here would be
to patch btrfs-progs to allow overriding the udev path and then
override it in the ebuild properly, without the sed hacks.

View File

@ -1,39 +1,42 @@
# Copyright 2008-2023 Gentoo Authors
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1 udev
libbtrfs_soname=0
if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
S="${WORKDIR}"/${PN}-${MY_PV}
else
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 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
fi
DESCRIPTION="Btrfs filesystem utilities"
HOMEPAGE="https://btrfs.wiki.kernel.org https://btrfs.readthedocs.io/en/latest/"
HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
SLOT="0/${libbtrfs_soname}"
SLOT="0/0" # libbtrfs soname
IUSE="+convert python +man 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 )"
REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
# Tries to mount repaired filesystems
RESTRICT="test"
@ -52,7 +55,8 @@ RDEPEND="
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="${RDEPEND}
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
@ -73,19 +77,48 @@ DEPEND="${RDEPEND}
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
BDEPEND="virtual/pkgconfig
man? ( dev-python/sphinx )"
BDEPEND="
virtual/pkgconfig
man? (
dev-python/sphinx
dev-python/sphinx-rtd-theme
)
"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
else
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
return
fi
if in_iuse verify-sig && use verify-sig ; then
mkdir "${T}"/verify-sig || die
pushd "${T}"/verify-sig &>/dev/null || die
# Upstream sign the decompressed .tar
# Let's do it separately in ${T} then cleanup to avoid external
# effects on normal unpack.
cp "${DISTDIR}"/${MY_P}.tar.xz . || die
xz -d ${MY_P}.tar.xz || die
verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
popd &>/dev/null || die
rm -r "${T}"/verify-sig || die
fi
default
}
src_prepare() {
default
@ -100,8 +133,6 @@ src_prepare() {
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
# Flatcar: Replace udevdir variable with proper udev directory.
sed -i -e 's#^\(udevdir\s\+=\).*#\1 $(get_udevdir)#' Makefile.inc.in
}
src_configure() {
@ -118,22 +149,37 @@ src_configure() {
$(use_enable udev libudev)
$(use_enable zstd)
# Could support libgcrypt, libsodium, libkcapi
# Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
--with-convert=ext2$(usex reiserfs ',reiserfs' '')
--with-convert=ext2$(usev reiserfs ',reiserfs')
)
econf "${myeconfargs[@]}"
export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
# bash as a tepmorary 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
if use python ; then
cd libbtrfsutil/python || die
local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
fi
}
src_install() {
local makeargs=(
$(usex python install_python '')
$(usex static install-static '')
$(usev python install_python)
$(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"

View File

@ -0,0 +1,198 @@
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-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 ~ia64 ~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 python +man 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 ) python? ( ${PYTHON_REQUIRED_USE} )"
# 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
)
)
python? ( ${PYTHON_DEPS} )
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
)
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? (
dev-python/sphinx
dev-python/sphinx-rtd-theme
)
"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
else
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
return
fi
if in_iuse verify-sig && use verify-sig ; then
mkdir "${T}"/verify-sig || die
pushd "${T}"/verify-sig &>/dev/null || die
# Upstream sign the decompressed .tar
# Let's do it separately in ${T} then cleanup to avoid external
# effects on normal unpack.
cp "${DISTDIR}"/${MY_P}.tar.xz . || die
xz -d ${MY_P}.tar.xz || die
verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
popd &>/dev/null || die
rm -r "${T}"/verify-sig || die
fi
default
}
src_prepare() {
default
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
mkdir config || die
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
--disable-experimental
$(use_enable convert)
$(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable python)
$(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}"
# bash as a tepmorary 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
if use python ; then
cd libbtrfsutil/python || die
local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
fi
}
src_install() {
local makeargs=(
$(usev python install_python)
$(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
newbashcomp btrfs-completion btrfs
use python && python_optimize
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,191 @@
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
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 ~ia64 ~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 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
}
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
return
fi
if in_iuse verify-sig && use verify-sig ; then
mkdir "${T}"/verify-sig || die
pushd "${T}"/verify-sig &>/dev/null || die
# Upstream sign the decompressed .tar
# Let's do it separately in ${T} then cleanup to avoid external
# effects on normal unpack.
cp "${DISTDIR}"/${MY_P}.tar.xz . || die
xz -d ${MY_P}.tar.xz || die
verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
popd &>/dev/null || die
rm -r "${T}"/verify-sig || die
fi
default
}
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
--disable-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[@]}"
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,198 @@
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-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 ~ia64 ~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 python +man 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 ) python? ( ${PYTHON_REQUIRED_USE} )"
# 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
)
)
python? ( ${PYTHON_DEPS} )
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
)
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? (
dev-python/sphinx
dev-python/sphinx-rtd-theme
)
"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
else
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
return
fi
if in_iuse verify-sig && use verify-sig ; then
mkdir "${T}"/verify-sig || die
pushd "${T}"/verify-sig &>/dev/null || die
# Upstream sign the decompressed .tar
# Let's do it separately in ${T} then cleanup to avoid external
# effects on normal unpack.
cp "${DISTDIR}"/${MY_P}.tar.xz . || die
xz -d ${MY_P}.tar.xz || die
verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
popd &>/dev/null || die
rm -r "${T}"/verify-sig || die
fi
default
}
src_prepare() {
default
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
mkdir config || die
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
--disable-experimental
$(use_enable convert)
$(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable python)
$(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}"
# 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
if use python ; then
cd libbtrfsutil/python || die
local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
fi
}
src_install() {
local makeargs=(
$(usev python install_python)
$(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
newbashcomp btrfs-completion btrfs
use python && python_optimize
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,181 @@
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
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 ~ia64 ~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 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 -x))
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
--disable-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[@]}"
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,183 @@
# Copyright 2008-2024 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 ~ia64 ~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 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 -x))
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
--disable-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[@]}"
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,181 @@
# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
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 ~ia64 ~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 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 -x))
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
--disable-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[@]}"
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,183 @@
# Copyright 2008-2024 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 ~ia64 ~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 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 -x))
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
--disable-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[@]}"
newbashcomp btrfs-completion btrfs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@ -10,4 +10,7 @@
<flag name="reiserfs">Enable reiserfs support in btrfs-convert tool.</flag>
<flag name="static">Build static binaries in addition to the dynamic ones</flag>
</use>
<upstream>
<remote-id type="github">kdave/btrfs-progs</remote-id>
</upstream>
</pkgmetadata>