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