[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 1 | #!/bin/bash -e |
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 2 | |
[email protected] | 2a89cd9 | 2012-02-18 01:58:43 | [diff] [blame] | 3 | # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 4 | # Use of this source code is governed by a BSD-style license that can be |
5 | # found in the LICENSE file. | ||||
6 | |||||
[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 7 | # Script to install everything needed to build chromium on android that |
8 | # requires sudo privileges. | ||||
9 | # See http://code.google.com/p/chromium/wiki/AndroidBuildInstructions | ||||
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 10 | |
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 11 | # This script installs the sun-java6 packages (bin, jre and jdk). Sun requires |
12 | # a license agreement, so upon installation it will prompt the user. To get | ||||
13 | # past the curses-based dialog press TAB <ret> TAB <ret> to agree. | ||||
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 14 | |
[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 15 | if ! uname -m | egrep -q "i686|x86_64"; then |
16 | echo "Only x86 architectures are currently supported" >&2 | ||||
17 | exit | ||||
18 | fi | ||||
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 19 | |
[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 20 | if [ "x$(id -u)" != x0 ]; then |
21 | echo "Running as non-root user." | ||||
22 | echo "You might have to enter your password one or more times for 'sudo'." | ||||
23 | echo | ||||
24 | fi | ||||
25 | |||||
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 26 | # The temporary directory used to store output of update-java-alternatives |
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 27 | TEMPDIR=$(mktemp -d) |
28 | cleanup() { | ||||
29 | local status=${?} | ||||
30 | trap - EXIT | ||||
31 | rm -rf "${TEMPDIR}" | ||||
32 | exit ${status} | ||||
33 | } | ||||
34 | trap cleanup EXIT | ||||
35 | |||||
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 36 | sudo apt-get update |
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 37 | |
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 38 | # Fix deps |
39 | sudo apt-get -f install | ||||
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 40 | |
[email protected] | 959a0f5c | 2012-06-22 23:58:58 | [diff] [blame^] | 41 | # Install deps |
42 | sudo apt-get -y install python-pexpect ant1.8 xvfb x11-utils | ||||
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 43 | |
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 44 | # Install sun-java6 stuff |
[email protected] | 959a0f5c | 2012-06-22 23:58:58 | [diff] [blame^] | 45 | sudo apt-get -y install sun-java6-bin sun-java6-jre sun-java6-jdk |
[email protected] | 9f95fb9 | 2011-10-06 18:19:30 | [diff] [blame] | 46 | |
[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 47 | # Switch version of Java to java-6-sun |
[email protected] | 4ba8681e | 2012-03-14 07:23:30 | [diff] [blame] | 48 | # Sun's java is missing certain Java plugins (e.g. for firefox, mozilla). These |
49 | # are not required to build, and thus are treated only as warnings. Any errors | ||||
50 | # in updating java alternatives which are not '*-javaplugin.so' will cause | ||||
51 | # errors and stop the script from completing successfully. | ||||
52 | if ! sudo update-java-alternatives -s java-6-sun \ | ||||
53 | >& "${TEMPDIR}"/update-java-alternatives.out | ||||
54 | then | ||||
55 | # Check that there are the expected javaplugin.so errors for the update | ||||
56 | if grep 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out >& /dev/null | ||||
57 | then | ||||
58 | # Print as warnings all the javaplugin.so errors | ||||
59 | echo 'WARNING: java-6-sun has no alternatives for the following plugins:' | ||||
60 | grep 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out | ||||
61 | fi | ||||
62 | # Check if there are any errors that are not javaplugin.so | ||||
63 | if grep -v 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out \ | ||||
64 | >& /dev/null | ||||
65 | then | ||||
66 | # If there are non-javaplugin.so errors, treat as errors and exit | ||||
67 | echo 'ERRORS: Failed to update alternatives for java-6-sun:' | ||||
68 | grep -v 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out | ||||
69 | exit 1 | ||||
70 | fi | ||||
71 | fi | ||||
72 | |||||
[email protected] | c4fabbc3 | 2012-03-07 02:22:18 | [diff] [blame] | 73 | echo "install-build-deps-android.sh complete." |