Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/
Date: Wed, 09 Dec 2015 20:42:10
Message-Id: 1449693676.0976eed9514e637b492d7afdf27e6420330da0fe.mgorny@gentoo
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.