summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-03-23 08:44:55 +0000
committerSam James <sam@gentoo.org>2024-03-23 15:40:54 +0000
commitf81ec884754b3f3d3720d40b212e12ef364821c5 (patch)
tree2092ec33b9f95ce08484510e048d224384b52c7b /eclass
parentRevert "toolchain.eclass: default to just running the (execute) torture tests" (diff)
downloadgentoo-f81ec884754b3f3d3720d40b212e12ef364821c5.tar.gz
gentoo-f81ec884754b3f3d3720d40b212e12ef364821c5.tar.bz2
gentoo-f81ec884754b3f3d3720d40b212e12ef364821c5.zip
toolchain.eclass: add various missing error handling
Prompted by Ionen. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain.eclass34
1 files changed, 17 insertions, 17 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d996d2d02770..5f350db0fe13 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -646,7 +646,7 @@ toolchain_src_prepare() {
# Update configure files
local f
einfo "Fixing misc issues in configure files"
- for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
+ for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure || die) || die) ; do
ebegin " Updating ${f/${S}\/} [LANG]"
patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
|| eerror "Please file a bug about this"
@@ -1865,7 +1865,7 @@ gcc_do_make() {
emake doc-man-doxygen
# Clean bogus manpages. bug #113902
- find -name '*_build_*' -delete
+ find -name '*_build_*' -delete || die
# Blow away generated directory references. Newer versions of gcc
# have gotten better at this, but not perfect. This is easier than
@@ -1982,9 +1982,9 @@ toolchain_src_install() {
S="${WORKDIR}"/build-jit emake DESTDIR="${D}" -j1 install
# Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
- find "${ED}" -name libiberty.a -delete
+ find "${ED}" -name libiberty.a -delete || die
# Move the libraries to the proper location
gcc_movelibs
@@ -2006,9 +2006,9 @@ toolchain_src_install() {
S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install
# Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
- find "${ED}" -name libiberty.a -delete
+ find "${ED}" -name libiberty.a -delete || die
# Move the libraries to the proper location
gcc_movelibs
@@ -2084,9 +2084,9 @@ toolchain_src_install() {
rm -rf "${ED}"/usr/share/{man,info}
rm -rf "${D}"${DATAPATH}/{man,info}
else
- local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man)
+ local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man || die)
if [[ -d ${cxx_mandir} ]] ; then
- cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/
+ cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ || die
fi
fi
@@ -2100,7 +2100,7 @@ toolchain_src_install() {
docompress "${DATAPATH}"/{info,man}
# Prune empty dirs left behind
- find "${ED}" -depth -type d -delete 2>/dev/null
+ find "${ED}" -depth -type d -delete 2>/dev/null || die
# libstdc++.la: Delete as it doesn't add anything useful: g++ itself
# handles linkage correctly in the dynamic & static case. It also just
@@ -2137,17 +2137,17 @@ toolchain_src_install() {
-name libitm.la -o \
-name libvtv.la -o \
-name 'lib*san.la' \
- ')' -type f -delete
+ ')' -type f -delete || die
# Use gid of 0 because some stupid ports don't have
# the group 'root' set to gid 0. Send to /dev/null
# for people who are testing as non-root.
- chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null
+ chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null || die
# Installing gdb pretty-printers into gdb-specific location.
local py gdbdir=/usr/share/gdb/auto-load${LIBPATH}
- pushd "${D}${LIBPATH}" >/dev/null
- for py in $(find . -name '*-gdb.py') ; do
+ pushd "${D}${LIBPATH}" >/dev/null || die
+ for py in $(find . -name '*-gdb.py' || die) ; do
local multidir=${py%/*}
insinto "${gdbdir}/${multidir}"
@@ -2157,7 +2157,7 @@ toolchain_src_install() {
rm "${py}" || die
done
- popd >/dev/null
+ popd >/dev/null || die
# Don't scan .gox files for executable stacks - false positives
export QA_EXECSTACK="usr/lib*/go/*/*.gox"
@@ -2170,7 +2170,7 @@ toolchain_src_install() {
if use test ; then
mkdir "${T}"/test-results || die
cd "${WORKDIR}"/build || die
- find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \;
+ find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \; || die
fi
}
@@ -2217,7 +2217,7 @@ gcc_movelibs() {
removedirs="${removedirs} ${FROMDIR}"
FROMDIR=${D}${FROMDIR}
if [[ ${FROMDIR} != "${TODIR}" && -d ${FROMDIR} ]] ; then
- local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null)
+ local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null || die)
if [[ -n ${files} ]] ; then
mv ${files} "${TODIR}" || die
fi
@@ -2234,7 +2234,7 @@ gcc_movelibs() {
rmdir "${D}"${FROMDIR} >& /dev/null
done
- find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null
+ find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null || die
}
# Make sure the libtool archives have libdir set to where they actually