~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to buildjail.sh

  • Committer: dcoles
  • Date: 2008-07-03 04:20:54 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:803
Setup: Modularised setup.py so it is now no longer over 1000 lines. This should 
allow us to get in there and tidy up each module much easier. Also removed 
updatejails since this functionality seems to be duplicated with remakeuser.py 
and remakealluser.py scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
# IVLE - Informatics Virtual Learning Environment
 
3
# Copyright (C) 2007-2008 The University of Melbourne
 
4
#
 
5
# This program is free software; you can redistribute it and/or modify
 
6
# it under the terms of the GNU General Public License as published by
 
7
# the Free Software Foundation; either version 2 of the License, or
 
8
# (at your option) any later version.
 
9
#
 
10
# This program is distributed in the hope that it will be useful,
 
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
# GNU General Public License for more details.
 
14
#
 
15
# You should have received a copy of the GNU General Public License
 
16
# along with this program; if not, write to the Free Software
 
17
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
18
 
 
19
# Module: buildjail.sh
 
20
# Author: David Coles
 
21
# Date:   02/02/2008
 
22
 
 
23
# This is a script to build a minimal Ubuntu chroot jail in JAIL with a set of 
 
24
# SYSTEMPACKAGES and STUDENTPACKAGES added. It downloads these packages from an 
 
25
# APT mirror located at MIRROR and will use the latest packages from the 
 
26
# release version RELEASE and sections SECTION. After installing it will clean 
 
27
# the package cache to save space.
 
28
 
 
29
# NOTE: This script will remove the JAIL diretcory and anything contained 
 
30
# within. Check the path carefully! 
 
31
 
 
32
RELEASE=hardy
 
33
SECTIONS="main universe"
 
34
JAIL=jail
 
35
SYSTEMPACKAGES="python-cjson python-svn"
 
36
STUDENTPACKAGES="python-numpy python-matplotlib python-scipy \
 
37
    python-beautifulsoup python-lxml python-imaging \
 
38
    python-simpletal python-nltk" # elementtree-1.3beta (needs tidy)
 
39
 
 
40
# FIXME: [nasty-hack] Override the default mirror to the local AARNET one.  
 
41
# This should really be a local configuration option, but unfortunately 
 
42
# setup.py is a bit of a mess and needs a clean up to support this. For the 
 
43
# mean time we'll override it here.
 
44
MIRROR=http://mirror.aarnet.edu.au/pub/ubuntu/archive/
 
45
# [/nasty-hack]
 
46
 
 
47
if [ "x$MIRROR" = "x" ]; then
 
48
    MIRROR=http://archive.ubuntu.com/ubuntu/
 
49
fi
 
50
echo "Using Mirror: $MIRROR"
 
51
 
 
52
echo "Building minimal Jail..."
 
53
sudo rm -rf $JAIL
 
54
sudo debootstrap --components=`echo $SECTIONS | tr ' ' ','` \
 
55
    --include=ubuntu-keyring \
 
56
    --variant=minbase $RELEASE $JAIL $MIRROR
 
57
 
 
58
echo "Updating package sources..."
 
59
sudo tee $JAIL/etc/apt/sources.list > /dev/null <<SOURCES
 
60
# APT Mirrors
 
61
deb http://apt.qeuni.net/ivle $RELEASE nltk matplotlib
 
62
deb $MIRROR $RELEASE main $SECTIONS
 
63
deb $MIRROR $RELEASE-security $SECTIONS
 
64
deb $MIRROR $RELEASE-updates $SECTIONS"
 
65
SOURCES
 
66
 
 
67
echo "Adding packages..."
 
68
sudo chroot $JAIL /bin/sh -c "apt-get -y update"
 
69
sudo chroot $JAIL /bin/sh -c "apt-get -y --allow-unauthenticated install \
 
70
    $SYSTEMPACKAGES $STUDENTPACKAGES"
 
71
sudo chroot $JAIL /bin/sh -c "apt-get -y upgrade"
 
72
sudo chroot $JAIL /bin/sh -c "apt-get -y clean"
 
73
 
 
74
echo "Pruning unwanted files from Jail..."
 
75
sudo rm -rf $JAIL/dev/ $JAIL/sys/ $JAIL/proc/ $JAIL/boot/