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

« back to all changes in this revision

Viewing changes to setup/buildjail.sh

  • Committer: William Grant
  • Date: 2009-02-23 23:47:02 UTC
  • mfrom: (1099.1.211 new-dispatch)
  • Revision ID: grantw@unimelb.edu.au-20090223234702-db4b1llly46ignwo
Merge from lp:~ivle-dev/ivle/new-dispatch.

Pretty much everything changes. Reread the setup docs. Backup your databases.
Every file is now in a different installed location, the configuration system
is rewritten, the dispatch system is rewritten, URLs are different, the
database is different, worksheets and exercises are no longer on the
filesystem, we use a templating engine, jail service protocols are rewritten,
we don't repeat ourselves, we have authorization rewritten, phpBB is gone,
and probably lots of other things that I cannot remember.

This is certainly the biggest commit I have ever made, and hopefully
the largest I ever will.

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="python2.5 python-cjson python-svn"
36
 
STUDENTPACKAGES="python-numpy python-matplotlib python-scipy \
37
 
    python-beautifulsoup python-lxml python-imaging \
38
 
    python-simpletal python-nltk python-nltk-data" # elementtree-1.3beta
39
 
 
40
 
# FIXME: [hack] Override the default mirror to the local AARNET one.  This 
41
 
# should really be a local configuration option, but unfortunately setup.py is 
42
 
# a bit of a mess and needs a clean up to support this. For the mean time we'll 
43
 
# override it here.
44
 
 
45
 
if [ -z "$MIRROR" ]; then
46
 
    MIRROR=http://mirror.aarnet.edu.au/pub/ubuntu/archive/
47
 
    #MIRROR=http://archive.ubuntu.com/ubuntu/ # Default Mirror
48
 
fi
49
 
echo "Using Mirror: $MIRROR"
50
 
 
51
 
# Do we have debootstrap? 
52
 
if [ -x /usr/sbin/debootstrap ]; then
53
 
    DEBOOTSTRAP="/usr/sbin/debootstrap"
54
 
fi
55
 
 
56
 
if [ -z "$DEBOOTSTRAP" ]; then
57
 
    echo "Error: Debootstrap not found. Is it installed?"
58
 
    return 1
59
 
fi
60
 
 
61
 
echo "Building minimal Jail..."
62
 
sudo rm -rf --one-file-system $JAIL
63
 
sudo $DEBOOTSTRAP --components=`echo $SECTIONS | tr ' ' ','` \
64
 
    --include=ubuntu-keyring \
65
 
    --variant=minbase $RELEASE $JAIL $MIRROR
66
 
 
67
 
echo "Updating package sources..."
68
 
sudo tee $JAIL/etc/apt/sources.list > /dev/null <<SOURCES
69
 
# APT Mirrors
70
 
deb http://apt.qeuni.net/ivle $RELEASE nltk matplotlib
71
 
deb $MIRROR $RELEASE main $SECTIONS
72
 
deb $MIRROR $RELEASE-security $SECTIONS
73
 
deb $MIRROR $RELEASE-updates $SECTIONS"
74
 
SOURCES
75
 
 
76
 
echo "Adding packages..."
77
 
sudo chroot $JAIL /bin/sh -c "apt-get -y update"
78
 
sudo chroot $JAIL /bin/sh -c "apt-get -y --allow-unauthenticated install \
79
 
    $SYSTEMPACKAGES $STUDENTPACKAGES"
80
 
sudo chroot $JAIL /bin/sh -c "apt-get -y upgrade"
81
 
sudo chroot $JAIL /bin/sh -c "apt-get -y clean"
82