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

Side by Side Diff: build/install-build-deps.sh

Issue 11360255: Add --arm option to install-build-deps.sh. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix line length Created 8 years, 1 month 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 #!/bin/bash -e 1 #!/bin/bash -e
2 2
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Script to install everything needed to build chromium (well, ideally, anyway) 7 # Script to install everything needed to build chromium (well, ideally, anyway)
8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions 8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions
9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit 9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit
10 10
11 usage() { 11 usage() {
12 echo "Usage: $0 [--options]" 12 echo "Usage: $0 [--options]"
13 echo "Options:" 13 echo "Options:"
14 echo "--[no-]syms: enable or disable installation of debugging symbols" 14 echo "--[no-]syms: enable or disable installation of debugging symbols"
15 echo "--[no-]lib32: enable or disable installation of 32 bit libraries" 15 echo "--[no-]lib32: enable or disable installation of 32 bit libraries"
16 echo "--[no-]arm: enable or disable installation of arm cross toolchain"
16 echo "--no-prompt: silently select standard options/defaults" 17 echo "--no-prompt: silently select standard options/defaults"
17 echo "Script will prompt interactively if options not given." 18 echo "Script will prompt interactively if options not given."
18 exit 1 19 exit 1
19 } 20 }
20 21
21 while test "$1" != "" 22 while test "$1" != ""
22 do 23 do
23 case "$1" in 24 case "$1" in
24 --syms) do_inst_syms=1;; 25 --syms) do_inst_syms=1;;
25 --no-syms) do_inst_syms=0;; 26 --no-syms) do_inst_syms=0;;
26 --lib32) do_inst_lib32=1;; 27 --lib32) do_inst_lib32=1;;
27 --no-lib32) do_inst_lib32=0;; 28 --no-lib32) do_inst_lib32=0;;
29 --arm) do_inst_arm=1;;
30 --no-arm) do_inst_arm=0;;
28 --no-prompt) do_default=1 31 --no-prompt) do_default=1
29 do_quietly="-qq --assume-yes" 32 do_quietly="-qq --assume-yes"
30 ;; 33 ;;
31 *) usage;; 34 *) usage;;
32 esac 35 esac
33 shift 36 shift
34 done 37 done
35 38
36 if ! egrep -q \ 39 ubuntu_versions="10\.04|10\.10|11\.04|11\.10|12\.04"
37 'Ubuntu (10\.04|10\.10|11\.04|11\.10|12\.04|lucid|maverick|natty|oneiric|pre cise)' \ 40 ubuntu_codenames="lucid|maverick|natty|oneiric|precise"
38 /etc/issue; then 41
39 echo "Only Ubuntu 10.04 (lucid) through 12.04 (precise) are currently" \ 42 if ! egrep -q "Ubuntu ($ubuntu_versions|$ubuntu_codenames)" /etc/issue; then
43 echo "ERROR: Only Ubuntu 10.04 (lucid) through 12.04 (precise) are currently"\
40 "supported" >&2 44 "supported" >&2
41 exit 1 45 exit 1
42 fi 46 fi
43 47
44 if ! uname -m | egrep -q "i686|x86_64"; then 48 if ! uname -m | egrep -q "i686|x86_64"; then
45 echo "Only x86 architectures are currently supported" >&2 49 echo "Only x86 architectures are currently supported" >&2
46 exit 50 exit
47 fi 51 fi
48 52
49 if [ "x$(id -u)" != x0 ]; then 53 if [ "x$(id -u)" != x0 ]; then
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 $chromeos_lib_list" 92 $chromeos_lib_list"
89 93
90 # Debugging symbols for all of the run-time libraries 94 # Debugging symbols for all of the run-time libraries
91 dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libfontconfig1-dbg 95 dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libfontconfig1-dbg
92 libglib2.0-0-dbg libgtk2.0-0-dbg libpango1.0-0-dbg libpcre3-dbg 96 libglib2.0-0-dbg libgtk2.0-0-dbg libpango1.0-0-dbg libpcre3-dbg
93 libpixman-1-0-dbg libsqlite3-0-dbg libx11-6-dbg libxau6-dbg 97 libpixman-1-0-dbg libsqlite3-0-dbg libx11-6-dbg libxau6-dbg
94 libxcb1-dbg libxcomposite1-dbg libxcursor1-dbg libxdamage1-dbg 98 libxcb1-dbg libxcomposite1-dbg libxcursor1-dbg libxdamage1-dbg
95 libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg libxinerama1-dbg 99 libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg libxinerama1-dbg
96 libxrandr2-dbg libxrender1-dbg libxtst6-dbg zlib1g-dbg" 100 libxrandr2-dbg libxrender1-dbg libxtst6-dbg zlib1g-dbg"
97 101
102 # arm cross toolchain packages needed to build chrome on arm
103 arm_list="libc6-armel-cross libc6-dev-armel-cross libgcc1-armel-cross
104 libgomp1-armel-cross linux-libc-dev-armel-cross
105 libgcc1-dbg-armel-cross libgomp1-dbg-armel-cross
106 binutils-arm-linux-gnueabi cpp-arm-linux-gnueabi
107 gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
108 cpp-4.5-arm-linux-gnueabi gcc-4.5-arm-linux-gnueabi
109 g++-4.5-arm-linux-gnueabi libmudflap0-dbg-armel-cross"
110
98 # Plugin lists needed for tests. 111 # Plugin lists needed for tests.
99 plugin_list="flashplugin-installer" 112 plugin_list="flashplugin-installer"
100 113
101 # Some package names have changed over time 114 # Some package names have changed over time
102 if apt-cache show ttf-mscorefonts-installer >/dev/null 2>&1; then 115 if apt-cache show ttf-mscorefonts-installer >/dev/null 2>&1; then
103 dev_list="${dev_list} ttf-mscorefonts-installer" 116 dev_list="${dev_list} ttf-mscorefonts-installer"
104 else 117 else
105 dev_list="${dev_list} msttcorefonts" 118 dev_list="${dev_list} msttcorefonts"
106 fi 119 fi
107 if apt-cache show libnspr4-dbg >/dev/null 2>&1; then 120 if apt-cache show libnspr4-dbg >/dev/null 2>&1; then
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 do_inst_syms=1 186 do_inst_syms=1
174 fi 187 fi
175 fi 188 fi
176 if test "$do_inst_syms" = "1"; then 189 if test "$do_inst_syms" = "1"; then
177 echo "Installing debugging symbols." 190 echo "Installing debugging symbols."
178 else 191 else
179 echo "Skipping installation of debugging symbols." 192 echo "Skipping installation of debugging symbols."
180 dbg_list= 193 dbg_list=
181 fi 194 fi
182 195
196 if test "$do_inst_arm" = "1"; then
197 . /etc/lsb-release
198 if test "$DISTRIB_CODENAME" != "precise"; then
199 echo "ERROR: Installing the ARM cross toolchain is only available on" \
200 "Ubuntu precise." >&2
201 exit 1
202 fi
203 echo "Installing ARM cross toolchain."
204 else
205 echo "Skipping installation of ARM cross toolchain."
206 arm_list=
207 fi
208
183 sudo apt-get update 209 sudo apt-get update
184 210
185 # We initially run "apt-get" with the --reinstall option and parse its output. 211 # We initially run "apt-get" with the --reinstall option and parse its output.
186 # This way, we can find all the packages that need to be newly installed 212 # This way, we can find all the packages that need to be newly installed
187 # without accidentally promoting any packages from "auto" to "manual". 213 # without accidentally promoting any packages from "auto" to "manual".
188 # We then re-run "apt-get" with just the list of missing packages. 214 # We then re-run "apt-get" with just the list of missing packages.
189 echo "Finding missing packages..." 215 echo "Finding missing packages..."
190 packages="${dev_list} ${lib_list} ${dbg_list} ${plugin_list}" 216 packages="${dev_list} ${lib_list} ${dbg_list} ${plugin_list} ${arm_list}"
191 # Intentionally leaving $packages unquoted so it's more readable. 217 # Intentionally leaving $packages unquoted so it's more readable.
192 echo "Packages required: " $packages 218 echo "Packages required: " $packages
193 echo 219 echo
194 new_list_cmd="sudo apt-get install --reinstall $(echo $packages)" 220 new_list_cmd="sudo apt-get install --reinstall $(echo $packages)"
195 if new_list="$(yes n | LANG=C $new_list_cmd)"; then 221 if new_list="$(yes n | LANG=C $new_list_cmd)"; then
196 # We probably never hit this following line. 222 # We probably never hit this following line.
197 echo "No missing packages, and the packages are up-to-date." 223 echo "No missing packages, and the packages are up-to-date."
198 elif [ $? -eq 1 ]; then 224 elif [ $? -eq 1 ]; then
199 # We expect apt-get to have exit status of 1. 225 # We expect apt-get to have exit status of 1.
200 # This indicates that we cancelled the install with "yes n|". 226 # This indicates that we cancelled the install with "yes n|".
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 sed -e 's/[.]so[.][0-9].*/.so/' | 435 sed -e 's/[.]so[.][0-9].*/.so/' |
410 sort -u); do 436 sort -u); do
411 [ "x${i##*/}" = "xld-linux.so" ] && continue 437 [ "x${i##*/}" = "xld-linux.so" ] && continue
412 [ -r "$i" ] && continue 438 [ -r "$i" ] && continue
413 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' | 439 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' |
414 sort -n | tail -n 1)" 440 sort -n | tail -n 1)"
415 [ -r "$i.$j" ] || continue 441 [ -r "$i.$j" ] || continue
416 sudo ln -s "${i##*/}.$j" "$i" 442 sudo ln -s "${i##*/}.$j" "$i"
417 done 443 done
418 fi 444 fi
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