From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 94CDD15808B for ; Sat, 19 Feb 2022 16:09:09 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 51C502BC015; Sat, 19 Feb 2022 16:08:55 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2D7562BC015 for ; Sat, 19 Feb 2022 16:08:55 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2AC3F343940 for ; Sat, 19 Feb 2022 16:08:54 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5D9472DC for ; Sat, 19 Feb 2022 16:08:52 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1645286892.52e3a39449c848016ac3e520b4ec80b6df06c89d.grobian@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: scripts/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: scripts/bootstrap-prefix.sh X-VCS-Directories: scripts/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 52e3a39449c848016ac3e520b4ec80b6df06c89d X-VCS-Branch: master Date: Sat, 19 Feb 2022 16:08:52 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 965ece21-9f3d-4d6b-943e-02f0bdc6b47f X-Archives-Hash: 60646a1733e9954936bc00b03ea915d2 commit: 52e3a39449c848016ac3e520b4ec80b6df06c89d Author: Anna Vyalkova sysrq in> AuthorDate: Sat Feb 19 15:34:21 2022 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Sat Feb 19 16:08:12 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=52e3a394 script/bootstrap-prefix.sh: check PIPESTATUS on unpack Both programs need to exit with status 0. Signed-off-by: Anna Vyalkova sysrq.in> Signed-off-by: Fabian Groffen gentoo.org> scripts/bootstrap-prefix.sh | 51 ++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh index 76383c0210..b8ad960e6d 100755 --- a/scripts/bootstrap-prefix.sh +++ b/scripts/bootstrap-prefix.sh @@ -602,8 +602,8 @@ do_tree() { fi einfo "Unpacking, this may take a while" estatus "stage1: unpacking Portage tree" - bzip2 -dc ${DISTDIR}/$2 | \ - tar -xf - -C ${PORTDIR} --strip-components=1 || return 1 + bzip2 -dc ${DISTDIR}/$2 | tar -xf - -C ${PORTDIR} --strip-components=1 + [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 touch ${PORTDIR}/.unpacked fi } @@ -692,7 +692,8 @@ bootstrap_portage() { rm -rf "${S}" >& /dev/null mkdir -p "${S}" >& /dev/null cd "${S}" - bzip2 -dc "${DISTDIR}/${A}" | tar -xf - || return 1 + bzip2 -dc "${DISTDIR}/${A}" | tar -xf - + [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 S="${S}/prefix-portage-${PV}" cd "${S}" @@ -787,7 +788,8 @@ bootstrap_simple() { bz2) decomp=bzip2 ;; gz|"") decomp=gzip ;; esac - ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - || return 1 + ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - + [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 S="${S}"/${PN}-${PV} cd "${S}" @@ -842,18 +844,21 @@ bootstrap_gnu() { rm -rf "${S}" mkdir -p "${S}" cd "${S}" - if [[ ${t} == "tar.gz" ]] ; then - gzip -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue - elif [[ ${t} == "tar.xz" ]] ; then - xz -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue - elif [[ ${t} == "tar.bz2" ]] ; then - bzip2 -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue - elif [[ ${t} == "tar" ]] ; then - tar -xf "${DISTDIR}"/${A} || continue - else - einfo "unhandled extension: $t" - return 1 - fi + case ${t} in + tar.xz) decomp=xz ;; + tar.bz2) decomp=bzip2 ;; + tar.gz) decomp=gzip ;; + tar) + tar -xf "${DISTDIR}"/${A} || continue + break + ;; + *) + einfo "unhandled extension: $t" + return 1 + ;; + esac + ${decomp} -dc "${DISTDIR}"/${URL##*/} | tar -xf - + [[ ${PIPESTATUS[*]} == '0 0' ]] || continue break done S="${S}"/${PN}-${PV} @@ -1202,7 +1207,8 @@ bootstrap_cmake_core() { rm -rf "${S}" mkdir -p "${S}" cd "${S}" - gzip -dc "${DISTDIR}"/${A} | tar -xf - || return 1 + gzip -dc "${DISTDIR}"/${A} | tar -xf - + [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 S="${S}"/cmake-${PV} cd "${S}" @@ -1253,11 +1259,12 @@ bootstrap_zlib_core() { rm -rf "${S}" mkdir -p "${S}" cd "${S}" - if [[ ${A} == *.tar.gz ]] ; then - gzip -dc "${DISTDIR}"/${A} | tar -xf - || return 1 - else - bzip2 -dc "${DISTDIR}"/${A} | tar -xf - || return 1 - fi + case ${A} in + *.tar.gz) decomp=gzip ;; + *) decomp=bzip2 ;; + esac + ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - + [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 S="${S}"/zlib-${PV} cd "${S}"