commit:     341b9bf36b212a4de56cc82c490e3aa4ddcbd480
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 10:30:41 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 10:30:41 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=341b9bf3

app-crypt/loop-aes-losetup: optimize src_unpack

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

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

 .../loop-aes-losetup-2.40.1.ebuild                 | 23 ++++++++--------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/app-crypt/loop-aes-losetup/loop-aes-losetup-2.40.1.ebuild 
b/app-crypt/loop-aes-losetup/loop-aes-losetup-2.40.1.ebuild
index 3d63e7cb0604..d73e67c758ad 100644
--- a/app-crypt/loop-aes-losetup/loop-aes-losetup-2.40.1.ebuild
+++ b/app-crypt/loop-aes-losetup/loop-aes-losetup-2.40.1.ebuild
@@ -51,24 +51,17 @@ PATCHES=(
 )
 
 src_unpack() {
-       if 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 "${BROOT}"/usr/share/openpgp-keys/karelzak.asc
-
-               popd &>/dev/null || die
-               rm -r "${T}"/verify-sig || die
+       # 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)) 
"${BROOT}"/usr/share/openpgp-keys/karelzak.asc
+               assert "Unpack failed"
 
                verify-sig_verify_detached 
"${DISTDIR}"/${LOOPAES_P}.tar.bz2{,.sign}
+       else
+               default
        fi
-
-       default
 }
 
 src_prepare() {

Reply via email to