summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/btrfs-progs/btrfs-progs-9999.ebuild')
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild66
1 files changed, 49 insertions, 17 deletions
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index 479ade82c97a..3fada8bdae41 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -3,32 +3,36 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1 udev
-libbtrfs_soname=0
+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
-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"
+ 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
-
- 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.readthedocs.io/en/latest/"
LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
+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.
@@ -75,17 +79,41 @@ DEPEND="
"
BDEPEND="
virtual/pkgconfig
- man? ( dev-python/sphinx )
+ 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 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
@@ -116,12 +144,16 @@ src_configure() {
$(use_enable udev libudev)
$(use_enable zstd)
- # Could support libgcrypt, libsodium, libkcapi
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
)
- econf "${myeconfargs[@]}"
+ 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() {
@@ -129,7 +161,7 @@ src_compile() {
}
src_test() {
- emake -j1 -C tests V=1 test
+ emake V=1 -j1 -C tests test
if use python ; then
cd libbtrfsutil/python || die