| OLD | NEW |
| 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # Common constants for build scripts | 5 # Common constants for build scripts |
| 6 # This must evaluate properly for both /bin/bash and /bin/sh | 6 # This must evaluate properly for both /bin/bash and /bin/sh |
| 7 | 7 |
| 8 # All scripts should die on error unless commands are specifically excepted | 8 # All scripts should die on error unless commands are specifically excepted |
| 9 # by prefixing with '!' or surrounded by 'set +e' / 'set -e'. | 9 # by prefixing with '!' or surrounded by 'set +e' / 'set -e'. |
| 10 # TODO: Re-enable this once shflags is less prone to dying. | 10 # TODO: Re-enable this once shflags is less prone to dying. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 true | 24 true |
| 25 elif [ "x$COMMON_SH" != "x" ] | 25 elif [ "x$COMMON_SH" != "x" ] |
| 26 then | 26 then |
| 27 # COMMON_SH set, so assume that's us | 27 # COMMON_SH set, so assume that's us |
| 28 GCLIENT_ROOT="$(dirname "$COMMON_SH")/../.." | 28 GCLIENT_ROOT="$(dirname "$COMMON_SH")/../.." |
| 29 elif [ "x$BASH_SOURCE" != "x" ] | 29 elif [ "x$BASH_SOURCE" != "x" ] |
| 30 then | 30 then |
| 31 # Using bash, so we can find ourselves | 31 # Using bash, so we can find ourselves |
| 32 GCLIENT_ROOT="$(dirname "$BASH_SOURCE")/../.." | 32 GCLIENT_ROOT="$(dirname "$BASH_SOURCE")/../.." |
| 33 else | 33 else |
| 34 # Using dash or sh, we don't know where we are. $0 refers to the calling | 34 # Using dash or sh, we don't know where we are. $0 refers to the calling |
| 35 # script, not ourselves, so that doesn't help us. | 35 # script, not ourselves, so that doesn't help us. |
| 36 echo "Unable to determine location for common.sh. If you are sourcing" | 36 echo "Unable to determine location for common.sh. If you are sourcing" |
| 37 echo "common.sh from a script run via dash or sh, you must do it in the" | 37 echo "common.sh from a script run via dash or sh, you must do it in the" |
| 38 echo "following way:" | 38 echo "following way:" |
| 39 echo ' COMMON_SH="$(dirname "$0")/../../scripts/common.sh"' | 39 echo ' COMMON_SH="$(dirname "$0")/../../scripts/common.sh"' |
| 40 echo ' . "$COMMON_SH"' | 40 echo ' . "$COMMON_SH"' |
| 41 echo "where the first line is the relative path from your script to" | 41 echo "where the first line is the relative path from your script to" |
| 42 echo "common.sh." | 42 echo "common.sh." |
| 43 exit 1 | 43 exit 1 |
| 44 fi | 44 fi |
| 45 | 45 |
| 46 # Canonicalize the directories for the root dir and the calling script. | 46 # Canonicalize the directories for the root dir and the calling script. |
| 47 # readlink is part of coreutils and should be present even in a bare chroot. | 47 # readlink is part of coreutils and should be present even in a bare chroot. |
| 48 # This is better than just using | 48 # This is better than just using |
| 49 # FOO = "$(cd $FOO ; pwd)" | 49 # FOO = "$(cd $FOO ; pwd)" |
| 50 # since that leaves symbolic links intact. | 50 # since that leaves symbolic links intact. |
| 51 # Note that 'realpath' is equivalent to 'readlink -f'. | 51 # Note that 'realpath' is equivalent to 'readlink -f'. |
| 52 TOP_SCRIPT_DIR=`readlink -f $TOP_SCRIPT_DIR` | 52 TOP_SCRIPT_DIR=`readlink -f $TOP_SCRIPT_DIR` |
| 53 GCLIENT_ROOT=`readlink -f $GCLIENT_ROOT` | 53 GCLIENT_ROOT=`readlink -f $GCLIENT_ROOT` |
| 54 | 54 |
| 55 # Other directories should always be pathed down from GCLIENT_ROOT. | 55 # Other directories should always be pathed down from GCLIENT_ROOT. |
| 56 SRC_ROOT="$GCLIENT_ROOT/src" | 56 SRC_ROOT="$GCLIENT_ROOT/src" |
| 57 SRC_INTERNAL="$GCLIENT_ROOT/src-internal" | 57 SRC_INTERNAL="$GCLIENT_ROOT/src-internal" |
| 58 SCRIPTS_DIR="$SRC_ROOT/scripts" | 58 SCRIPTS_DIR="$SRC_ROOT/scripts" |
| 59 | 59 |
| 60 # Load developer's custom settings. Default location is in scripts dir, | 60 # Load developer's custom settings. Default location is in scripts dir, |
| 61 # since that's available both inside and outside the chroot. By convention, | 61 # since that's available both inside and outside the chroot. By convention, |
| 62 # settings from this file are variables starting with 'CHROMEOS_' | 62 # settings from this file are variables starting with 'CHROMEOS_' |
| 63 CHROMEOS_DEV_SETTINGS="${CHROMEOS_DEV_SETTINGS:-$SCRIPTS_DIR/.chromeos_dev}" | 63 CHROMEOS_DEV_SETTINGS="${CHROMEOS_DEV_SETTINGS:-$SCRIPTS_DIR/.chromeos_dev}" |
| 64 if [ -f $CHROMEOS_DEV_SETTINGS ] | 64 if [ -f $CHROMEOS_DEV_SETTINGS ] |
| 65 then | 65 then |
| 66 # Turn on exit-on-error during custom settings processing | 66 # Turn on exit-on-error during custom settings processing |
| 67 SAVE_OPTS=`set +o` | 67 SAVE_OPTS=`set +o` |
| 68 set -e | 68 set -e |
| 69 | 69 |
| 70 # Read settings | 70 # Read settings |
| 71 . $CHROMEOS_DEV_SETTINGS | 71 . $CHROMEOS_DEV_SETTINGS |
| 72 | 72 |
| 73 # Restore previous state of exit-on-error | 73 # Restore previous state of exit-on-error |
| 74 eval "$SAVE_OPTS" | 74 eval "$SAVE_OPTS" |
| 75 fi | 75 fi |
| 76 | 76 |
| 77 # Load shflags | 77 # Load shflags |
| 78 . "$SRC_ROOT/third_party/shflags/files/src/shflags" | 78 if [ -f "${TOP_SCRIPT_DIR}/shflags" ]; then |
| 79 . shflags |
| 80 else |
| 81 . "$SRC_ROOT/third_party/shflags/files/src/shflags" |
| 82 fi |
| 79 | 83 |
| 80 # Mirrors and build suites come in 3 flavors | 84 # Mirrors and build suites come in 3 flavors |
| 81 # EXT - external source used to build local package repository | 85 # EXT - external source used to build local package repository |
| 82 # DEV - development chroot, from local package repository | 86 # DEV - development chroot, from local package repository |
| 83 # IMG - bootable image, from local package repository | 87 # IMG - bootable image, from local package repository |
| 84 | 88 |
| 85 # Build suites | 89 # Build suites |
| 86 DEFAULT_EXT_SUITE=${CHROMEOS_EXT_SUITE:-"chromeos_dev"} | 90 DEFAULT_EXT_SUITE=${CHROMEOS_EXT_SUITE:-"chromeos_dev"} |
| 87 DEFAULT_DEV_SUITE=${CHROMEOS_DEV_SUITE:-"chromeos_dev"} | 91 DEFAULT_DEV_SUITE=${CHROMEOS_DEV_SUITE:-"chromeos_dev"} |
| 88 DEFAULT_IMG_SUITE=${CHROMEOS_IMG_SUITE:-"chromeos"} | 92 DEFAULT_IMG_SUITE=${CHROMEOS_IMG_SUITE:-"chromeos"} |
| (...skipping 24 matching lines...) Expand all Loading... |
| 113 # ----------------------------------------------------------------------------- | 117 # ----------------------------------------------------------------------------- |
| 114 # Functions | 118 # Functions |
| 115 | 119 |
| 116 # Make a package | 120 # Make a package |
| 117 function make_pkg_common { | 121 function make_pkg_common { |
| 118 # Positional parameters from calling script. :? means "fail if unset". | 122 # Positional parameters from calling script. :? means "fail if unset". |
| 119 set -e | 123 set -e |
| 120 PKG_BASE=${1:?} | 124 PKG_BASE=${1:?} |
| 121 shift | 125 shift |
| 122 set +e | 126 set +e |
| 123 | 127 |
| 124 # All packages are built in the chroot | 128 # All packages are built in the chroot |
| 125 assert_inside_chroot | 129 assert_inside_chroot |
| 126 | 130 |
| 127 # Command line options | 131 # Command line options |
| 128 DEFINE_string build_root "$DEFAULT_BUILD_ROOT" "Root of build output" | 132 DEFINE_string build_root "$DEFAULT_BUILD_ROOT" "Root of build output" |
| 129 | 133 |
| 130 # Parse command line and update positional args | 134 # Parse command line and update positional args |
| 131 FLAGS "$@" || exit 1 | 135 FLAGS "$@" || exit 1 |
| 132 eval set -- "${FLAGS_ARGV}" | 136 eval set -- "${FLAGS_ARGV}" |
| 133 | 137 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 # Positional parameters from calling script. :? means "fail if unset". | 187 # Positional parameters from calling script. :? means "fail if unset". |
| 184 PKG_NAME=${1:?} | 188 PKG_NAME=${1:?} |
| 185 shift | 189 shift |
| 186 | 190 |
| 187 if [ -z `which $PKG_NAME` ] | 191 if [ -z `which $PKG_NAME` ] |
| 188 then | 192 then |
| 189 echo "Can't find $PKG_NAME; attempting to install it." | 193 echo "Can't find $PKG_NAME; attempting to install it." |
| 190 sudo apt-get --yes --force-yes install $PKG_NAME | 194 sudo apt-get --yes --force-yes install $PKG_NAME |
| 191 fi | 195 fi |
| 192 } | 196 } |
| OLD | NEW |