dib-run-parts: make cp to target root more robust
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
This commit is contained in:
parent
792036ec62
commit
33cd0fb40f
@ -6,6 +6,10 @@ fi
|
|||||||
set -eu
|
set -eu
|
||||||
set -o pipefail
|
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 \
|
exec sudo install -m 0755 -o root -g root -D \
|
||||||
$(which dib-run-parts) \
|
$DIB_RUN_PARTS \
|
||||||
$TARGET_ROOT/usr/local/bin/dib-run-parts
|
$TARGET_ROOT/usr/local/bin/dib-run-parts
|
||||||
|
Loading…
Reference in New Issue
Block a user