1 |
commit: 52e3a39449c848016ac3e520b4ec80b6df06c89d |
2 |
Author: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> |
3 |
AuthorDate: Sat Feb 19 15:34:21 2022 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Feb 19 16:08:12 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=52e3a394 |
7 |
|
8 |
script/bootstrap-prefix.sh: check PIPESTATUS on unpack |
9 |
|
10 |
Both programs need to exit with status 0. |
11 |
|
12 |
Signed-off-by: Anna Vyalkova <cyber+gentoo <AT> sysrq.in> |
13 |
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> |
14 |
|
15 |
scripts/bootstrap-prefix.sh | 51 ++++++++++++++++++++++++++------------------- |
16 |
1 file changed, 29 insertions(+), 22 deletions(-) |
17 |
|
18 |
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh |
19 |
index 76383c0210..b8ad960e6d 100755 |
20 |
--- a/scripts/bootstrap-prefix.sh |
21 |
+++ b/scripts/bootstrap-prefix.sh |
22 |
@@ -602,8 +602,8 @@ do_tree() { |
23 |
fi |
24 |
einfo "Unpacking, this may take a while" |
25 |
estatus "stage1: unpacking Portage tree" |
26 |
- bzip2 -dc ${DISTDIR}/$2 | \ |
27 |
- tar -xf - -C ${PORTDIR} --strip-components=1 || return 1 |
28 |
+ bzip2 -dc ${DISTDIR}/$2 | tar -xf - -C ${PORTDIR} --strip-components=1 |
29 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 |
30 |
touch ${PORTDIR}/.unpacked |
31 |
fi |
32 |
} |
33 |
@@ -692,7 +692,8 @@ bootstrap_portage() { |
34 |
rm -rf "${S}" >& /dev/null |
35 |
mkdir -p "${S}" >& /dev/null |
36 |
cd "${S}" |
37 |
- bzip2 -dc "${DISTDIR}/${A}" | tar -xf - || return 1 |
38 |
+ bzip2 -dc "${DISTDIR}/${A}" | tar -xf - |
39 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 |
40 |
S="${S}/prefix-portage-${PV}" |
41 |
cd "${S}" |
42 |
|
43 |
@@ -787,7 +788,8 @@ bootstrap_simple() { |
44 |
bz2) decomp=bzip2 ;; |
45 |
gz|"") decomp=gzip ;; |
46 |
esac |
47 |
- ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - || return 1 |
48 |
+ ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - |
49 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 |
50 |
S="${S}"/${PN}-${PV} |
51 |
cd "${S}" |
52 |
|
53 |
@@ -842,18 +844,21 @@ bootstrap_gnu() { |
54 |
rm -rf "${S}" |
55 |
mkdir -p "${S}" |
56 |
cd "${S}" |
57 |
- if [[ ${t} == "tar.gz" ]] ; then |
58 |
- gzip -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue |
59 |
- elif [[ ${t} == "tar.xz" ]] ; then |
60 |
- xz -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue |
61 |
- elif [[ ${t} == "tar.bz2" ]] ; then |
62 |
- bzip2 -dc "${DISTDIR}"/${URL##*/} | tar -xf - || continue |
63 |
- elif [[ ${t} == "tar" ]] ; then |
64 |
- tar -xf "${DISTDIR}"/${A} || continue |
65 |
- else |
66 |
- einfo "unhandled extension: $t" |
67 |
- return 1 |
68 |
- fi |
69 |
+ case ${t} in |
70 |
+ tar.xz) decomp=xz ;; |
71 |
+ tar.bz2) decomp=bzip2 ;; |
72 |
+ tar.gz) decomp=gzip ;; |
73 |
+ tar) |
74 |
+ tar -xf "${DISTDIR}"/${A} || continue |
75 |
+ break |
76 |
+ ;; |
77 |
+ *) |
78 |
+ einfo "unhandled extension: $t" |
79 |
+ return 1 |
80 |
+ ;; |
81 |
+ esac |
82 |
+ ${decomp} -dc "${DISTDIR}"/${URL##*/} | tar -xf - |
83 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || continue |
84 |
break |
85 |
done |
86 |
S="${S}"/${PN}-${PV} |
87 |
@@ -1202,7 +1207,8 @@ bootstrap_cmake_core() { |
88 |
rm -rf "${S}" |
89 |
mkdir -p "${S}" |
90 |
cd "${S}" |
91 |
- gzip -dc "${DISTDIR}"/${A} | tar -xf - || return 1 |
92 |
+ gzip -dc "${DISTDIR}"/${A} | tar -xf - |
93 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 |
94 |
S="${S}"/cmake-${PV} |
95 |
cd "${S}" |
96 |
|
97 |
@@ -1253,11 +1259,12 @@ bootstrap_zlib_core() { |
98 |
rm -rf "${S}" |
99 |
mkdir -p "${S}" |
100 |
cd "${S}" |
101 |
- if [[ ${A} == *.tar.gz ]] ; then |
102 |
- gzip -dc "${DISTDIR}"/${A} | tar -xf - || return 1 |
103 |
- else |
104 |
- bzip2 -dc "${DISTDIR}"/${A} | tar -xf - || return 1 |
105 |
- fi |
106 |
+ case ${A} in |
107 |
+ *.tar.gz) decomp=gzip ;; |
108 |
+ *) decomp=bzip2 ;; |
109 |
+ esac |
110 |
+ ${decomp} -dc "${DISTDIR}"/${A} | tar -xf - |
111 |
+ [[ ${PIPESTATUS[*]} == '0 0' ]] || return 1 |
112 |
S="${S}"/zlib-${PV} |
113 |
cd "${S}" |