diff options
author | Sam James <sam@gentoo.org> | 2024-06-02 08:28:20 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-06-02 08:29:09 +0100 |
commit | f2c874268c13e6a1894c5b41577238ebf8df33ac (patch) | |
tree | f62533de3e33fd677679f05a697c5b2f499d6179 /sys-fs | |
parent | media-gfx/fontforge: fix py3.12 compat (diff) | |
download | gentoo-f2c874268c13e6a1894c5b41577238ebf8df33ac.tar.gz gentoo-f2c874268c13e6a1894c5b41577238ebf8df33ac.tar.bz2 gentoo-f2c874268c13e6a1894c5b41577238ebf8df33ac.zip |
sys-fs/btrfs-progs: drop 6.8
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/btrfs-progs/Manifest | 2 | ||||
-rw-r--r-- | sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild | 201 | ||||
-rw-r--r-- | sys-fs/btrfs-progs/files/btrfs-progs-6.8-musl-1.2.5.patch | 209 |
3 files changed, 0 insertions, 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 <dsterba@suse.com> -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 <dsterba@suse.com> ---- - 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); - |