1
1
#! /usr/bin/env bash
2
- # shellcheck disable=SC2016,SC2030,SC2031,SC2038,SC2185,SC2120
2
+ # shellcheck disable=SCSC1091, SC2016,SC2030,SC2031,SC2038,SC2185,SC2120
3
3
# Copyright 2006-2024 Gentoo Authors
4
4
# Distributed under the terms of the GNU General Public License v2
5
5
@@ -1088,8 +1088,6 @@ bootstrap_python() {
1088
1088
1089
1089
fix_config_sub
1090
1090
1091
- local myconf=" "
1092
-
1093
1091
case ${CHOST} in
1094
1092
(x86_64-* -* |sparcv9-* -* )
1095
1093
export CFLAGS=" -m64"
@@ -1103,7 +1101,9 @@ bootstrap_python() {
1103
1101
* -linux* )
1104
1102
# Bug 382263: make sure Python will know about the libdir in use for
1105
1103
# the current arch
1106
- libdir=" -L/usr/lib/$( gcc ${CFLAGS} -print-multi-os-directory) "
1104
+ local -a flgarg
1105
+ read -r -a flgarg <<< " ${CFLAGS}"
1106
+ libdir=" -L/usr/lib/$( gcc " ${flgarg[@]} " -print-multi-os-directory) "
1107
1107
;;
1108
1108
x86_64-* -solaris* |sparcv9-* -solaris* )
1109
1109
# Like above, make Python know where GCC's 64-bits
@@ -1157,7 +1157,7 @@ bootstrap_python() {
1157
1157
--disable-ipv6 \
1158
1158
--disable-shared \
1159
1159
--libdir=" ${ROOT} " /tmp/usr/lib \
1160
- ${myconf} || return 1
1160
+ || return 1
1161
1161
emake || return 1
1162
1162
1163
1163
einfo " Installing ${A% .tar.* } "
@@ -1178,15 +1178,15 @@ bootstrap_cmake_core() {
1178
1178
1179
1179
einfo " Bootstrapping ${A% .tar.* } "
1180
1180
1181
- efetch https://github.com/Kitware/CMake/releases/download/v${PV} /${A} \
1181
+ efetch " https://github.com/Kitware/CMake/releases/download/v${PV} /${A} " \
1182
1182
|| return 1
1183
1183
1184
1184
einfo " Unpacking ${A% .tar.* } "
1185
1185
export S=" ${PORTAGE_TMPDIR} /cmake-${PV} "
1186
1186
rm -rf " ${S} "
1187
1187
mkdir -p " ${S} " || return 1
1188
1188
cd " ${S} " || return 1
1189
- gzip -dc " ${DISTDIR} " /${A} | tar -xf -
1189
+ gzip -dc " ${DISTDIR} /${A} " | tar -xf -
1190
1190
[[ ${PIPESTATUS[*]} == ' 0 0' ]] || return 1
1191
1191
S=" ${S} " /cmake-${PV}
1192
1192
cd " ${S} " || return 1
@@ -1212,10 +1212,10 @@ bootstrap_cmake_core() {
1212
1212
# later on, so kill it in the installed version
1213
1213
ver=${A% -* } ; ver=${ver% .* }
1214
1214
sed -i -e ' /cmake_gnu_set_sysroot_flag/d' \
1215
- " ${ROOT} " /tmp/usr/share/${ver} /Modules/Platform/Apple-GNU-* .cmake || die
1215
+ " ${ROOT} /tmp/usr/share/${ver} /Modules/Platform" /Apple-GNU-* .cmake || die
1216
1216
# disable isysroot usage with clang as well
1217
1217
sed -i -e ' /_SYSROOT_FLAG/d' \
1218
- " ${ROOT} " /tmp/usr/share/${ver} /Modules/Platform/Apple-Clang.cmake || die
1218
+ " ${ROOT} /tmp/usr/share/${ver} /Modules/Platform" /Apple-Clang.cmake || die
1219
1219
1220
1220
einfo " ${A% .tar.* } bootstrapped"
1221
1221
}
@@ -1231,7 +1231,7 @@ bootstrap_zlib_core() {
1231
1231
1232
1232
einfo " Bootstrapping ${A% .tar.* } "
1233
1233
1234
- efetch ${DISTFILES_G_O} /distfiles/${A} || return 1
1234
+ efetch " ${DISTFILES_G_O} /distfiles/${A} " || return 1
1235
1235
1236
1236
einfo " Unpacking ${A% .tar.* } "
1237
1237
export S=" ${PORTAGE_TMPDIR} /zlib-${PV} "
@@ -1242,7 +1242,7 @@ bootstrap_zlib_core() {
1242
1242
* .tar.gz) decomp=gzip ;;
1243
1243
* ) decomp=bzip2 ;;
1244
1244
esac
1245
- ${decomp} -dc " ${DISTDIR} " /${A} | tar -xf -
1245
+ ${decomp} -dc " ${DISTDIR} /${A} " | tar -xf -
1246
1246
[[ ${PIPESTATUS[*]} == ' 0 0' ]] || return 1
1247
1247
S=" ${S} " /zlib-${PV}
1248
1248
cd " ${S} " || return 1
@@ -1356,7 +1356,7 @@ bootstrap_make() {
1356
1356
bootstrap_gnu make 4.2.1 || return 1
1357
1357
if [[ ${MAKE} == gmake ]] ; then
1358
1358
# make make available as gmake
1359
- ( cd ${ROOT} /tmp/usr/bin && ln -s make gmake )
1359
+ ( cd " ${ROOT} " /tmp/usr/bin && ln -s make gmake )
1360
1360
fi
1361
1361
}
1362
1362
@@ -1464,7 +1464,7 @@ bootstrap_stage1() {
1464
1464
1465
1465
# See comments in do_tree().
1466
1466
local portroot=${PORTDIR%/* }
1467
- mkdir -p " ${ROOT} " /tmp/${portroot# ${ROOT} / }
1467
+ mkdir -p " ${ROOT} /tmp/${portroot# " ${ROOT} " / } "
1468
1468
for x in lib sbin bin; do
1469
1469
mkdir -p " ${ROOT} " /tmp/usr/${x}
1470
1470
[[ -e ${ROOT} /tmp/${x} ]] || ( cd " ${ROOT} " /tmp && ln -s usr/${x} )
@@ -1678,11 +1678,11 @@ bootstrap_stage1_log() {
1678
1678
echo " CHOST: ${CHOST} "
1679
1679
echo " IDENT: ${CHOST_IDENTIFY} "
1680
1680
echo " ==========================================="
1681
- } >> ${ROOT} /stage1.log
1681
+ } >> " ${ROOT} " /stage1.log
1682
1682
bootstrap_stage1 " ${@ } " 2>&1 | tee -a " ${ROOT} " /stage1.log
1683
1683
local ret=${PIPESTATUS[0]}
1684
1684
[[ ${ret} == 0 ]] && touch " ${ROOT} " /.stage1-finished
1685
- return ${ret}
1685
+ return " ${ret} "
1686
1686
}
1687
1687
1688
1688
do_emerge_pkgs () {
@@ -1770,6 +1770,15 @@ do_emerge_pkgs() {
1770
1770
# defaults).
1771
1771
echo " USE=${myuse[*]} PKG=${pkg} "
1772
1772
(
1773
+ local -a eopts
1774
+ read -r -a eopts <<< " ${opts}"
1775
+ eopts=(
1776
+ " --color" " n"
1777
+ " -v"
1778
+ " --oneshot"
1779
+ " --root-deps"
1780
+ " ${eopts[@]} "
1781
+ )
1773
1782
estatus " ${STAGE} : emerge ${pkg} "
1774
1783
unset CFLAGS CXXFLAGS
1775
1784
[[ -n ${OVERRIDE_CFLAGS} ]] \
@@ -1779,7 +1788,7 @@ do_emerge_pkgs() {
1779
1788
PORTAGE_SYNC_STALE=0 \
1780
1789
FEATURES=" -news ${FEATURES} " \
1781
1790
USE=" ${myuse[*]} " \
1782
- emerge --color n -v --oneshot --root-deps ${opts} " ${pkg} "
1791
+ emerge " ${eopts[@]} " " ${pkg} "
1783
1792
) || return 1
1784
1793
done
1785
1794
}
0 commit comments