Skip to content

Commit 8cfaadd

Browse files
authored
Merge pull request #2913 from joolswills/builder_tweaks
builder - variable / parameter changes
2 parents 67785e3 + d58e01d commit 8cfaadd

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

scriptmodules/admin/builder.sh

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -76,41 +76,37 @@ function chroot_build_builder() {
7676
local ip="$(getIPAddress)"
7777

7878
local dist
79-
local dists="$__dists"
79+
local dists="$__builder_dists"
8080
[[ -z "$dists" ]] && dists="stretch buster"
81-
local sys
81+
82+
local platform
83+
local platforms="$__builder_platforms"
84+
[[ -z "$platforms" ]] && platforms="rpi1 rpi2 rpi4"
8285

8386
for dist in $dists; do
84-
local use_distcc=0
87+
local distcc_hosts="$__builder_distcc_hosts"
8588
if [[ -d "$rootdir/admin/crosscomp/$dist" ]]; then
86-
use_distcc=1
8789
rp_callModule crosscomp switch_distcc "$dist"
90+
[[ -z "$distcc_hosts" ]] && distcc_hosts="$ip"
8891
fi
8992

93+
local makeflags="$__builder_makeflags"
94+
[[ -z "$makeflags" ]] && makeflags="-j$(nproc)"
95+
9096
[[ ! -d "$md_build/$dist" ]] && rp_callModule image create_chroot "$dist" "$md_build/$dist"
9197
if [[ ! -d "$md_build/$dist/home/pi/RetroPie-Setup" ]]; then
9298
sudo -u $user git clone "$home/RetroPie-Setup" "$md_build/$dist/home/pi/RetroPie-Setup"
93-
cat > "$md_build/$dist/home/pi/install.sh" <<_EOF_
94-
#!/bin/bash
95-
cd
96-
sudo apt-get update
97-
sudo apt-get install -y git
98-
if [[ "$use_distcc" -eq 1 ]]; then
99-
sudo apt-get install -y distcc
100-
sudo sed -i s/\+zeroconf/$ip/ /etc/distcc/hosts;
101-
fi
102-
_EOF_
103-
rp_callModule image chroot "$md_build/$dist" bash /home/pi/install.sh
99+
rp_callModule image chroot "$md_build/$dist" bash -c "sudo apt-get update; sudo apt-get install -y git"
104100
else
105101
sudo -u $user git -C "$md_build/$dist/home/pi/RetroPie-Setup" pull
106102
fi
107103

108-
for sys in rpi1 rpi2; do
104+
for platform in $platforms; do
109105
rp_callModule image chroot "$md_build/$dist" \
110106
sudo \
111-
PATH="/usr/lib/distcc:$PATH" \
112-
MAKEFLAGS="-j4 PATH=/usr/lib/distcc:$PATH" \
113-
__platform="$sys" \
107+
MAKEFLAGS="$makeflags" \
108+
DISTCC_HOSTS="$distcc_hosts" \
109+
__platform="$platform" \
114110
/home/pi/RetroPie-Setup/retropie_packages.sh builder "$@"
115111
done
116112

scriptmodules/system.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ function setup_env() {
4848
[[ -z "${ASFLAGS}" ]] && export ASFLAGS="${__default_asflags}"
4949
[[ -z "${MAKEFLAGS}" ]] && export MAKEFLAGS="${__default_makeflags}"
5050

51+
# if using distcc, add /usr/lib/distcc to PATH/MAKEFLAGS
52+
if [[ -n "$DISTCC_HOSTS" ]]; then
53+
PATH="/usr/lib/distcc:$PATH"
54+
MAKEFLAGS+=" PATH=/usr/lib/distcc:$PATH"
55+
fi
56+
5157
# test if we are in a chroot
5258
if [[ "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/.)" ]]; then
5359
[[ -z "$QEMU_CPU" && -n "$__qemu_cpu" ]] && export QEMU_CPU=$__qemu_cpu
@@ -197,6 +203,8 @@ function get_os_version() {
197203
function get_retropie_depends() {
198204
local depends=(git dialog wget gcc g++ build-essential unzip xmlstarlet python-pyudev ca-certificates)
199205

206+
[[ -n "$DISTCC_HOSTS" ]] && depends+=(distcc)
207+
200208
if ! getDepends "${depends[@]}"; then
201209
fatalError "Unable to install packages required by $0 - ${md_ret_errors[@]}"
202210
fi

0 commit comments

Comments
 (0)