Store installer at a temporary location
This commit is contained in:
parent
80d58a6854
commit
be405a81b3
1 changed files with 9 additions and 5 deletions
14
Dockerfile
14
Dockerfile
|
@ -29,7 +29,11 @@ RUN \
|
||||||
RUN pip install pyocd
|
RUN pip install pyocd
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
wget "${KEIL_URL}" --progress=bar:force:noscroll -O MDK537.exe; \
|
installerExtension=".exe"; \
|
||||||
|
installer="$(mktemp --suffix="$installerExtension")"; \
|
||||||
|
installerName="$(basename "$installer" | sed "s/$installerExtension$//")"; \
|
||||||
|
rm "$installer"; \
|
||||||
|
wget "${KEIL_URL}" --progress=bar:force:noscroll -O "$installer"; \
|
||||||
[ "$DEBUG" -eq 1 ] && { \
|
[ "$DEBUG" -eq 1 ] && { \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
|
@ -75,7 +79,7 @@ RUN \
|
||||||
-e ":end q;"; \
|
-e ":end q;"; \
|
||||||
exitCode="$?"; \
|
exitCode="$?"; \
|
||||||
# Kill installer if it got stuck (according to console output)
|
# Kill installer if it got stuck (according to console output)
|
||||||
[ "$exitCode" -eq 42 ] && pkill -9 MDK537.exe; \
|
[ "$exitCode" -eq 42 ] && pkill -9 "$installerName"; \
|
||||||
# Use `sed`s exit code if non-zero
|
# Use `sed`s exit code if non-zero
|
||||||
[ "$exitCode" -ne 0 ] && exit "$exitCode" || \
|
[ "$exitCode" -ne 0 ] && exit "$exitCode" || \
|
||||||
# Return true otherwise
|
# Return true otherwise
|
||||||
|
@ -92,7 +96,7 @@ RUN \
|
||||||
local exitCode; \
|
local exitCode; \
|
||||||
exitCodeFile="$(mktemp)"; \
|
exitCodeFile="$(mktemp)"; \
|
||||||
{ \
|
{ \
|
||||||
2>&1 WINEDEBUG=+all,trace-all,warn-all /usr/bin/entrypoint wine MDK537.exe --batch-install; \
|
2>&1 WINEDEBUG=+all,trace-all,warn-all /usr/bin/entrypoint wine "$installer" --batch-install; \
|
||||||
echo "$?" > "$exitCodeFile"; \
|
echo "$?" > "$exitCodeFile"; \
|
||||||
} \
|
} \
|
||||||
# Write output to a log file when debugging
|
# Write output to a log file when debugging
|
||||||
|
@ -122,7 +126,7 @@ RUN \
|
||||||
sleep 1; \
|
sleep 1; \
|
||||||
done; \
|
done; \
|
||||||
# Kill installer after timeout indicated by `maxCount`
|
# Kill installer after timeout indicated by `maxCount`
|
||||||
[ "$x" -eq "$maxCount" ] && { pkill -9 MDK537.exe; mv "$logFile" "$logDir/timeout-try$try.log"; }; \
|
[ "$x" -eq "$maxCount" ] && { pkill -9 "$installerName"; mv "$logFile" "$logDir/timeout-try$try.log"; }; \
|
||||||
} & \
|
} & \
|
||||||
}; \
|
}; \
|
||||||
wait "$pid"; \
|
wait "$pid"; \
|
||||||
|
@ -176,7 +180,7 @@ RUN \
|
||||||
# Cleanup Unnecessary Files
|
# Cleanup Unnecessary Files
|
||||||
rm -f "$TIV"; \
|
rm -f "$TIV"; \
|
||||||
rm -rf "$(/usr/bin/entrypoint winepath 'C:\Keil_v5')/Backup."*; \
|
rm -rf "$(/usr/bin/entrypoint winepath 'C:\Keil_v5')/Backup."*; \
|
||||||
rm MDK537.exe; \
|
rm "$installer"; \
|
||||||
rm -f /tmp/.X*-lock; \
|
rm -f /tmp/.X*-lock; \
|
||||||
[ "$DEBUG" -eq 1 ] && { \
|
[ "$DEBUG" -eq 1 ] && { \
|
||||||
apt-get remove -y imagemagick; \
|
apt-get remove -y imagemagick; \
|
||||||
|
|
Loading…
Reference in a new issue