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

Side by Side Diff: common.sh

Issue 6344016: Fix common.sh to work in it's new location at /usr/lib/crosutils. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git@master
Patch Set: Address review comments. 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 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.
11 #set -e 11 #set -e
12 12
13 # The number of jobs to pass to tools that can run in parallel (such as make 13 # The number of jobs to pass to tools that can run in parallel (such as make
14 # and dpkg-buildpackage 14 # and dpkg-buildpackage
15 NUM_JOBS=`grep -c "^processor" /proc/cpuinfo` 15 NUM_JOBS=`grep -c "^processor" /proc/cpuinfo`
16 16
17 # Store location of the calling script. 17 # Store location of the calling script.
18 TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}" 18 TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}"
19 19
20 # Detect whether we're inside a chroot or not
21 if [ -e /etc/debian_chroot ]
22 then
23 INSIDE_CHROOT=1
24 else
25 INSIDE_CHROOT=0
26 fi
27
28 # Construct a list of possible locations for the source tree. This list is
29 # based on various environment variables and globals that may have been set
30 # by the calling script.
31 function get_gclient_root_list() {
32 if [ $INSIDE_CHROOT -eq 1 ]; then
33 echo "/home/${USER}/trunk"
34
35 if [ -n "${SUDO_USER}" ]; then echo "/home/${SUDO_USER}/trunk"; fi
36 fi
37
38 if [ -n "${COMMON_SH}" ]; then echo "$(dirname "$COMMON_SH")/../.."; fi
39 if [ -n "${BASH_SOURCE}" ]; then echo "$(dirname "$BASH_SOURCE")/../.."; fi
40 }
41
42 # Based on the list of possible source locations we set GCLIENT_ROOT if it is
43 # not already defined by looking for a src directory in each seach path
44 # location. If we do not find a valid looking root we error out.
45 function get_gclient_root() {
46 if [ -n "${GCLIENT_ROOT}" ]; then
47 return
48 fi
49
50 for path in $(get_gclient_root_list); do
51 if [ -d "${path}/src" ]; then
52 GCLIENT_ROOT=${path}
53 break
54 fi
55 done
56
57 if [ -z "${GCLIENT_ROOT}" ]; then
58 # Using dash or sh, we don't know where we are. $0 refers to the calling
59 # script, not ourselves, so that doesn't help us.
60 echo "Unable to determine location for common.sh. If you are sourcing"
61 echo "common.sh from a script run via dash or sh, you must do it in the"
62 echo "following way:"
63 echo ' COMMON_SH="$(dirname "$0")/../../scripts/common.sh"'
64 echo ' . "$COMMON_SH"'
65 echo "where the first line is the relative path from your script to"
66 echo "common.sh."
67 exit 1
68 fi
69 }
70
20 # Find root of source tree 71 # Find root of source tree
21 if [ "x$GCLIENT_ROOT" != "x" ] 72 get_gclient_root
22 then
23 # GCLIENT_ROOT already set, so we're done
24 true
25 elif [ "x$COMMON_SH" != "x" ]
26 then
27 # COMMON_SH set, so assume that's us
28 GCLIENT_ROOT="$(dirname "$COMMON_SH")/../.."
29 elif [ "x$BASH_SOURCE" != "x" ]
30 then
31 # Using bash, so we can find ourselves
32 GCLIENT_ROOT="$(dirname "$BASH_SOURCE")/../.."
33 else
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.
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"
38 echo "following way:"
39 echo ' COMMON_SH="$(dirname "$0")/../../scripts/common.sh"'
40 echo ' . "$COMMON_SH"'
41 echo "where the first line is the relative path from your script to"
42 echo "common.sh."
43 exit 1
44 fi
45 73
46 # Canonicalize the directories for the root dir and the calling script. 74 # 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. 75 # readlink is part of coreutils and should be present even in a bare chroot.
48 # This is better than just using 76 # This is better than just using
49 # FOO = "$(cd $FOO ; pwd)" 77 # FOO = "$(cd $FOO ; pwd)"
50 # since that leaves symbolic links intact. 78 # since that leaves symbolic links intact.
51 # Note that 'realpath' is equivalent to 'readlink -f'. 79 # Note that 'realpath' is equivalent to 'readlink -f'.
52 TOP_SCRIPT_DIR=`readlink -f $TOP_SCRIPT_DIR` 80 TOP_SCRIPT_DIR=`readlink -f $TOP_SCRIPT_DIR`
53 GCLIENT_ROOT=`readlink -f $GCLIENT_ROOT` 81 GCLIENT_ROOT=`readlink -f $GCLIENT_ROOT`
54 82
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 fi 137 fi
110 # Strip CR 138 # Strip CR
111 ALL_BOARDS=$(echo $ALL_BOARDS) 139 ALL_BOARDS=$(echo $ALL_BOARDS)
112 # Set a default BOARD 140 # Set a default BOARD
113 #DEFAULT_BOARD=x86-generic # or... 141 #DEFAULT_BOARD=x86-generic # or...
114 DEFAULT_BOARD=$(echo $ALL_BOARDS | awk '{print $NF}') 142 DEFAULT_BOARD=$(echo $ALL_BOARDS | awk '{print $NF}')
115 143
116 # Enable --fast by default. 144 # Enable --fast by default.
117 DEFAULT_FAST="${FLAGS_TRUE}" 145 DEFAULT_FAST="${FLAGS_TRUE}"
118 146
119 # Detect whether we're inside a chroot or not
120 if [ -e /etc/debian_chroot ]
121 then
122 INSIDE_CHROOT=1
123 else
124 INSIDE_CHROOT=0
125 fi
126
127 # Directory locations inside the dev chroot 147 # Directory locations inside the dev chroot
128 CHROOT_TRUNK_DIR="/home/$USER/trunk" 148 CHROOT_TRUNK_DIR="/home/$USER/trunk"
129 149
130 # Install make for portage ebuilds. Used by build_image and gmergefs. 150 # Install make for portage ebuilds. Used by build_image and gmergefs.
131 # TODO: Is /usr/local/autotest-chrome still used by anyone? 151 # TODO: Is /usr/local/autotest-chrome still used by anyone?
132 DEFAULT_INSTALL_MASK=" 152 DEFAULT_INSTALL_MASK="
133 *.a 153 *.a
134 *.la 154 *.la
135 /etc/init.d 155 /etc/init.d
136 /etc/runlevels 156 /etc/runlevels
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 595
576 BOARD=$(echo "$flags_board" | cut -d '_' -f 1) 596 BOARD=$(echo "$flags_board" | cut -d '_' -f 1)
577 VARIANT=${flags_variant:-$(echo "$flags_board" | cut -s -d '_' -f 2)} 597 VARIANT=${flags_variant:-$(echo "$flags_board" | cut -s -d '_' -f 2)}
578 598
579 if [ -n "$VARIANT" ]; then 599 if [ -n "$VARIANT" ]; then
580 BOARD_VARIANT="${BOARD}_${VARIANT}" 600 BOARD_VARIANT="${BOARD}_${VARIANT}"
581 else 601 else
582 BOARD_VARIANT="${BOARD}" 602 BOARD_VARIANT="${BOARD}"
583 fi 603 fi
584 } 604 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698