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

Side by Side Diff: tools/create_debian_chroot.sh

Issue 193723006: Add script to create a Debian chroot environment (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 6 years, 9 months 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
(Empty)
1 #!/bin/bash
2 #
3 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file.
6 #
7 # Script to create a Debian wheezy chroot environment for building Dart
8 # Debian packages.
9 #
10 # If the third argument is passed the chroot is populated with a Dart
11 # checkout of the specified version.
12
13 function usage {
14 echo "Usage: $0 i386|amd64 [target dir] [be|dev|<stable version>]]"
15 exit 1
16 }
17
18 # Expect two arguments, architecture, channel and optional directory.
Bill Hesse 2014/03/20 10:20:20 optional channel, and optional directory
Søren Gjesse 2014/03/20 10:54:17 Done.
19 if [ $# -lt 1 ] || [ $# -gt 3 ]
20 then
21 usage
22 fi
23
24 ARCH=$1
25
26
27 #if [ $# -gt 1 ]
ricow1 2014/03/19 08:08:33 commented out code
28 if [ -n "$2" ]
29 then
30 CHROOT=$2
31 else
32 CHROOT=debian_$ARCH
33 fi
34
35 #if [ $# -gt 2 ]
ricow1 2014/03/19 08:08:33 commented out code
36 if [ -n "$3" ]
37 then
38 CHANNEL=$3
39 fi
40
41 if [ "$ARCH" != "i386" ] && [ "$ARCH" != "amd64" ]
42 then
43 usage
44 fi
45
46 if [ -n "$CHANNEL" ]
47 then
48 if [ "$CHANNEL" == "be" ]
49 then
50 SRC_URI="http://dart.googlecode.com/svn/branches/bleeding_edge/deps/all.deps "
ricow1 2014/03/19 08:08:33 long line
51 elif [ "$CHANNEL" == "dev" ]
52 then
53 SRC_URI="http://dart.googlecode.com/svn/trunk/deps/all.deps"
54 else
55 SRC_URI="http://dart.googlecode.com/svn/branches/$CHANNEL/deps/all.deps"
56 fi
57 fi
58
59 # Create Debian wheezy chroot.
60 debootstrap --arch=$ARCH --components=main,restricted,universe,multiverse \
61 wheezy $CHROOT http://http.us.debian.org/debian/
62 chroot $CHROOT apt-get update
63 mount -o bind /proc $CHROOT/proc # Needed for openjdk-6-jdk.
64 chroot $CHROOT apt-get -y install \
65 debhelper python g++-4.6 openjdk-6-jdk git subversion
66
67 # Add chrome-bot user.
68 chroot $CHROOT groupadd --gid 1000 chrome-bot
69 chroot $CHROOT useradd --gid 1000 --uid 1000 --create-home chrome-bot
70 mkdir $CHROOT/b
71 chown 1000:1000 $CHROOT/b
72
73 # Create trampoline script for running the initialization as chrome-bot.
74 cat << EOF > $CHROOT/b/init_chroot_trampoline.sh
75 #!/bin/sh
76 su -c /b/init_chroot.sh chrome-bot
77 EOF
78
79 # Create initialization script which does nothing.
80 cat << 'EOF' > $CHROOT/b/init_chroot.sh
81 #!/bin/sh
82 cd /b
83 EOF
84
85 # If the channel is set extend the initialization script to check out
86 # the Dart sources. This uses two cat commands as the first part needs
87 # to bypass variable interpretation.
88 if [ -n "$SRC_URI" ]
89 then
90 cat << 'EOF' >> $CHROOT/b/init_chroot.sh
91 git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
92 export PATH=$PATH:/b/depot_tools
93 EOF
94
95 cat << EOF >> $CHROOT/b/init_chroot.sh
96 gclient config $SRC_URI
97 gclient sync
98 gclient runhooks
99 EOF
100 fi
101
102 chmod 755 $CHROOT/b/init_chroot_trampoline.sh
103
104 chown 1000:1000 $CHROOT/b/init_chroot.sh
105 chmod 755 $CHROOT/b/init_chroot.sh
106 chroot $CHROOT /bin/sh /b/init_chroot_trampoline.sh
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