33cd0fb40f
The dib-run-parts/root.d/90-base-dib-run-parts script would mysteriously fail whenever the dib-run-parts is not in the path. The install commands complaining with: install: missing destination file operand after '/tmp/image.ILFTBYVy/mnt/usr/local/bin/dib-run-parts' The reason is chaining a command in exec bypasses set -e. For example: exec /bin/ls $(which doesnotexist) Will works and continue. Handle the which lookup in a variable to have the script abort immediately whenever dib-run-parts is not found. Left an inline comment to make sure the fix is kept around in the future. Signed-off-by: Dan Duvall <dduvall@wikimedia.org> Change-Id: Ibb5d7342b0d06483b84f9dd567e1cc0bf90f194e
15 lines
365 B
Bash
Executable file
15 lines
365 B
Bash
Executable file
#!/bin/bash
|
|
|
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
# Abort early if dib-run-parts is not found to prevent a meaningless
|
|
# error message from the subsequent install command
|
|
DIB_RUN_PARTS=$(which dib-run-parts)
|
|
|
|
exec sudo install -m 0755 -o root -g root -D \
|
|
$DIB_RUN_PARTS \
|
|
$TARGET_ROOT/usr/local/bin/dib-run-parts
|