commit: 47c50fbdd12db2979b04f7e68889b0bff83beee1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 9 04:39:42 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 9 04:39:42 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47c50fbd
sys-fs/btrfs-progs: add 6.17.1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-fs/btrfs-progs/Manifest | 2 +
sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild | 188 +++++++++++++++++++++++++++
2 files changed, 190 insertions(+)
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index 38db38081406..d3a87fa76c91 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -10,5 +10,7 @@ DIST btrfs-progs-v6.16.1.tar.sign 566 BLAKE2B
d2d7078120f781f51abac29ad2d052d7e1
DIST btrfs-progs-v6.16.1.tar.xz 4953240 BLAKE2B
4d734022ddf3ff49a9a409ef387566a0e95bed22d2f2a3517e75e1c53083cd99e78da14afacc55cf49279c4dcdd718a9252ced52b280740f241c9526e21b3561
SHA512
55348627bdc3a0bcf6202ed352c539a9318328b2b9e0ab95526f34dff203d2abb66d70d4620122a6f90b7c1ccb7c646d297be3f6047a14144c867bae0cdc13d4
DIST btrfs-progs-v6.16.tar.sign 566 BLAKE2B
80e30440ac59c034fd4d9d9cec7a5ddd1fd9533e350066d3c92d276e97023ba12b83daa98bb87065ea93a3651a6b51d4195d3cb89f8dae43986674434dffab7e
SHA512
21f134616f91e7cf2e863908ae9793c7561f24985ec879056d7dddf6ae3b0766ae83bd5205dc12633b215cae1cce177bb9b8c39c84909fbaf53624b44d3e2dc7
DIST btrfs-progs-v6.16.tar.xz 4949180 BLAKE2B
375c60a93bc5b62d7c3a94d5ed108b81786b27f2beba27d85bcede94a892d84e71b1fe00a1574cc53066fe77bb37408b2b382db4a1664fefcc676c1c3efa1c60
SHA512
b7b89c9f6855f48a369bfcaf647b50cd41fbd6b11e9017a57eace36917c0daec14d93946121640728e0dfcda74941f28f9c31abf694313cb5134156a2c1907f7
+DIST btrfs-progs-v6.17.1.tar.sign 566 BLAKE2B
0313dce425d84f16eb64085f4144bcfc21172f96223de0a36d78a8dc5f4da4d0ff5b2453961c99607426ce412a3f0d7acfc205788e897684b68d7da5758e339d
SHA512
39dabbc3546e32468ae71b5d83606aabc38d9ef1996e1c40d8b5976cd4924b4877c373e05888b284988e35d5b363801f0c67f93ae43d907cba76dff145fc9f7b
+DIST btrfs-progs-v6.17.1.tar.xz 4964964 BLAKE2B
6340fb5f87d3dcf9598785fbb00ccd2278e268c1b798a1013ede9d25fc8e2005376c2333c84befcf95ec9ae2b7e75562750a2bf8fbfc7bbf966d713e1feb5818
SHA512
7723dd924025e7d6d6cfa081dcbe86bfe86cc6f226c8eb7317d86871864807257bd96c19c715b819e76125b33b90100f6897f4eb665d8414f30a3aa7a5aba631
DIST btrfs-progs-v6.17.tar.sign 566 BLAKE2B
9c21f8c001cb9d80c84e42e751ca77713caf25e8b38888c67a4175e45b5d95c58128f7b7d112fed1f694e9eb077d97f6187b6f4e58d4a346dab156949055844a
SHA512
e278efedabb51e8522f562f52aa2666727904775625b17e280ea7ded5563620a4a50aad57b165ab53af7594214070472bd2e0692ff1ca8aef76bcc6574d3f365
DIST btrfs-progs-v6.17.tar.xz 4962800 BLAKE2B
301409e4f0e17c25620070bab0aedc1e57ad672bc7b4e4c1f9db2cd34c6104667800df2979ff456554c94e415be649dd7b8f43859d6539f84a1c050c2db27dd4
SHA512
f8b39f66c4bf7cdaa8eee471f473eb88415435d309da45d45267ecd8d9e401367de881259c038fbc03a57bb661991d11ae74e8409b382dcd5ef98c66811a798a
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild
b/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild
new file mode 100644
index 000000000000..ad1b1253f165
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.17.1.ebuild
@@ -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_{11..14} )
+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(+)?]
+ virtual/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(+)]
+ virtual/zlib:=[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
+}