mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-26 16:11:56 +02:00
setup_board: merge common wrapper logic
Now that all the wrapper logic is one function, we can merge some of the sub-pieces (chown/chmod/messages) into single calls. BUG=chromium-os:34519 TEST=`./setup_board --board=lumpy` output looked ok Change-Id: If959b48877adfaaca121370495e15cf912deea37 Reviewed-on: https://gerrit.chromium.org/gerrit/33526 Reviewed-by: Brian Harring <ferringb@chromium.org> Reviewed-by: David James <davidjames@chromium.org> Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
e49d487245
commit
dda30b4f70
41
setup_board
41
setup_board
@ -71,7 +71,7 @@ DEFINE_boolean reuse_pkgs_from_local_boards $FLAGS_FALSE \
|
|||||||
# args:
|
# args:
|
||||||
# $1: command to wrap
|
# $1: command to wrap
|
||||||
# rest: extra arguments to pass to the command
|
# rest: extra arguments to pass to the command
|
||||||
generate_wrapper() {
|
_generate_wrapper() {
|
||||||
local command="${1}"
|
local command="${1}"
|
||||||
shift
|
shift
|
||||||
local extra_args="$@"
|
local extra_args="$@"
|
||||||
@ -91,17 +91,18 @@ fi
|
|||||||
export ROOT="$BOARD_ROOT"
|
export ROOT="$BOARD_ROOT"
|
||||||
exec sudo -E ${command} ${extra_args} "\$@"
|
exec sudo -E ${command} ${extra_args} "\$@"
|
||||||
EOF
|
EOF
|
||||||
local cmds=(
|
# Note: parent will process these.
|
||||||
"chmod a+rx '${target}'"
|
wrappers+=( "${target}" )
|
||||||
"chown root:root '${target}'"
|
|
||||||
)
|
|
||||||
sudo_multi "${cmds[@]}"
|
|
||||||
eval ${command^^}_WRAPPER="${target}" # ${foo^^} returns toupper($foo)
|
eval ${command^^}_WRAPPER="${target}" # ${foo^^} returns toupper($foo)
|
||||||
echo created wrapper ${target}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_all_wrappers() {
|
generate_all_wrappers() {
|
||||||
local wrapper="/usr/local/bin/pkg-config-${BOARD_VARIANT}"
|
local cmds=() wrappers=()
|
||||||
|
local wrapper
|
||||||
|
|
||||||
|
info "Generating wrapper scripts"
|
||||||
|
|
||||||
|
wrapper="/usr/local/bin/pkg-config-${BOARD_VARIANT}"
|
||||||
sudo_clobber "${wrapper}" <<EOF
|
sudo_clobber "${wrapper}" <<EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
@ -114,24 +115,21 @@ export PKG_CONFIG_SYSROOT_DIR="${BOARD_ROOT}"
|
|||||||
|
|
||||||
exec pkg-config "\$@"
|
exec pkg-config "\$@"
|
||||||
EOF
|
EOF
|
||||||
local cmds=(
|
wrappers+=( "${wrapper}" )
|
||||||
"chmod a+rx '${wrapper}'"
|
|
||||||
"chown root:root '${wrapper}'"
|
|
||||||
)
|
|
||||||
sudo_multi "${cmds[@]}"
|
|
||||||
echo created wrapper pkg-config
|
|
||||||
|
|
||||||
for wrapper in 'emerge --root-deps' ebuild eclean equery portageq \
|
for wrapper in 'emerge --root-deps' ebuild eclean equery portageq \
|
||||||
qcheck qfile qlist; do
|
qcheck qfile qlist; do
|
||||||
generate_wrapper $wrapper
|
_generate_wrapper ${wrapper}
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "${CHOST}" != "$FLAGS_toolchain" ] ; then
|
if [ "${CHOST}" != "$FLAGS_toolchain" ] ; then
|
||||||
# TODO(cmasone): Do this more cleanly, if we figure out what "cleanly"
|
# TODO(cmasone): Do this more cleanly, if we figure out what "cleanly"
|
||||||
# means. Set up wrapper for pkg-config. Point a board-specific wrapper
|
# means. Set up wrapper for pkg-config. Point a board-specific wrapper
|
||||||
# at the generic wrapper script created by crossdev-wrapper.
|
# at the generic wrapper script created by crossdev-wrapper.
|
||||||
sudo ln -sf "/usr/bin/cross-pkg-config" \
|
cmds+=(
|
||||||
"/usr/bin/${FLAGS_toolchain}-pkg-config"
|
"ln -sf '/usr/bin/cross-pkg-config' \
|
||||||
|
'/usr/bin/${FLAGS_toolchain}-pkg-config'"
|
||||||
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wrapper="/usr/local/bin/cros_workon-${BOARD_VARIANT}"
|
wrapper="/usr/local/bin/cros_workon-${BOARD_VARIANT}"
|
||||||
@ -139,7 +137,14 @@ EOF
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
exec cros_workon --board ${BOARD_VARIANT} "\$@"
|
exec cros_workon --board ${BOARD_VARIANT} "\$@"
|
||||||
EOF
|
EOF
|
||||||
sudo chmod +x "${wrapper}"
|
wrappers+=( "${wrapper}" )
|
||||||
|
|
||||||
|
cmds+=(
|
||||||
|
"chmod a+rx ${wrappers[*]}"
|
||||||
|
"chown root:root ${wrappers[*]}"
|
||||||
|
)
|
||||||
|
|
||||||
|
sudo_multi "${cmds[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Checks whether the libc version installed in the board
|
# Checks whether the libc version installed in the board
|
||||||
|
Loading…
x
Reference in New Issue
Block a user