1 |
commit: 0976eed9514e637b492d7afdf27e6420330da0fe |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Dec 6 15:21:00 2015 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Dec 9 20:41:16 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0976eed9 |
7 |
|
8 |
multilib-build.eclass: Add missing error checks |
9 |
|
10 |
eclass/multilib-build.eclass | 26 +++++++++++++++----------- |
11 |
1 file changed, 15 insertions(+), 11 deletions(-) |
12 |
|
13 |
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass |
14 |
index dd03553..8e58a2b 100644 |
15 |
--- a/eclass/multilib-build.eclass |
16 |
+++ b/eclass/multilib-build.eclass |
17 |
@@ -262,19 +262,23 @@ multilib_for_best_abi() { |
18 |
# runs (if any). Dies if header files differ. |
19 |
multilib_check_headers() { |
20 |
_multilib_header_cksum() { |
21 |
- [[ -d ${ED}usr/include ]] && \ |
22 |
- find "${ED}"usr/include -type f \ |
23 |
- -exec cksum {} + | sort -k2 |
24 |
+ set -o pipefail |
25 |
+ |
26 |
+ if [[ -d ${ED}usr/include ]]; then |
27 |
+ find "${ED}"usr/include -type f \ |
28 |
+ -exec cksum {} + | sort -k2 |
29 |
+ fi |
30 |
} |
31 |
|
32 |
- local cksum=$(_multilib_header_cksum) |
33 |
+ local cksum cksum_prev |
34 |
local cksum_file=${T}/.multilib_header_cksum |
35 |
+ cksum=$(_multilib_header_cksum) || die |
36 |
|
37 |
if [[ -f ${cksum_file} ]]; then |
38 |
- local cksum_prev=$(< "${cksum_file}") |
39 |
+ cksum_prev=$(< "${cksum_file}") || die |
40 |
|
41 |
if [[ ${cksum} != ${cksum_prev} ]]; then |
42 |
- echo "${cksum}" > "${cksum_file}.new" |
43 |
+ echo "${cksum}" > "${cksum_file}.new" || die |
44 |
|
45 |
eerror "Header files have changed between ABIs." |
46 |
|
47 |
@@ -288,7 +292,7 @@ multilib_check_headers() { |
48 |
die "Header checksum mismatch, aborting." |
49 |
fi |
50 |
else |
51 |
- echo "${cksum}" > "${cksum_file}" |
52 |
+ echo "${cksum}" > "${cksum_file}" || die |
53 |
fi |
54 |
} |
55 |
|
56 |
@@ -409,9 +413,9 @@ multilib_prepare_wrappers() { |
57 |
|
58 |
if [[ -L ${root}/${f} ]]; then |
59 |
# rewrite the symlink target |
60 |
- local target=$(readlink "${root}/${f}") |
61 |
- local target_dir |
62 |
- local target_fn=${target##*/} |
63 |
+ local target |
64 |
+ target=$(readlink "${root}/${f}") || die |
65 |
+ local target_dir target_fn=${target##*/} |
66 |
|
67 |
[[ ${target} == */* ]] && target_dir=${target%/*} |
68 |
|
69 |
@@ -453,7 +457,7 @@ multilib_prepare_wrappers() { |
70 |
if [[ ! -f ${ED}/tmp/multilib-include${f} ]]; then |
71 |
dodir "/tmp/multilib-include${dir}" |
72 |
# a generic template |
73 |
- cat > "${wrapper}" <<_EOF_ |
74 |
+ cat > "${wrapper}" <<_EOF_ || die |
75 |
/* This file is auto-generated by multilib-build.eclass |
76 |
* as a multilib-friendly wrapper. For the original content, |
77 |
* please see the files that are #included below. |