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 https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_i
nstructions.md | 8 # See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_i
nstructions.md |
9 | 9 |
10 usage() { | 10 usage() { |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 if [ "x$(id -u)" != x0 ] && [ 0 -eq "${do_quick_check-0}" ]; then | 129 if [ "x$(id -u)" != x0 ] && [ 0 -eq "${do_quick_check-0}" ]; then |
130 echo "Running as non-root user." | 130 echo "Running as non-root user." |
131 echo "You might have to enter your password one or more times for 'sudo'." | 131 echo "You might have to enter your password one or more times for 'sudo'." |
132 echo | 132 echo |
133 fi | 133 fi |
134 | 134 |
135 # Packages needed for chromeos only | 135 # Packages needed for chromeos only |
136 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" | 136 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" |
137 | 137 |
138 # Packages needed for development | 138 # Packages needed for development |
139 dev_list="bison cdbs curl dpkg-dev elfutils devscripts fakeroot | 139 dev_list="\ |
140 flex fonts-ipafont fonts-thai-tlwg g++ git-core git-svn gperf | 140 bison |
141 libasound2-dev libbrlapi-dev libav-tools libbz2-dev libcairo2-dev | 141 cdbs |
142 libcap-dev libcups2-dev libcurl4-gnutls-dev libdrm-dev libelf-dev | 142 curl |
143 libffi-dev libgconf2-dev libglib2.0-dev libglu1-mesa-dev | 143 dpkg-dev |
144 libgnome-keyring-dev libgtk2.0-dev libkrb5-dev libnspr4-dev | 144 elfutils |
145 libnss3-dev libpam0g-dev libpci-dev libpulse-dev libsctp-dev | 145 devscripts |
146 libspeechd-dev libsqlite3-dev libssl-dev libudev-dev libwww-perl | 146 fakeroot |
147 libxslt1-dev libxss-dev libxt-dev libxtst-dev openbox patch perl | 147 flex |
148 pkg-config python python-cherrypy3 python-crypto python-dev | 148 fonts-ipafont |
149 python-numpy python-opencv python-openssl python-psutil python-yaml | 149 fonts-thai-tlwg |
150 rpm ruby subversion ttf-dejavu-core wdiff xcompmgr zip | 150 g++ |
151 $chromeos_dev_list" | 151 git-core |
| 152 git-svn |
| 153 gperf |
| 154 libasound2-dev |
| 155 libbrlapi-dev |
| 156 libav-tools |
| 157 libbz2-dev |
| 158 libcairo2-dev |
| 159 libcap-dev |
| 160 libcups2-dev |
| 161 libcurl4-gnutls-dev |
| 162 libdrm-dev |
| 163 libelf-dev |
| 164 libffi-dev |
| 165 libgconf2-dev |
| 166 libglib2.0-dev |
| 167 libglu1-mesa-dev |
| 168 libgnome-keyring-dev |
| 169 libgtk2.0-dev |
| 170 libgtk-3-dev |
| 171 libkrb5-dev |
| 172 libnspr4-dev |
| 173 libnss3-dev |
| 174 libpam0g-dev |
| 175 libpci-dev |
| 176 libpulse-dev |
| 177 libsctp-dev |
| 178 libspeechd-dev |
| 179 libsqlite3-dev |
| 180 libssl-dev |
| 181 libudev-dev |
| 182 libwww-perl |
| 183 libxslt1-dev |
| 184 libxss-dev |
| 185 libxt-dev |
| 186 libxtst-dev |
| 187 openbox |
| 188 patch |
| 189 perl |
| 190 pkg-config |
| 191 python |
| 192 python-cherrypy3 |
| 193 python-crypto |
| 194 python-dev |
| 195 python-numpy |
| 196 python-opencv |
| 197 python-openssl |
| 198 python-psutil |
| 199 python-yaml |
| 200 rpm |
| 201 ruby |
| 202 subversion |
| 203 ttf-dejavu-core |
| 204 wdiff |
| 205 xcompmgr |
| 206 zip |
| 207 $chromeos_dev_list |
| 208 " |
152 | 209 |
153 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built | 210 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built |
154 # NaCl binaries. | 211 # NaCl binaries. |
155 if file -L /sbin/init | grep -q 'ELF 64-bit'; then | 212 if file -L /sbin/init | grep -q 'ELF 64-bit'; then |
156 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" | 213 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" |
157 fi | 214 fi |
158 | 215 |
159 # Run-time libraries required by chromeos only | 216 # Run-time libraries required by chromeos only |
160 chromeos_lib_list="libpulse0 libbz2-1.0" | 217 chromeos_lib_list="libpulse0 libbz2-1.0" |
161 | 218 |
162 # Full list of required run-time libraries | 219 # Full list of required run-time libraries |
163 lib_list="libatk1.0-0 libc6 libasound2 libcairo2 libcap2 libcups2 libexpat1 | 220 lib_list="\ |
164 libffi6 libfontconfig1 libfreetype6 libglib2.0-0 libgnome-keyring0 | 221 libatk1.0-0 |
165 libgtk2.0-0 libpam0g libpango1.0-0 libpci3 libpcre3 libpixman-1-0 | 222 libc6 |
166 libspeechd2 libstdc++6 libsqlite3-0 libx11-6 libx11-xcb1 | 223 libasound2 |
167 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 | 224 libcairo2 |
168 libxext6 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 | 225 libcap2 |
169 libxtst6 zlib1g $chromeos_lib_list" | 226 libcups2 |
| 227 libexpat1 |
| 228 libffi6 |
| 229 libfontconfig1 |
| 230 libfreetype6 |
| 231 libglib2.0-0 |
| 232 libgnome-keyring0 |
| 233 libgtk2.0-0 |
| 234 libgtk-3-0 |
| 235 libpam0g |
| 236 libpango1.0-0 |
| 237 libpci3 |
| 238 libpcre3 |
| 239 libpixman-1-0 |
| 240 libspeechd2 |
| 241 libstdc++6 |
| 242 libsqlite3-0 |
| 243 libx11-6 |
| 244 libx11-xcb1 |
| 245 libxau6 |
| 246 libxcb1 |
| 247 libxcomposite1 |
| 248 libxcursor1 |
| 249 libxdamage1 |
| 250 libxdmcp6 |
| 251 libxext6 |
| 252 libxfixes3 |
| 253 libxi6 |
| 254 libxinerama1 |
| 255 libxrandr2 |
| 256 libxrender1 |
| 257 libxtst6 |
| 258 zlib1g |
| 259 $chromeos_lib_list |
| 260 " |
170 | 261 |
171 # Debugging symbols for all of the run-time libraries | 262 # Debugging symbols for all of the run-time libraries |
172 dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libffi6-dbg libfontconfig1-dbg | 263 dbg_list="\ |
173 libglib2.0-0-dbg libgtk2.0-0-dbg libpango1.0-0-dbg libpcre3-dbg | 264 libatk1.0-dbg |
174 libpixman-1-0-dbg libsqlite3-0-dbg libx11-6-dbg libx11-xcb1-dbg | 265 libc6-dbg |
175 libxau6-dbg libxcb1-dbg libxcomposite1-dbg libxcursor1-dbg | 266 libcairo2-dbg |
176 libxdamage1-dbg libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg | 267 libffi6-dbg |
177 libxinerama1-dbg libxrandr2-dbg libxrender1-dbg libxtst6-dbg | 268 libfontconfig1-dbg |
178 zlib1g-dbg" | 269 libglib2.0-0-dbg |
| 270 libgtk2.0-0-dbg |
| 271 libgtk-3-0-dbg |
| 272 libpango1.0-0-dbg |
| 273 libpcre3-dbg |
| 274 libpixman-1-0-dbg |
| 275 libsqlite3-0-dbg |
| 276 libx11-6-dbg |
| 277 libx11-xcb1-dbg |
| 278 libxau6-dbg |
| 279 libxcb1-dbg |
| 280 libxcomposite1-dbg |
| 281 libxcursor1-dbg |
| 282 libxdamage1-dbg |
| 283 libxdmcp6-dbg |
| 284 libxext6-dbg |
| 285 libxfixes3-dbg |
| 286 libxi6-dbg |
| 287 libxinerama1-dbg |
| 288 libxrandr2-dbg |
| 289 libxrender1-dbg |
| 290 libxtst6-dbg |
| 291 zlib1g-dbg |
| 292 " |
179 | 293 |
180 # Find the proper version of libstdc++6-4.x-dbg. | 294 # Find the proper version of libstdc++6-4.x-dbg. |
181 if [ "x$lsb_release" = "xprecise" ]; then | 295 if [ "x$lsb_release" = "xprecise" ]; then |
182 dbg_list="${dbg_list} libstdc++6-4.6-dbg" | 296 dbg_list="${dbg_list} libstdc++6-4.6-dbg" |
183 elif [ "x$lsb_release" = "xtrusty" ]; then | 297 elif [ "x$lsb_release" = "xtrusty" ]; then |
184 dbg_list="${dbg_list} libstdc++6-4.8-dbg" | 298 dbg_list="${dbg_list} libstdc++6-4.8-dbg" |
185 else | 299 else |
186 dbg_list="${dbg_list} libstdc++6-4.9-dbg" | 300 dbg_list="${dbg_list} libstdc++6-4.9-dbg" |
187 fi | 301 fi |
188 | 302 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 ;; | 358 ;; |
245 wily|xenial|yakkety) | 359 wily|xenial|yakkety) |
246 arm_list+=" g++-5-multilib-arm-linux-gnueabihf | 360 arm_list+=" g++-5-multilib-arm-linux-gnueabihf |
247 gcc-5-multilib-arm-linux-gnueabihf | 361 gcc-5-multilib-arm-linux-gnueabihf |
248 gcc-arm-linux-gnueabihf" | 362 gcc-arm-linux-gnueabihf" |
249 ;; | 363 ;; |
250 esac | 364 esac |
251 | 365 |
252 # Packages to build NaCl, its toolchains, and its ports. | 366 # Packages to build NaCl, its toolchains, and its ports. |
253 naclports_list="ant autoconf bison cmake gawk intltool xutils-dev xsltproc" | 367 naclports_list="ant autoconf bison cmake gawk intltool xutils-dev xsltproc" |
254 nacl_list="g++-mingw-w64-i686 lib32z1-dev | 368 nacl_list="\ |
255 libasound2:i386 libcap2:i386 libelf-dev:i386 libfontconfig1:i386 | 369 g++-mingw-w64-i686 |
256 libgconf-2-4:i386 libglib2.0-0:i386 libgpm2:i386 libgtk2.0-0:i386 | 370 lib32z1-dev |
257 libncurses5:i386 lib32ncurses5-dev libnss3:i386 libpango1.0-0:i386 | 371 libasound2:i386 |
258 libssl1.0.0:i386 libtinfo-dev libtinfo-dev:i386 libtool | 372 libcap2:i386 |
259 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxi6:i386 | 373 libelf-dev:i386 |
260 libxrandr2:i386 libxss1:i386 libxtst6:i386 texinfo xvfb | 374 libfontconfig1:i386 |
261 ${naclports_list}" | 375 libgconf-2-4:i386 |
| 376 libglib2.0-0:i386 |
| 377 libgpm2:i386 |
| 378 libgtk2.0-0:i386 |
| 379 libgtk-3-0:i386 |
| 380 libncurses5:i386 |
| 381 lib32ncurses5-dev |
| 382 libnss3:i386 |
| 383 libpango1.0-0:i386 |
| 384 libssl1.0.0:i386 |
| 385 libtinfo-dev |
| 386 libtinfo-dev:i386 |
| 387 libtool |
| 388 libxcomposite1:i386 |
| 389 libxcursor1:i386 |
| 390 libxdamage1:i386 |
| 391 libxi6:i386 |
| 392 libxrandr2:i386 |
| 393 libxss1:i386 |
| 394 libxtst6:i386 |
| 395 texinfo |
| 396 xvfb |
| 397 ${naclports_list} |
| 398 " |
262 | 399 |
263 # Find the proper version of packages that depend on mesa. Only one -lts variant | 400 # Find the proper version of packages that depend on mesa. Only one -lts variant |
264 # of mesa can be installed and everything that depends on it must match. | 401 # of mesa can be installed and everything that depends on it must match. |
265 | 402 |
266 # Query for the name and status of all mesa LTS variants, filter for only | 403 # Query for the name and status of all mesa LTS variants, filter for only |
267 # installed packages, extract just the name, and eliminate duplicates (there can | 404 # installed packages, extract just the name, and eliminate duplicates (there can |
268 # be more than one with the same name in the case of multiarch). Expand into an | 405 # be more than one with the same name in the case of multiarch). Expand into an |
269 # array. | 406 # array. |
270 mesa_packages=($(dpkg-query -Wf'${package} ${status}\n' \ | 407 mesa_packages=($(dpkg-query -Wf'${package} ${status}\n' \ |
271 libgl1-mesa-glx-lts-\* 2>/dev/null | \ | 408 libgl1-mesa-glx-lts-\* 2>/dev/null | \ |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 if (echo "${OLD_LOCALE_GEN}" | cmp -s ${LOCALE_GEN}); then | 695 if (echo "${OLD_LOCALE_GEN}" | cmp -s ${LOCALE_GEN}); then |
559 echo "Locales already up-to-date." | 696 echo "Locales already up-to-date." |
560 else | 697 else |
561 sudo locale-gen | 698 sudo locale-gen |
562 fi | 699 fi |
563 else | 700 else |
564 for CHROMIUM_LOCALE in ${CHROMIUM_LOCALES}; do | 701 for CHROMIUM_LOCALE in ${CHROMIUM_LOCALES}; do |
565 sudo locale-gen ${CHROMIUM_LOCALE} | 702 sudo locale-gen ${CHROMIUM_LOCALE} |
566 done | 703 done |
567 fi | 704 fi |
OLD | NEW |