OLD | NEW |
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 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 do_inst_lib32=1 | 66 do_inst_lib32=1 |
67 fi | 67 fi |
68 | 68 |
69 # Check for lsb_release command in $PATH | 69 # Check for lsb_release command in $PATH |
70 if ! which lsb_release > /dev/null; then | 70 if ! which lsb_release > /dev/null; then |
71 echo "ERROR: lsb_release not found in \$PATH" >&2 | 71 echo "ERROR: lsb_release not found in \$PATH" >&2 |
72 exit 1; | 72 exit 1; |
73 fi | 73 fi |
74 | 74 |
75 lsb_release=$(lsb_release --codename --short) | 75 lsb_release=$(lsb_release --codename --short) |
76 ubuntu_codenames="(precise|trusty|utopic|vivid)" | 76 ubuntu_codenames="(precise|trusty|utopic|vivid|wily)" |
77 if [ 0 -eq "${do_unsupported-0}" ] && [ 0 -eq "${do_quick_check-0}" ] ; then | 77 if [ 0 -eq "${do_unsupported-0}" ] && [ 0 -eq "${do_quick_check-0}" ] ; then |
78 if [[ ! $lsb_release =~ $ubuntu_codenames ]]; then | 78 if [[ ! $lsb_release =~ $ubuntu_codenames ]]; then |
79 echo "ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty), " \ | 79 echo "ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty), " \ |
80 "14.10 (utopic) and 15.04 (vivid) are currently supported" >&2 | 80 "14.10 (utopic), 15.04 (vivid) and 15.10 (wily) " |
| 81 "are currently supported" >&2 |
81 exit 1 | 82 exit 1 |
82 fi | 83 fi |
83 | 84 |
84 if ! uname -m | egrep -q "i686|x86_64"; then | 85 if ! uname -m | egrep -q "i686|x86_64"; then |
85 echo "Only x86 architectures are currently supported" >&2 | 86 echo "Only x86 architectures are currently supported" >&2 |
86 exit | 87 exit |
87 fi | 88 fi |
88 fi | 89 fi |
89 | 90 |
90 if [ "x$(id -u)" != x0 ] && [ 0 -eq "${do_quick_check-0}" ]; then | 91 if [ "x$(id -u)" != x0 ] && [ 0 -eq "${do_quick_check-0}" ]; then |
91 echo "Running as non-root user." | 92 echo "Running as non-root user." |
92 echo "You might have to enter your password one or more times for 'sudo'." | 93 echo "You might have to enter your password one or more times for 'sudo'." |
93 echo | 94 echo |
94 fi | 95 fi |
95 | 96 |
96 # Packages needed for chromeos only | 97 # Packages needed for chromeos only |
97 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" | 98 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" |
98 | 99 |
99 # Packages needed for development | 100 # Packages needed for development |
100 dev_list="apache2.2-bin bison cdbs curl dpkg-dev elfutils devscripts fakeroot | 101 dev_list="bison cdbs curl dpkg-dev elfutils devscripts fakeroot |
101 flex fonts-thai-tlwg g++ git-core git-svn gperf language-pack-da | 102 flex fonts-thai-tlwg g++ git-core git-svn gperf language-pack-da |
102 language-pack-fr language-pack-he language-pack-zh-hant | 103 language-pack-fr language-pack-he language-pack-zh-hant |
103 libapache2-mod-php5 libasound2-dev libbrlapi-dev libav-tools | 104 libapache2-mod-php5 libasound2-dev libbrlapi-dev libav-tools |
104 libbz2-dev libcairo2-dev libcap-dev libcups2-dev libcurl4-gnutls-dev | 105 libbz2-dev libcairo2-dev libcap-dev libcups2-dev libcurl4-gnutls-dev |
105 libdrm-dev libelf-dev libexif-dev libffi-dev libgconf2-dev | 106 libdrm-dev libelf-dev libexif-dev libffi-dev libgconf2-dev |
106 libglib2.0-dev libglu1-mesa-dev libgnome-keyring-dev libgtk2.0-dev | 107 libglib2.0-dev libglu1-mesa-dev libgnome-keyring-dev libgtk2.0-dev |
107 libkrb5-dev libnspr4-dev libnss3-dev libpam0g-dev libpci-dev | 108 libkrb5-dev libnspr4-dev libnss3-dev libpam0g-dev libpci-dev |
108 libpulse-dev libsctp-dev libspeechd-dev libsqlite3-dev libssl-dev | 109 libpulse-dev libsctp-dev libspeechd-dev libsqlite3-dev libssl-dev |
109 libudev-dev libwww-perl libxslt1-dev libxss-dev libxt-dev libxtst-dev | 110 libudev-dev libwww-perl libxslt1-dev libxss-dev libxt-dev libxtst-dev |
110 openbox patch perl php5-cgi pkg-config python python-cherrypy3 | 111 openbox patch perl php5-cgi pkg-config python python-cherrypy3 |
111 python-crypto python-dev python-numpy python-opencv python-openssl | 112 python-crypto python-dev python-numpy python-opencv python-openssl |
112 python-psutil python-yaml rpm ruby subversion ttf-dejavu-core | 113 python-psutil python-yaml rpm ruby subversion ttf-dejavu-core |
113 ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho wdiff xfonts-mathml | 114 ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho wdiff |
114 zip $chromeos_dev_list" | 115 zip $chromeos_dev_list" |
115 | 116 |
116 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built | 117 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built |
117 # NaCl binaries. | 118 # NaCl binaries. |
118 if file -L /sbin/init | grep -q 'ELF 64-bit'; then | 119 if file -L /sbin/init | grep -q 'ELF 64-bit'; then |
119 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" | 120 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" |
120 fi | 121 fi |
121 | 122 |
122 # Run-time libraries required by chromeos only | 123 # Run-time libraries required by chromeos only |
123 chromeos_lib_list="libpulse0 libbz2-1.0" | 124 chromeos_lib_list="libpulse0 libbz2-1.0" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 nacl_list="${nacl_list} libudev1:i386" | 222 nacl_list="${nacl_list} libudev1:i386" |
222 else | 223 else |
223 dev_list="${dev_list} libudev0" | 224 dev_list="${dev_list} libudev0" |
224 nacl_list="${nacl_list} libudev0:i386" | 225 nacl_list="${nacl_list} libudev0:i386" |
225 fi | 226 fi |
226 if package_exists libbrlapi0.6; then | 227 if package_exists libbrlapi0.6; then |
227 dev_list="${dev_list} libbrlapi0.6" | 228 dev_list="${dev_list} libbrlapi0.6" |
228 else | 229 else |
229 dev_list="${dev_list} libbrlapi0.5" | 230 dev_list="${dev_list} libbrlapi0.5" |
230 fi | 231 fi |
231 | 232 if package_exists apache2-bin; then |
| 233 dev_list="${dev_list} apache2-bin" |
| 234 else |
| 235 dev_list="${dev_list} apache2.2-bin" |
| 236 fi |
| 237 if package_exists fonts-stix; then |
| 238 dev_list="${dev_list} fonts-stix" |
| 239 else |
| 240 dev_list="${dev_list} xfonts-mathml" |
| 241 fi |
232 | 242 |
233 # Some packages are only needed if the distribution actually supports | 243 # Some packages are only needed if the distribution actually supports |
234 # installing them. | 244 # installing them. |
235 if package_exists appmenu-gtk; then | 245 if package_exists appmenu-gtk; then |
236 lib_list="$lib_list appmenu-gtk" | 246 lib_list="$lib_list appmenu-gtk" |
237 fi | 247 fi |
238 | 248 |
239 # When cross building for arm/Android on 64-bit systems the host binaries | 249 # When cross building for arm/Android on 64-bit systems the host binaries |
240 # that are part of v8 need to be compiled with -m32 which means | 250 # that are part of v8 need to be compiled with -m32 which means |
241 # that basic multilib support is needed. | 251 # that basic multilib support is needed. |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 # only contains libcrypto.so.1.0.0 and not the symlink needed for | 472 # only contains libcrypto.so.1.0.0 and not the symlink needed for |
463 # linking (libcrypto.so). | 473 # linking (libcrypto.so). |
464 create_library_symlink /lib/i386-linux-gnu/libcrypto.so.1.0.0 \ | 474 create_library_symlink /lib/i386-linux-gnu/libcrypto.so.1.0.0 \ |
465 /usr/lib/i386-linux-gnu/libcrypto.so | 475 /usr/lib/i386-linux-gnu/libcrypto.so |
466 | 476 |
467 create_library_symlink /lib/i386-linux-gnu/libssl.so.1.0.0 \ | 477 create_library_symlink /lib/i386-linux-gnu/libssl.so.1.0.0 \ |
468 /usr/lib/i386-linux-gnu/libssl.so | 478 /usr/lib/i386-linux-gnu/libssl.so |
469 else | 479 else |
470 echo "Skipping symbolic links for NaCl." | 480 echo "Skipping symbolic links for NaCl." |
471 fi | 481 fi |
OLD | NEW |