summaryrefslogtreecommitdiff
path: root/sys-fs/btrfs-progs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-05 06:08:15 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-05 06:08:15 +0000
commit083bdfbef9bc532b72cf116591025916eebaf676 (patch)
tree04da8a6f58a6ef6f05ebafc0a86b3a27c00ba283 /sys-fs/btrfs-progs
parente84469d1a99031578172f7c064945ba5114c5263 (diff)
gentoo auto-resync : 05:01:2023 - 06:08:15
Diffstat (limited to 'sys-fs/btrfs-progs')
-rw-r--r--sys-fs/btrfs-progs/Manifest5
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.1.1-r1.ebuild (renamed from sys-fs/btrfs-progs/btrfs-progs-6.1.1.ebuild)4
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.1.ebuild150
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-6.1.1-ioctl-fix.patch87
4 files changed, 93 insertions, 153 deletions
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index a43a6e2aa668..4dddd3ef7ca5 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -1,11 +1,10 @@
AUX btrfs-progs-5.18.1-glibc-2.36.patch 984 BLAKE2B d7aefe6434a4719d1b98ce1842e340f8eb322b95adb4037cac10a7824fa94ad7c8a86e01967d99e1e9ede9cda4f6e55b53c440e9d37b94018e31388b7214c5d4 SHA512 cad4314966c634f44252173ff23f09822d2448ac9346d1e9d5c0a193ada1606ed6c7515a3283b2560d68ffb7a004c4c25549f1cd5c87330a1aa49e1a3d722719
+AUX btrfs-progs-6.1.1-ioctl-fix.patch 3232 BLAKE2B 3c026b66b6289b03c8839a00232b1caa530fc88a165130e04a6fab0d0188927c0061712ff5b37deaf723201f1c5472bc96d09f11c1d85d693c337ad86ae9a6e4 SHA512 58cb8d2f03320d732ae2d2341eccefa1ddac856793ce9fbb138fc9a5f20fcb3016d1ad2a5fffb07caf41b7e190f49a1f64874ec464604f8caea302c4c116aabb
DIST btrfs-progs-v5.15.1.tar.xz 2280796 BLAKE2B b460254a6261d3d04a2d265a3b4e05a89385888f7ea4f2b16ec5b73922646c7f47a546fc78ba7c009e65914125435cf38157eabffc74f5d00df2c21c844922e3 SHA512 68ed89e337ae857fdaf077eaa889e259e9f162ea2222bdaa03f4187783a8682c24d45c91b0559b901d81429ba2cd3f84087d032d354092d5512fb226bdf91549
DIST btrfs-progs-v6.0.2.tar.xz 2321220 BLAKE2B 391bd9dcc7ae2d40c339eb9b7fb466624c3f122149af640bc0ca73abfc85ca7bd076976d47ce2d4eab64fb3b9b1309e3446acdd78ba77e5cb583b939710f8b6c SHA512 8e01fa6e3373d95a8e8577003ceb94722e4dfdf24110bfea79191a9862daf5e6580d72e898fdea134b5e86beeda32948eed572072f7906226189c6f1ac8615e3
DIST btrfs-progs-v6.1.1.tar.xz 2329864 BLAKE2B f3f15829af88f83cdabca30b61dd0e53fc0913615028eac9501204adec5a5beb8654b037617a73bac96c901835a83e8c08d478b8b496518512fea3714e604cfc SHA512 996045bebc441eba269eb5159d6d13c7b1471ba88039389ef221f57d03c535647a5716e23e7a17a20efb4012003f58b4b768f66af633abbdc1fe481192ca1ace
-DIST btrfs-progs-v6.1.tar.xz 2331140 BLAKE2B ca5ba5c1b18bb7db0023e95b3540c6e4863a8bd606e0416d6e1548d4356690d08e09118539ac34e8134329f9b95f7c8f54ea37d3396c9fd8438fb0ba4efcf5f2 SHA512 e20f70ea00f593d90b95b6f0f6b105fc72551b3be0b493c07e92fb31a8db3884edac6344ff1c7ffdc3688948f7bce7c226eea1372ee9f31d5b0194dda6d65389
EBUILD btrfs-progs-5.15.1.ebuild 3167 BLAKE2B 56951fda134b6eef1a5a044eedd6212203a5214b4f9eb062bd31da41d475216499ffe521b75dcf88b67cb06a6b8c279042e1d46d8eb17d52a68c9e5fa74d8650 SHA512 e77895f4e6d0211168c60e256e56cac5d681593674d85971e49210ccf496fa8344055360130e5ae635dd197ee0e27fa6ed6c50647dc121a7e7392ef2bad7e276
EBUILD btrfs-progs-6.0.2.ebuild 3316 BLAKE2B fb25f51fadbef9d557618ba091b55aadce8d32e1d9ebbdaa11da594ae29e2a568a734a284d6047f4d89c32e35a12d2062edb64be94962fc02c090c0e04473515 SHA512 83b6393f49f62fd949bb39d8775f48d06c4188e944e7c04f998f1377f3da7f4086d6d7e4563bb504c35168a8ae2614a71feb9facc1cad8235bacb64df378d330
-EBUILD btrfs-progs-6.1.1.ebuild 3322 BLAKE2B ac22e46b7f573e6cd281945b0df4942a73b8a7ee5ee5cdd7b3ab927d2170e941437375e237f67f06e83c054db2dbe5626b4735ecdf8812dfd5f193f962608d95 SHA512 dd709040834ed4826df628b12be8c5660a5792996af673aa2942319c8d176f5c2ac5ae94983b6bc42f15c14953ed75b6bf1d317db2cbcccffdca037d5f9d659b
-EBUILD btrfs-progs-6.1.ebuild 3322 BLAKE2B 6463cd65703acb98f9b0ea498b391fb8cc4d44366481e944b71e2a68c64815aef3ac192a11b1ef3331af6a820cf7e48710ecb3ffd5f0e894464b730dd14a915e SHA512 c132b68c5fdc7eb26c05ac47c16c35aa803ffc21e9aebd7eb75735df51eaa00021673aedc04125326f5f44030a579585c1f8f0eb04aee977ac128280ffd3d018
+EBUILD btrfs-progs-6.1.1-r1.ebuild 3371 BLAKE2B 1a7dea2cb70a6a987d3a5ac2f76ee36632445e6c708cfeeb5c3b889661ed5946d77bb31e82b8461eaca9291a800c4be33d4a5289206c6f8f6b4a4636b1d3dfe0 SHA512 77cdb08d3d39681b7a2289118fe115389f57855ce61e812206145735a346fefb4a3186b14dca8205dc5b42b0b35debe2f6b260c7ac390b6fccbdf743f20bc163
EBUILD btrfs-progs-9999.ebuild 3322 BLAKE2B 6463cd65703acb98f9b0ea498b391fb8cc4d44366481e944b71e2a68c64815aef3ac192a11b1ef3331af6a820cf7e48710ecb3ffd5f0e894464b730dd14a915e SHA512 c132b68c5fdc7eb26c05ac47c16c35aa803ffc21e9aebd7eb75735df51eaa00021673aedc04125326f5f44030a579585c1f8f0eb04aee977ac128280ffd3d018
MISC metadata.xml 524 BLAKE2B 4e27833128aeb064271af7a4f3c05699b4603b1d993b32bef3d9d973182d3d0c88ac799c95f0f35495e9a99e645627afd96049273c08c3e1334d8fe1ccf0debe SHA512 471014a98bc3feb75e7930485e89daf6cb3390c37a330b8373d5c3b0b764b9180cbff133839ce4742a3c76f63e6f18895060d5906e6a113d2cd43af0df3b0d5a
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.1.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.1.1-r1.ebuild
index 2fcbaa6200a9..e9f08a83a90e 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-6.1.1.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.1.1-r1.ebuild
@@ -82,6 +82,10 @@ fi
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+PATCHES=(
+ "${FILESDIR}"/${P}-ioctl-fix.patch
+)
+
pkg_setup() {
use python && python-single-r1_pkg_setup
}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.1.ebuild
deleted file mode 100644
index 73fcf46caa45..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-6.1.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
- WANT_LIBTOOL="none"
- inherit autotools git-r3
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org https://btrfs.readthedocs.io/en/latest/"
-
-LICENSE="GPL-2"
-SLOT="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 )"
-
-# 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 )"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-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
- --with-crypto=builtin
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex 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.1.1-ioctl-fix.patch b/sys-fs/btrfs-progs/files/btrfs-progs-6.1.1-ioctl-fix.patch
new file mode 100644
index 000000000000..d8149b6220ef
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-6.1.1-ioctl-fix.patch
@@ -0,0 +1,87 @@
+https://bugs.gentoo.org/888579
+https://bugs.gentoo.org/889694
+https://github.com/kdave/btrfs-progs/issues/566
+https://github.com/kdave/btrfs-progs/commit/27bb4f6819df6ad7771e089e1fd3f1bd1163e437
+
+From 27bb4f6819df6ad7771e089e1fd3f1bd1163e437 Mon Sep 17 00:00:00 2001
+From: David Sterba <dsterba@suse.com>
+Date: Wed, 4 Jan 2023 16:34:51 +0100
+Subject: [PATCH] btrfs-progs: libbtrfs: revert to v6.0.2 ioctl.h
+
+The file ioctl.h has been copied to libbtrfs in 5fc1d0cd64ee
+("btrfs-progs: copy ioctl.h into libbtrfs") but that was after changes
+to the btrfs_qgroup_limit in 03451430de7c ("btrfs-progs: rename qgroup
+items to match the kernel naming scheme"). This caused build breakage
+but hasn't been fixed in v6.1.1.
+
+Revert the contents of libbtrfs/ioctl.h to be completely just v6.0.2
+though the other changes may not be needed, it's the version we know
+works.
+
+Issue: #566
+Signed-off-by: David Sterba <dsterba@suse.com>
+--- a/libbtrfs/ioctl.h
++++ b/libbtrfs/ioctl.h
+@@ -71,10 +71,10 @@ BUILD_ASSERT(sizeof(struct btrfs_ioctl_vol_args) == 4096);
+
+ struct btrfs_qgroup_limit {
+ __u64 flags;
+- __u64 max_rfer;
+- __u64 max_excl;
+- __u64 rsv_rfer;
+- __u64 rsv_excl;
++ __u64 max_referenced;
++ __u64 max_exclusive;
++ __u64 rsv_referenced;
++ __u64 rsv_exclusive;
+ };
+ BUILD_ASSERT(sizeof(struct btrfs_qgroup_limit) == 40);
+
+@@ -192,6 +192,7 @@ BUILD_ASSERT(sizeof(struct btrfs_ioctl_dev_replace_status_params) == 48);
+ #define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0
+ #define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1
+ #define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2
++#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT -1
+ #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0
+ #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1
+ #define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2
+@@ -934,6 +935,38 @@ enum btrfs_err_code {
+ BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET,
+ };
+
++/* An error code to error string mapping for the kernel
++* error codes
++*/
++static inline char *btrfs_err_str(enum btrfs_err_code err_code)
++{
++ switch (err_code) {
++ case BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET:
++ return "unable to go below two devices on raid1";
++ case BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET:
++ return "unable to go below three devices on raid1c3";
++ case BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET:
++ return "unable to go below four devices on raid1c4";
++ case BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET:
++ return "unable to go below four/two devices on raid10";
++ case BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET:
++ return "unable to go below two devices on raid5";
++ case BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET:
++ return "unable to go below three devices on raid6";
++ case BTRFS_ERROR_DEV_TGT_REPLACE:
++ return "unable to remove the dev_replace target dev";
++ case BTRFS_ERROR_DEV_MISSING_NOT_FOUND:
++ return "no missing devices found to remove";
++ case BTRFS_ERROR_DEV_ONLY_WRITABLE:
++ return "unable to remove the only writeable device";
++ case BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS:
++ return "add/delete/balance/replace/resize operation "
++ "in progress";
++ default:
++ return NULL;
++ }
++}
++
+ #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \
+ struct btrfs_ioctl_vol_args)
+ #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \
+