commit:     f2c874268c13e6a1894c5b41577238ebf8df33ac
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  2 07:28:20 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  2 07:29:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2c87426

sys-fs/btrfs-progs: drop 6.8

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-fs/btrfs-progs/Manifest                        |   2 -
 sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild          | 201 --------------------
 .../files/btrfs-progs-6.8-musl-1.2.5.patch         | 209 ---------------------
 3 files changed, 412 deletions(-)

diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index a418eaa25df9..de5680b70193 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -4,5 +4,3 @@ DIST btrfs-progs-v6.7.1.tar.sign 566 BLAKE2B 
e5aba64e199f26cef84a8cbbb034c0a5c24
 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.8.tar.sign 566 BLAKE2B 
2f063015b515980a88980d02ac359363506d8445bf6ebffccd0f224b09b457b9d859ec7ae1371d3dcb04cfcb29ceee75ec8f73c2adee4765ca8287a79929234c
 SHA512 
d858033046af03d9f7bedb492eadaaae92c8d3dde451e52fc78a8a1c4dbf57078e8d907dbd3344f1414b4dad9646aef616ddec0c0fefaf65340411e84c36c96f
-DIST btrfs-progs-v6.8.tar.xz 2587804 BLAKE2B 
0f4cc83fa896bc932fdcd34fffae72b0fad44424ac0b5e2b7bde44dd91fcef33f2fa2ef36eb77299de753e4d4b47794cabad5d84760b9d34a9b6765a834d15b7
 SHA512 
adce7c15ef5a19c4fc513f1743b4f65f2c72aa4490703d36c93230abb305c576bd69a32c4bcf19c2b58aee5b5755e0d54fb82fe649a5fe021366eb0d89af4261

diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild 
b/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild
deleted file mode 100644
index 1f531bde0013..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# 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://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
-               verify-sig? ( 
https://www.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
-
-       # bug 926288
-       use elibc_musl && eapply "${FILESDIR}/${P}-musl-1.2.5.patch"
-
-       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
-}

diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-6.8-musl-1.2.5.patch 
b/sys-fs/btrfs-progs/files/btrfs-progs-6.8-musl-1.2.5.patch
deleted file mode 100644
index 19737515b616..000000000000
--- a/sys-fs/btrfs-progs/files/btrfs-progs-6.8-musl-1.2.5.patch
+++ /dev/null
@@ -1,209 +0,0 @@
-From 45ca77f9e4cfe5fd5814d553502ef99877c9e972 Mon Sep 17 00:00:00 2001
-From: David Sterba <[email protected]>
-Date: Thu, 18 Apr 2024 18:57:08 +0200
-Subject: [PATCH] btrfs-progs: add basename wrappers for unified semantics
-
-What basename(3) does with the argument depends on _GNU_SOURCE and
-inclusion of libgen.h. This is problematic on Musl (1.2.5) as reported.
-
-We want the GNU semantics that does not modify the argument. Common way
-to make it portable is to add own helper. This is now implemented in
-path_basename() that does not use the libc provided basename but preserves
-the semantics. The path_dirname() is just for parity, otherwise same as
-dirname().
-
-Sources:
-- https://bugs.gentoo.org/926288
-- 
https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
-
-Issue: #778
-Signed-off-by: David Sterba <[email protected]>
----
- cmds/subvolume.c      | 26 +++++++++++++-------------
- common/device-utils.c |  4 ++--
- common/path-utils.c   | 28 ++++++++++++++++++++++++++++
- common/path-utils.h   |  2 ++
- 4 files changed, 45 insertions(+), 15 deletions(-)
-
-diff --git a/cmds/subvolume.c b/cmds/subvolume.c
-index 5d53efe6f..869d7077d 100644
---- a/cmds/subvolume.c
-+++ b/cmds/subvolume.c
-@@ -24,7 +24,6 @@
- #include <string.h>
- #include <unistd.h>
- #include <errno.h>
--#include <libgen.h>
- #include <getopt.h>
- #include <dirent.h>
- #include <stdbool.h>
-@@ -149,7 +148,7 @@ static int create_one_subvolume(const char *dst, struct 
btrfs_qgroup_inherit *in
-       int     fddst = -1;
-       char    *dupname = NULL;
-       char    *dupdir = NULL;
--      char    *newname;
-+      const char *newname;
-       char    *dstdir;
- 
-       ret = path_is_dir(dst);
-@@ -170,7 +169,7 @@ static int create_one_subvolume(const char *dst, struct 
btrfs_qgroup_inherit *in
-               ret = -ENOMEM;
-               goto out;
-       }
--      newname = basename(dupname);
-+      newname = path_basename(dupname);
- 
-       dupdir = strdup(dst);
-       if (!dupdir) {
-@@ -178,7 +177,7 @@ static int create_one_subvolume(const char *dst, struct 
btrfs_qgroup_inherit *in
-               ret = -ENOMEM;
-               goto out;
-       }
--      dstdir = dirname(dupdir);
-+      dstdir = path_dirname(dupdir);
- 
-       if (!test_issubvolname(newname)) {
-               error("invalid subvolume name: %s", newname);
-@@ -364,7 +363,8 @@ static int cmd_subvolume_delete(const struct cmd_struct 
*cmd, int argc, char **a
-       int res, ret = 0;
-       int cnt;
-       int fd = -1;
--      char    *dname, *vname, *cpath;
-+      char    *dname, *cpath;
-+      const char *vname;
-       char    *dupdname = NULL;
-       char    *dupvname = NULL;
-       char    *path = NULL;
-@@ -482,9 +482,9 @@ static int cmd_subvolume_delete(const struct cmd_struct 
*cmd, int argc, char **a
-               goto out;
-       }
-       dupdname = strdup(cpath);
--      dname = dirname(dupdname);
-+      dname = path_dirname(dupdname);
-       dupvname = strdup(cpath);
--      vname = basename(dupvname);
-+      vname = path_basename(dupvname);
-       free(cpath);
- 
-       /* When subvolid is passed, <path> will point to the mount point */
-@@ -670,7 +670,7 @@ static int cmd_subvolume_snapshot(const struct cmd_struct 
*cmd, int argc, char *
-       bool readonly = false;
-       char    *dupname = NULL;
-       char    *dupdir = NULL;
--      char    *newname;
-+      const char *newname;
-       char    *dstdir;
-       enum btrfs_util_error err;
-       struct btrfs_ioctl_vol_args_v2  args;
-@@ -727,13 +727,13 @@ static int cmd_subvolume_snapshot(const struct 
cmd_struct *cmd, int argc, char *
- 
-       if (res > 0) {
-               dupname = strdup(subvol);
--              newname = basename(dupname);
-+              newname = path_basename(dupname);
-               dstdir = dst;
-       } else {
-               dupname = strdup(dst);
--              newname = basename(dupname);
-+              newname = path_basename(dupname);
-               dupdir = strdup(dst);
--              dstdir = dirname(dupdir);
-+              dstdir = path_dirname(dupdir);
-       }
- 
-       if (!test_issubvolname(newname)) {
-@@ -1557,7 +1557,7 @@ static int cmd_subvolume_show(const struct cmd_struct 
*cmd, int argc, char **arg
-       struct btrfs_util_subvolume_iterator *iter;
-       struct btrfs_util_subvolume_info subvol;
-       char *subvol_path = NULL;
--      char *subvol_name = NULL;
-+      const char *subvol_name = NULL;
-       enum btrfs_util_error err;
-       struct btrfs_qgroup_stats stats;
-       unsigned int unit_mode;
-@@ -1669,7 +1669,7 @@ static int cmd_subvolume_show(const struct cmd_struct 
*cmd, int argc, char **arg
-               subvol_path = strdup("/");
-               subvol_name = "<FS_TREE>";
-       } else {
--              subvol_name = basename(subvol_path);
-+              subvol_name = path_basename(subvol_path);
-       }
- 
-       if (bconf.output_format == CMD_FORMAT_JSON) {
-diff --git a/common/device-utils.c b/common/device-utils.c
-index 36108ec4e..d086e9ea2 100644
---- a/common/device-utils.c
-+++ b/common/device-utils.c
-@@ -343,14 +343,14 @@ static u64 device_get_partition_size_sysfs(const char 
*dev)
-       char path[PATH_MAX] = {};
-       char sysfs[PATH_MAX] = {};
-       char sizebuf[128] = {};
--      char *name = NULL;
-+      const char *name = NULL;
-       int sysfd;
-       unsigned long long size = 0;
- 
-       name = realpath(dev, path);
-       if (!name)
-               return 0;
--      name = basename(path);
-+      name = path_basename(path);
- 
-       ret = path_cat3_out(sysfs, "/sys/class/block", name, "size");
-       if (ret < 0)
-diff --git a/common/path-utils.c b/common/path-utils.c
-index 181737c4d..929e5c8fa 100644
---- a/common/path-utils.c
-+++ b/common/path-utils.c
-@@ -28,6 +28,11 @@
- #include <string.h>
- #include <errno.h>
- #include <ctype.h>
-+/*
-+ * For dirname() and basename(), but never use basename directly, there's
-+ * path_basename() with unified GNU behaviour regardless of the includes and
-+ * conditional defines. See basename(3) for more.
-+ */
- #include <libgen.h>
- #include <limits.h>
- #include "common/path-utils.h"
-@@ -482,3 +487,26 @@ int test_issubvolname(const char *name)
-               strcmp(name, ".") && strcmp(name, "..");
- }
- 
-+/*
-+ * Unified GNU semantics basename helper, never changing the argument. Always
-+ * use this instead of basename().
-+ */
-+const char *path_basename(const char *path)
-+{
-+      const char *tmp = strrchr(path, '/');
-+
-+      /* Special case when the whole path is just "/". */
-+      if (path[0] == '/' && path[1] == 0)
-+              return path;
-+
-+      return tmp ? tmp + 1 : path;
-+}
-+
-+/*
-+ * Return dirname component of path, may change the argument.
-+ * Own helper for parity with path_basename().
-+ */
-+char *path_dirname(char *path)
-+{
-+      return dirname(path);
-+}
-diff --git a/common/path-utils.h b/common/path-utils.h
-index 08ae0ff10..697fa6b48 100644
---- a/common/path-utils.h
-+++ b/common/path-utils.h
-@@ -39,6 +39,8 @@ int path_is_dir(const char *path);
- int is_same_loop_file(const char *a, const char *b);
- int path_is_reg_or_block_device(const char *filename);
- int path_is_in_dir(const char *parent, const char *path);
-+const char *path_basename(const char *path);
-+char *path_dirname(char *path);
- 
- int test_issubvolname(const char *name);
- 

Reply via email to