commit:     642e5d4d082fd1ea2546d701cedc05dffb67cc41
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 10:26:06 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 10:26:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=642e5d4d

dev-util/pahole: optimize src_unpack

As just done in util-linux & btrfs-progs.

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

 dev-util/pahole/pahole-1.26-r1.ebuild | 22 +++++++++-------------
 dev-util/pahole/pahole-9999.ebuild    | 22 +++++++++-------------
 2 files changed, 18 insertions(+), 26 deletions(-)

diff --git a/dev-util/pahole/pahole-1.26-r1.ebuild 
b/dev-util/pahole/pahole-1.26-r1.ebuild
index e9c3238b4568..8fd7c7683406 100644
--- a/dev-util/pahole/pahole-1.26-r1.ebuild
+++ b/dev-util/pahole/pahole-1.26-r1.ebuild
@@ -52,21 +52,17 @@ src_unpack() {
        if [[ ${PV} == 9999 ]] ; then
                git-r3_src_unpack
                return
-       elif 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.
-               xz -d -c "${DISTDIR}"/${MY_P}.tar.xz > ${MY_P}.tar || 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
+       # Upstream sign the decompressed .tar
+       if use verify-sig; then
+               einfo "Unpacking ${MY_P}.tar.xz ..."
+               verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
+                       < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -x))
+               assert "Unpack failed"
+       else
+               default
+       fi
 }
 
 src_prepare() {

diff --git a/dev-util/pahole/pahole-9999.ebuild 
b/dev-util/pahole/pahole-9999.ebuild
index e9c3238b4568..8fd7c7683406 100644
--- a/dev-util/pahole/pahole-9999.ebuild
+++ b/dev-util/pahole/pahole-9999.ebuild
@@ -52,21 +52,17 @@ src_unpack() {
        if [[ ${PV} == 9999 ]] ; then
                git-r3_src_unpack
                return
-       elif 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.
-               xz -d -c "${DISTDIR}"/${MY_P}.tar.xz > ${MY_P}.tar || 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
+       # Upstream sign the decompressed .tar
+       if use verify-sig; then
+               einfo "Unpacking ${MY_P}.tar.xz ..."
+               verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
+                       < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -x))
+               assert "Unpack failed"
+       else
+               default
+       fi
 }
 
 src_prepare() {

Reply via email to