summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/btrfs-progs/Manifest1
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild148
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild63
3 files changed, 188 insertions, 24 deletions
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index 8eb46af75e9e..86949c4ef2b4 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -3,3 +3,4 @@ DIST btrfs-progs-v5.15.1.tar.xz 2280796 BLAKE2B b460254a6261d3d04a2d265a3b4e05a8
DIST btrfs-progs-v5.16.2.tar.xz 2334464 BLAKE2B a21809a840107c370f1598e19f8b07d8bdd704e8ff3ce4cb78431000e7560802e1047d8200c523a45a761d59a311f1ec384946bd585826a129b05a1a5fd0250e SHA512 c89a763e8b099e0e9d04ff239dfee156a15fc783c515bbd48597f5645f720c377dbb4f2dfe9065971a65d3ade9d8fcb24cf37d527811bf4204153a06f7c8c3a7
DIST btrfs-progs-v5.16.tar.xz 2327376 BLAKE2B 3bb3b630d465068373bf39776389f733e734cb39801b389a4e94ba2bb325e9625e2cd767c783e4a05e1e18fed92c06190c5d3fbb476b57689a16482357c86b61 SHA512 3ba557134b19f1abb6c63bf3e2092852f92e988677c4bcf9421c824824b87565ae5cc0e5bca0370be81766a8c8fbda21dfb443dcd159f705f31e70b6bf19aa63
DIST btrfs-progs-v5.17.tar.xz 2286016 BLAKE2B 013acc4f9ec294d8d88b04e9f0ee33c450bfa6621b029005d18885add7c0a1da7e645c1f984931749ebd8f3166e8d849ec128a0f95cc189c15878d45acc0901b SHA512 4c2bfafe0fcae47f01bad41910c2e2b3d48a12b88ca1891a9ea63ac1e65699c2e22f481492c7dd11fbea546647ab78718ab9b6997bb257fc29d1482fde9b08d1
+DIST btrfs-progs-v5.18.tar.xz 2293620 BLAKE2B dd5da4618e53d7d1c6636b4dcf9adb0e24e2e735a13ff1858bc55d21a90ad31cb2a7a11ab12beddd44682c62673fda41ebc7517aa80c81cd61cc1b195668a0e1 SHA512 142d9c133a41c0843ab8442018a6caf5186757d6c8d73f9a69a2245f62590d93a448dae6fdde2ebc5f091cc39da9a79ad0e8c94e1873d75e6c723dcc79d74309
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild
new file mode 100644
index 000000000000..011480b36dea
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2008-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+
+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
+
+ # Install prebuilt subset of manuals (very few)
+ use man || doman Documentation/*.[58]
+}
+
+pkg_postinst() {
+ udev_reload
+}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index b9b56b46d14f..011480b36dea 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -3,24 +3,26 @@
EAPI=7
-# TODO: change to sphinx for docs in 5.17
PYTHON_COMPAT=( python3_{8..10} )
-inherit bash-completion-r1 python-single-r1
+inherit bash-completion-r1 python-single-r1 udev
libbtrfs_soname=0
if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ fi
+
+ S="${WORKDIR}"/${PN}-${MY_PV}
else
- WANT_LIBTOOL=none
- inherit autotools git-r3
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"
@@ -28,14 +30,18 @@ HOMEPAGE="https://btrfs.wiki.kernel.org"
LICENSE="GPL-2"
SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
+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 )"
-RESTRICT="test" # tries to mount repaired filesystems
+# Tries to mount repaired filesystems
+RESTRICT="test"
RDEPEND="
dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
convert? (
sys-fs/e2fsprogs:=
reiserfs? (
@@ -43,7 +49,8 @@ RDEPEND="
)
)
python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
"
DEPEND="${RDEPEND}
>=sys-kernel/linux-headers-5.10
@@ -63,16 +70,11 @@ DEPEND="${RDEPEND}
>=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
)
)
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
+ zstd? ( app-arch/zstd[static-libs(+)] )
)
"
+BDEPEND="virtual/pkgconfig
+ man? ( dev-python/sphinx )"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
@@ -87,10 +89,12 @@ pkg_setup() {
src_prepare() {
default
if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
+ 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
@@ -100,12 +104,19 @@ src_prepare() {
src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
$(use_enable convert)
- $(use_enable doc documentation)
+ $(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' '')
)
@@ -128,6 +139,10 @@ src_install() {
use python && python_optimize
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
+ # Install prebuilt subset of manuals (very few)
+ use man || doman Documentation/*.[58]
+}
+
+pkg_postinst() {
+ udev_reload
}