diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest index 643d96ea2d2b5..6d9368482d45a 100644 --- a/sys-fs/btrfs-progs/Manifest +++ b/sys-fs/btrfs-progs/Manifest @@ -2,3 +2,5 @@ DIST btrfs-progs-v6.19.1.tar.sign 566 BLAKE2B f743d46a80b03ae63dfe0eea262577228d DIST btrfs-progs-v6.19.1.tar.xz 4977432 BLAKE2B 555bf1c0625afd30dae3cc38f293de195450133cea701096010cadde3d8be405681ed2c4b5e43db777df146e1d2d90697746bc9eea253211df216bd4456e04a1 SHA512 ece500bf512a7970bd6a611c4f74aa3f7285eb55b86987fb8a21bc82cb7d0b1e6b683d02efc34ec8c4ff7f6d620b5ec12ef277af0d6d831586f9f70087355ca9 DIST btrfs-progs-v7.0.tar.sign 594 BLAKE2B 3b31dc3b529600d65721994742786a65ebec3e296a26f1510c34ceac9f5309ca72068af6322a46925d9b80b0f0492e0624ebb7ddd3904c610a161bb28ad45834 SHA512 78a358f5ba7b4e8ee3477bbcd8eab623c05dd8d157ac3858a7ea7e0ceda8c296363b6bf50a8bdf3f3a590580e4ea8e885d596f0fc3e2d6263337f9847b014813 DIST btrfs-progs-v7.0.tar.xz 4989268 BLAKE2B a0e8ef7a5bca5c4f4deb5487215a3543ae99759ffec191cd23b776d21621fb9aba173115a47ae34ebd0e6e38d720d430e5092151e938b0b65cff4aabffd9c607 SHA512 f6fc13f16a1f170eacbcb53efb2e5a86e89c73fd797fc8d9a419b7024f5a13a788cd92e0caa41964e7716d8bccc24ce4b8a5e3b3861d85c793642021c5b03791 +DIST btrfs-progs-v7.1.tar.sign 594 BLAKE2B 719dc0851b9daa043c0f152f9e8bd44a81b645fa5122c87ec1498245e81812004a29c049d662492e2ae8e01ac5c403bc72516e7ac5c88ce0242a581b7219ede7 SHA512 37567f05e1a48eed22fb70199172bea31baff626c083b013e542a1272bee370ce039a9ec4bab10b0b1bd832ea16be3977e84931819de78174ba66d72d8f3f20e +DIST btrfs-progs-v7.1.tar.xz 4997528 BLAKE2B b72e5a027261953fba7915a1f5242a1804c6d4335c4261391a938e1aca6314c193051a52a8c6e315cd8714fe7763a0b20564c67fc654492e4df6ac42daff04a4 SHA512 7e8652b95da866494cd3cc9a874c02f4b613f0775b24c112bb267fdc8f71d1e5cd231d0fcd0a42e42ccf5f9be50b1dd377a3dd7ccc8ae148027bca8b64284ff6 diff --git a/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild new file mode 100644 index 0000000000000..7326375b1ef49 --- /dev/null +++ b/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild @@ -0,0 +1,184 @@ +# Copyright 2008-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-python/btrfsutil + +PYTHON_COMPAT=( python3_{12..14} ) +inherit python-any-r1 shell-completion 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 ~s390 ~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() { + if use verify-sig; then + verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \ + "${DISTDIR}"/${MY_P}.tar.sign + 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 + + 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 +} diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild index c9ec39cb839f9..ecb6f28c24bb4 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Please bump with dev-python/btrfsutil PYTHON_COMPAT=( python3_{11..14} ) -inherit bash-completion-r1 python-any-r1 udev +inherit python-any-r1 shell-completion udev if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"