Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 4 | # Use of this source code is governed by a BSD-style license that can be |
| 5 | # found in the LICENSE file. |
| 6 | |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 7 | set -e |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 8 | |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 9 | build=1 |
| 10 | |
Chris Sosa | 605fe88 | 2010-04-22 17:01:32 -0700 | [diff] [blame] | 11 | # Package name is the last argument. |
| 12 | package_name=${!#} |
| 13 | |
| 14 | # If no package name is provided skip to emerge options or if -n is given. |
| 15 | if [[ $package_name == -* ]] || [ x$1 == x-n ] |
| 16 | then |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 17 | build=0 |
| 18 | fi |
| 19 | |
| 20 | DEVKIT_URL=$(grep ^CHROMEOS_DEVSERVER /etc/lsb-release | cut -d = -f 2-) |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 21 | BOARD_NAME=$(grep ^CHROMEOS_RELEASE_BOARD $dir/etc/lsb-release | cut -d = -f 2-) |
| 22 | |
| 23 | if [ -z $DEVKIT_URL ] |
| 24 | then |
| 25 | echo "No devkit server specified in /etc/lsb-release" |
| 26 | exit 1 |
| 27 | fi |
| 28 | |
| 29 | if [ -z $BOARD_NAME ] |
| 30 | then |
| 31 | echo "No board specified in /etc/lsb-release" |
| 32 | exit 1 |
| 33 | fi |
| 34 | |
| 35 | mount -o remount,rw / |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 36 | mkdir -p /etc/make.profile |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 37 | |
Mandeep Singh Baines | ea6b7a5 | 2010-08-17 14:03:57 -0700 | [diff] [blame^] | 38 | # Delete the local binary package cache. |
| 39 | sudo rm -rf /usr/portage/packages |
| 40 | |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 41 | if [ $build == 1 ] ; then |
Chris Sosa | 605fe88 | 2010-04-22 17:01:32 -0700 | [diff] [blame] | 42 | echo "Building $package_name" |
| 43 | ESCAPED_PACKAGE=$(python -c \ |
| 44 | "import urllib; print urllib.quote('''$package_name''')") |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 45 | ESCAPED_BOARD=$(python -c \ |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 46 | "import urllib; print urllib.quote('''${BOARD_NAME}''')") |
| 47 | |
Chris Sosa | 605fe88 | 2010-04-22 17:01:32 -0700 | [diff] [blame] | 48 | wget $DEVKIT_URL/build \ |
| 49 | --post-data="pkg=${ESCAPED_PACKAGE}&board=${ESCAPED_BOARD}" |
jglasgow | cc71f3a | 2010-03-12 14:30:21 -0500 | [diff] [blame] | 50 | fi |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 51 | |
Chris Sosa | 605fe88 | 2010-04-22 17:01:32 -0700 | [diff] [blame] | 52 | # Installing emerge into /usr/local installs make.globals needed in |
| 53 | # /usr/local/etc rather than /etc. |
| 54 | if [ ! -f /etc/make.globals ] |
| 55 | then |
| 56 | if [ -f /usr/local/etc/make.globals ] |
| 57 | then |
| 58 | echo "Missing /etc/make.globals, copying over from /usr/local/etc" |
| 59 | sudo cp /usr/local/etc/make.globals /etc |
| 60 | else |
| 61 | echo "Missing /etc/make.globals and none in /usr/local/etc. Aborting." |
| 62 | exit 1 |
| 63 | fi |
| 64 | fi |
| 65 | |
| 66 | echo "Emerging $package_name" |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 67 | |
| 68 | export PORTAGE_BINHOST="${DEVKIT_URL}/static/pkgroot/${BOARD_NAME}/packages" |
| 69 | export PORTAGE_TMPDIR=/tmp |
Chris Sosa | 87510aa | 2010-06-28 16:10:00 -0700 | [diff] [blame] | 70 | |
| 71 | # Accept keywords only for stable ebuilds by default. |
| 72 | if [ -z "$ACCEPT_KEYWORDS" ] ; then |
Mandeep Singh Baines | ea6b7a5 | 2010-08-17 14:03:57 -0700 | [diff] [blame^] | 73 | ACCEPT_KEYWORDS='arm x86 ~arm ~x86' |
Chris Sosa | 87510aa | 2010-06-28 16:10:00 -0700 | [diff] [blame] | 74 | fi |
| 75 | export ACCEPT_KEYWORDS |
Ryan Cairns | dd1ceb8 | 2010-03-02 21:35:01 -0800 | [diff] [blame] | 76 | |
Chris Sosa | 605fe88 | 2010-04-22 17:01:32 -0700 | [diff] [blame] | 77 | FEATURES="-sandbox" emerge --getbinpkg --usepkgonly "$@" |