Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Unified Diff: common.sh

Issue 6240018: This starts to fix the scripts so that they load from /usr/lib/crosutils (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: fixing bad merge Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « clean_loopback_devices ('k') | create_esp.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common.sh
diff --git a/common.sh b/common.sh
index 7235f23ce92723d9dc6b18e95358a65e99988ab2..5f3495fdbb5dd942d6ee75a39547d282b014b3a1 100644
--- a/common.sh
+++ b/common.sh
@@ -12,10 +12,12 @@
# The number of jobs to pass to tools that can run in parallel (such as make
# and dpkg-buildpackage
-NUM_JOBS=`grep -c "^processor" /proc/cpuinfo`
+NUM_JOBS=$(grep -c "^processor" /proc/cpuinfo)
-# Store location of the calling script.
-TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}"
+# Make sure we have the location and name of the calling script, using
+# the current value if it is already set.
+SCRIPT_LOCATION=${SCRIPT_LOCATION:-$(dirname "$(readlink -f "$0")")}
+SCRIPT_NAME=${SCRIPT_NAME:-$(basename "$0")}
# Detect whether we're inside a chroot or not
if [ -e /etc/debian_chroot ]
@@ -77,8 +79,8 @@ get_gclient_root
# FOO = "$(cd $FOO ; pwd)"
# since that leaves symbolic links intact.
# Note that 'realpath' is equivalent to 'readlink -f'.
-TOP_SCRIPT_DIR=`readlink -f $TOP_SCRIPT_DIR`
-GCLIENT_ROOT=`readlink -f $GCLIENT_ROOT`
+SCRIPT_LOCATION=$(readlink -f $SCRIPT_LOCATION)
+GCLIENT_ROOT=$(readlink -f $GCLIENT_ROOT)
# Other directories should always be pathed down from GCLIENT_ROOT.
SRC_ROOT="$GCLIENT_ROOT/src"
@@ -89,10 +91,9 @@ SCRIPTS_DIR="$SRC_ROOT/scripts"
# since that's available both inside and outside the chroot. By convention,
# settings from this file are variables starting with 'CHROMEOS_'
CHROMEOS_DEV_SETTINGS="${CHROMEOS_DEV_SETTINGS:-$SCRIPTS_DIR/.chromeos_dev}"
-if [ -f $CHROMEOS_DEV_SETTINGS ]
-then
+if [ -f $CHROMEOS_DEV_SETTINGS ]; then
# Turn on exit-on-error during custom settings processing
- SAVE_OPTS=`set +o`
+ SAVE_OPTS=$(set +o)
set -e
# Read settings
@@ -106,7 +107,7 @@ fi
if [[ -f /usr/lib/shflags ]]; then
. /usr/lib/shflags
elif [ -f ./lib/shflags/shflags ]; then
- . "./lib/shflags/shflags"
+ . ./lib/shflags/shflags
else
. "${SRC_ROOT}/scripts/lib/shflags/shflags"
fi
@@ -142,7 +143,7 @@ ALL_BOARDS=$(echo $ALL_BOARDS)
DEFAULT_BOARD=$(echo $ALL_BOARDS | awk '{print $NF}')
# Enable --fast by default.
-DEFAULT_FAST="${FLAGS_TRUE}"
+DEFAULT_FAST=${FLAGS_TRUE}
# Directory locations inside the dev chroot
CHROOT_TRUNK_DIR="/home/$USER/trunk"
@@ -216,8 +217,7 @@ case "$(basename $0)" in
echo "RUNNING OLD BUILD SYSTEM SCRIPTS. RUN THE PORTAGE-BASED BUILD HERE:"
echo "http://www.chromium.org/chromium-os/building-chromium-os/portage-based-build"
echo
- if [ "$USER" != "chrome-bot" ]
- then
+ if [ "$USER" != "chrome-bot" ]; then
read -n1 -p "Press any key to continue using the OLD build system..."
echo
echo
@@ -245,7 +245,7 @@ function get_default_board {
DEFAULT_BOARD=
if [ -f "$GCLIENT_ROOT/src/scripts/.default_board" ] ; then
- DEFAULT_BOARD=`cat "$GCLIENT_ROOT/src/scripts/.default_board"`
+ DEFAULT_BOARD=$(cat "$GCLIENT_ROOT/src/scripts/.default_board")
fi
}
@@ -272,17 +272,17 @@ function make_pkg_common {
set -e
# Make output dir
- OUT_DIR="$FLAGS_build_root/x86/local_packages"
- mkdir -p "$OUT_DIR"
+ local out_dir="$FLAGS_build_root/x86/local_packages"
+ mkdir -p "$out_dir"
# Remove previous package from output dir
- rm -f "$OUT_DIR"/${PKG_BASE}_*.deb
+ rm -f "$out_dir"/${PKG_BASE}_*.deb
# Rebuild the package
- pushd "$TOP_SCRIPT_DIR"
+ pushd "$SCRIPT_LOCATION"
rm -f ../${PKG_BASE}_*.deb
dpkg-buildpackage -b -tc -us -uc -j$NUM_JOBS
- mv ../${PKG_BASE}_*.deb "$OUT_DIR"
+ mv ../${PKG_BASE}_*.deb "$out_dir"
rm ../${PKG_BASE}_*.changes
popd
}
@@ -290,19 +290,19 @@ function make_pkg_common {
# Enter a chroot and restart the current script if needed
function restart_in_chroot_if_needed {
# NB: Pass in ARGV: restart_in_chroot_if_needed "$@"
- if [ $INSIDE_CHROOT -ne 1 ]
- then
- # Equivalent to enter_chroot.sh -- <current command>
+ if [ $INSIDE_CHROOT -ne 1 ]; then
+ local abspath=$(readlink -f "$0")
+ # strip everything up to (and including) /scripts/ from abspath
+ local path_from_scripts="${abspath##*/scripts/}"
exec $SCRIPTS_DIR/enter_chroot.sh -- \
- $CHROOT_TRUNK_DIR/src/scripts/$(basename $0) "$@"
+ "$CHROOT_TRUNK_DIR/src/scripts/$path_from_scripts" "$@"
fi
}
# Fail unless we're inside the chroot. This guards against messing up your
# workstation.
function assert_inside_chroot {
- if [ $INSIDE_CHROOT -ne 1 ]
- then
+ if [ $INSIDE_CHROOT -ne 1 ]; then
echo "This script must be run inside the chroot. Run this first:"
echo " $SCRIPTS_DIR/enter_chroot.sh"
exit 1
@@ -312,33 +312,19 @@ function assert_inside_chroot {
# Fail if we're inside the chroot. This guards against creating or entering
# nested chroots, among other potential problems.
function assert_outside_chroot {
- if [ $INSIDE_CHROOT -ne 0 ]
- then
+ if [ $INSIDE_CHROOT -ne 0 ]; then
echo "This script must be run outside the chroot."
exit 1
fi
}
function assert_not_root_user {
- if [ `id -u` = 0 ]; then
+ if [ $(id -u) = 0 ]; then
echo "This script must be run as a non-root user."
exit 1
fi
}
-# Install a package if it's not already installed
-function install_if_missing {
- # Positional parameters from calling script. :? means "fail if unset".
- PKG_NAME=${1:?}
- shift
-
- if [ -z `which $PKG_NAME` ]
- then
- echo "Can't find $PKG_NAME; attempting to install it."
- sudo apt-get --yes --force-yes install $PKG_NAME
- fi
-}
-
# Returns true if the input file is whitelisted.
#
# $1 - The file to check
@@ -402,12 +388,12 @@ function die {
# Retry an emerge command according to $FLAGS_retries
# The $EMERGE_JOBS flags will only be added the first time the command is run
function eretry () {
- local i=
+ local i
for i in $(seq $FLAGS_retries); do
- echo Retrying $*
- $* $EMERGE_JOBS && return 0
+ echo "Retrying $@"
+ "$@" $EMERGE_JOBS && return 0
done
- $* && return 0
+ "$@" && return 0
return 1
}
@@ -455,6 +441,7 @@ function safe_umount {
fix_broken_symlinks() {
local build_root="${1}"
local symlinks=$(find "${build_root}/usr/local" -lname "${build_root}/*")
+ local symlink
for symlink in ${symlinks}; do
echo "Fixing ${symlink}"
local target=$(ls -l "${symlink}" | cut -f 2 -d '>')
@@ -491,6 +478,7 @@ setup_symlinks_on_root() {
fi
# Set up symlinks that should point to ${dev_image_target}.
+ local path
for path in usr local; do
if [ -h "${dev_image_root}/${path}" ]; then
sudo unlink "${dev_image_root}/${path}"
@@ -556,10 +544,10 @@ start_time=$(date +%s)
# Print time elsapsed since start_time.
print_time_elapsed() {
- end_time=$(date +%s)
- elapsed_seconds="$(( $end_time - $start_time ))"
- minutes="$(( $elapsed_seconds / 60 ))"
- seconds="$(( $elapsed_seconds % 60 ))"
+ local end_time=$(date +%s)
+ local elapsed_seconds=$(($end_time - $start_time))
+ local minutes=$(($elapsed_seconds / 60))
+ local seconds=$(($elapsed_seconds % 60))
echo "Elapsed time: ${minutes}m${seconds}s"
}
@@ -574,7 +562,7 @@ print_time_elapsed() {
# ${1} specifies the location of the chroot.
chroot_hacks_from_outside() {
# Give args better names.
- local chroot_dir="${1}"
+ local chroot_dir=$1
# Add root as a sudoer if not already done.
if ! sudo grep -q '^root ALL=(ALL) ALL$' "${chroot_dir}/etc/sudoers" ; then
« no previous file with comments | « clean_loopback_devices ('k') | create_esp.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698