Statistics
| Branch: | Tag: | Revision:

root / devel / build_chroot @ 5349519d

History | View | Annotate | Download (10.3 kB)

1 8b3f1f42 Michele Tartara
#!/bin/bash
2 8b3f1f42 Michele Tartara
#Configuration
3 d1068153 Michele Tartara
: ${ARCH:=amd64}
4 d1068153 Michele Tartara
: ${DIST_RELEASE:=squeeze}
5 8b3f1f42 Michele Tartara
: ${CONF_DIR:=/etc/schroot/chroot.d}
6 8b3f1f42 Michele Tartara
: ${CHROOT_DIR:=/srv/chroot}
7 35133aae Michele Tartara
: ${ALTERNATIVE_EDITOR:=/usr/bin/vim.basic}
8 6676f007 Klaus Aehlig
: ${CHROOT_FINAL_HOOK:=/bin/true}
9 6676f007 Klaus Aehlig
# Additional Variables taken from the environmen
10 6676f007 Klaus Aehlig
# DATA_DIR
11 e2bbdded Michele Tartara
# CHROOT_EXTRA_DEBIAN_PACKAGES
12 8b3f1f42 Michele Tartara
13 8b3f1f42 Michele Tartara
#Automatically generated variables
14 8b3f1f42 Michele Tartara
CHROOTNAME=$DIST_RELEASE-$ARCH
15 8b3f1f42 Michele Tartara
CHNAME=building_$CHROOTNAME
16 8b3f1f42 Michele Tartara
TEMP_CHROOT_CONF=$CONF_DIR/$CHNAME.conf
17 8b3f1f42 Michele Tartara
FINAL_CHROOT_CONF=$CHROOTNAME.conf
18 8b3f1f42 Michele Tartara
ROOT=`pwd`
19 8b3f1f42 Michele Tartara
CHDIR=$ROOT/$CHNAME
20 8b3f1f42 Michele Tartara
USER=`whoami`
21 8b3f1f42 Michele Tartara
COMP_FILENAME=$CHROOTNAME.tar.gz
22 8b3f1f42 Michele Tartara
COMP_FILEPATH=$ROOT/$COMP_FILENAME
23 d1068153 Michele Tartara
TEMP_DATA_DIR=`mktemp -d`
24 d1068153 Michele Tartara
ACTUAL_DATA_DIR=$DATA_DIR
25 d1068153 Michele Tartara
ACTUAL_DATA_DIR=${ACTUAL_DATA_DIR:-$TEMP_DATA_DIR}
26 8b3f1f42 Michele Tartara
27 8b3f1f42 Michele Tartara
#Runnability checks
28 8b3f1f42 Michele Tartara
if [ $USER != 'root' ]
29 8b3f1f42 Michele Tartara
then
30 8b3f1f42 Michele Tartara
  echo "This script requires root permissions to run"
31 8b3f1f42 Michele Tartara
  exit
32 8b3f1f42 Michele Tartara
fi
33 8b3f1f42 Michele Tartara
34 8b3f1f42 Michele Tartara
if [ -f $TEMP_CHROOT_CONF ]
35 8b3f1f42 Michele Tartara
then
36 8b3f1f42 Michele Tartara
  echo "The configuration file name for the temporary chroot"
37 8b3f1f42 Michele Tartara
  echo "  $TEMP_CHROOT_CONF"
38 8b3f1f42 Michele Tartara
  echo "already exists."
39 8b3f1f42 Michele Tartara
  echo "Remove it or change the CHNAME value in the script."
40 8b3f1f42 Michele Tartara
  exit
41 8b3f1f42 Michele Tartara
fi
42 8b3f1f42 Michele Tartara
43 d1068153 Michele Tartara
#Create configuration dir and files if they do not exist
44 d1068153 Michele Tartara
if [ ! -d $ACTUAL_DATA_DIR ]
45 85b66af5 Michele Tartara
then
46 d1068153 Michele Tartara
  mkdir $ACTUAL_DATA_DIR
47 85b66af5 Michele Tartara
  echo "The data directory"
48 d1068153 Michele Tartara
  echo "  $ACTUAL_DATA_DIR"
49 d1068153 Michele Tartara
  echo "has been created."
50 d1068153 Michele Tartara
fi
51 d1068153 Michele Tartara
52 d1068153 Michele Tartara
if [ ! -f $ACTUAL_DATA_DIR/final.schroot.conf.in ]
53 d1068153 Michele Tartara
then
54 d1068153 Michele Tartara
  cat <<END >$ACTUAL_DATA_DIR/final.schroot.conf.in
55 d1068153 Michele Tartara
[${CHROOTNAME}]
56 d1068153 Michele Tartara
description=Debian ${DIST_RELEASE} ${ARCH}
57 d1068153 Michele Tartara
groups=src
58 d1068153 Michele Tartara
source-root-groups=root
59 d1068153 Michele Tartara
type=file
60 d1068153 Michele Tartara
file=${CHROOT_DIR}/${COMP_FILENAME}
61 d1068153 Michele Tartara
END
62 d1068153 Michele Tartara
  echo "The file"
63 d1068153 Michele Tartara
  echo " $ACTUAL_DATA_DIR/final.schroot.conf.in"
64 d1068153 Michele Tartara
  echo "has been created with default configurations."
65 85b66af5 Michele Tartara
fi
66 85b66af5 Michele Tartara
67 d1068153 Michele Tartara
if [ ! -f $ACTUAL_DATA_DIR/temp.schroot.conf.in ]
68 d1068153 Michele Tartara
then
69 d1068153 Michele Tartara
  cat <<END >$ACTUAL_DATA_DIR/temp.schroot.conf.in
70 d1068153 Michele Tartara
[${CHNAME}]
71 d1068153 Michele Tartara
description=Debian ${DIST_RELEASE} ${ARCH}
72 d1068153 Michele Tartara
directory=${CHDIR}
73 d1068153 Michele Tartara
groups=src
74 d1068153 Michele Tartara
users=root
75 d1068153 Michele Tartara
type=directory
76 d1068153 Michele Tartara
END
77 d1068153 Michele Tartara
  echo "The file"
78 d1068153 Michele Tartara
  echo " $ACTUAL_DATA_DIR/temp.schroot.conf.in"
79 d1068153 Michele Tartara
  echo "has been created with default configurations."
80 85b66af5 Michele Tartara
fi
81 85b66af5 Michele Tartara
82 d1068153 Michele Tartara
#Stop on errors
83 8b3f1f42 Michele Tartara
set -e
84 8b3f1f42 Michele Tartara
85 8b3f1f42 Michele Tartara
#Cleanup
86 8b3f1f42 Michele Tartara
rm -rf $CHDIR
87 8b3f1f42 Michele Tartara
mkdir $CHDIR
88 8b3f1f42 Michele Tartara
89 8b3f1f42 Michele Tartara
#Install tools for building chroots
90 8b3f1f42 Michele Tartara
apt-get install -y schroot debootstrap
91 8b3f1f42 Michele Tartara
92 8b3f1f42 Michele Tartara
shopt -s expand_aliases
93 8b3f1f42 Michele Tartara
alias in_chroot='schroot -c $CHNAME -d / '
94 3b308f47 Michele Tartara
function subst_variables {
95 3b308f47 Michele Tartara
  sed \
96 3b308f47 Michele Tartara
    -e "s/\${ARCH}/$ARCH/" \
97 3b308f47 Michele Tartara
    -e "s*\${CHDIR}*$CHDIR*" \
98 3b308f47 Michele Tartara
    -e "s/\${CHNAME}/$CHNAME/" \
99 3b308f47 Michele Tartara
    -e "s/\${CHROOTNAME}/$CHROOTNAME/" \
100 3b308f47 Michele Tartara
    -e "s*\${CHROOT_DIR}*$CHROOT_DIR*" \
101 3b308f47 Michele Tartara
    -e "s/\${COMP_FILENAME}/$COMP_FILENAME/" \
102 3b308f47 Michele Tartara
    -e "s/\${DIST_RELEASE}/$DIST_RELEASE/" $@
103 3b308f47 Michele Tartara
}
104 8b3f1f42 Michele Tartara
105 8b3f1f42 Michele Tartara
#Generate chroot configurations
106 d1068153 Michele Tartara
cat $ACTUAL_DATA_DIR/temp.schroot.conf.in | subst_variables > $TEMP_CHROOT_CONF
107 d1068153 Michele Tartara
cat $ACTUAL_DATA_DIR/final.schroot.conf.in | subst_variables > $FINAL_CHROOT_CONF
108 8b3f1f42 Michele Tartara
109 8b3f1f42 Michele Tartara
#Install the base system
110 8b3f1f42 Michele Tartara
debootstrap --arch $ARCH $DIST_RELEASE $CHDIR
111 8b3f1f42 Michele Tartara
112 8b3f1f42 Michele Tartara
APT_INSTALL="apt-get install -y --no-install-recommends"
113 8b3f1f42 Michele Tartara
114 ed2c3597 Santi Raffa
if [ DIST_RELEASE = squeeze ]
115 ed2c3597 Santi Raffa
then
116 ed2c3597 Santi Raffa
  echo "deb http://backports.debian.org/debian-backports" \
117 ed2c3597 Santi Raffa
       "$DIST_RELEASE-backports main contrib non-free" \
118 ed2c3597 Santi Raffa
       > $CHDIR/etc/apt/sources.list.d/backports.list
119 ed2c3597 Santi Raffa
fi
120 d8e3c5c9 Michele Tartara
121 8b3f1f42 Michele Tartara
#Install all the packages
122 8b3f1f42 Michele Tartara
in_chroot -- \
123 8b3f1f42 Michele Tartara
  apt-get update
124 8b3f1f42 Michele Tartara
125 ed2c3597 Santi Raffa
case $DIST_RELEASE in
126 ed2c3597 Santi Raffa
127 ed2c3597 Santi Raffa
  squeeze)
128 8b3f1f42 Michele Tartara
129 0e3f65d2 Santi Raffa
    # do not install libghc6-network-dev, since it's too old, and just
130 0e3f65d2 Santi Raffa
    # confuses the dependencies
131 0e3f65d2 Santi Raffa
    in_chroot -- \
132 0e3f65d2 Santi Raffa
      $APT_INSTALL \
133 0e3f65d2 Santi Raffa
        autoconf automake \
134 0e3f65d2 Santi Raffa
        ghc cabal-install \
135 0e3f65d2 Santi Raffa
        libghc6-curl-dev \
136 0e3f65d2 Santi Raffa
        libghc6-parallel-dev \
137 0e3f65d2 Santi Raffa
        libghc6-text-dev \
138 0e3f65d2 Santi Raffa
        libghc6-vector-dev \
139 0e3f65d2 Santi Raffa
        libpcre3-dev \
140 7afed8fe Klaus Aehlig
        libghc6-zlib-dev \
141 0e3f65d2 Santi Raffa
        hlint hscolour pandoc \
142 0e3f65d2 Santi Raffa
        graphviz qemu-utils \
143 0e3f65d2 Santi Raffa
        python-docutils \
144 0e3f65d2 Santi Raffa
        python-simplejson \
145 0e3f65d2 Santi Raffa
        python-pyparsing \
146 0e3f65d2 Santi Raffa
        python-pyinotify \
147 0e3f65d2 Santi Raffa
        python-pycurl \
148 0e3f65d2 Santi Raffa
        python-ipaddr \
149 0e3f65d2 Santi Raffa
        python-yaml \
150 0e3f65d2 Santi Raffa
        python-paramiko
151 0e3f65d2 Santi Raffa
152 0e3f65d2 Santi Raffa
    in_chroot -- \
153 0e3f65d2 Santi Raffa
      $APT_INSTALL python-setuptools python-dev build-essential
154 0e3f65d2 Santi Raffa
155 0e3f65d2 Santi Raffa
    in_chroot -- \
156 0e3f65d2 Santi Raffa
      easy_install \
157 0e3f65d2 Santi Raffa
        logilab-astng==0.24.1 \
158 0e3f65d2 Santi Raffa
        logilab-common==0.58.3 \
159 0e3f65d2 Santi Raffa
        mock==1.0.1 \
160 0e3f65d2 Santi Raffa
        pylint==0.26.0
161 0e3f65d2 Santi Raffa
162 0e3f65d2 Santi Raffa
    in_chroot -- \
163 0e3f65d2 Santi Raffa
      easy_install \
164 0e3f65d2 Santi Raffa
        sphinx==1.1.3 \
165 0e3f65d2 Santi Raffa
        pep8==1.3.3 \
166 0e3f65d2 Santi Raffa
        coverage==3.4 \
167 0e3f65d2 Santi Raffa
        bitarray==0.8.0
168 0e3f65d2 Santi Raffa
169 0e3f65d2 Santi Raffa
    in_chroot -- \
170 0e3f65d2 Santi Raffa
      cabal update
171 0e3f65d2 Santi Raffa
172 0e3f65d2 Santi Raffa
    in_chroot -- \
173 0e3f65d2 Santi Raffa
      cabal install --global \
174 1e078ef3 Klaus Aehlig
        blaze-builder==0.3.1.1 \
175 0e3f65d2 Santi Raffa
        network==2.3 \
176 0e3f65d2 Santi Raffa
        regex-pcre==0.94.4 \
177 0e3f65d2 Santi Raffa
        hinotify==0.3.2 \
178 0e3f65d2 Santi Raffa
        hslogger==1.1.4 \
179 0e3f65d2 Santi Raffa
        quickcheck==2.5.1.1 \
180 0e3f65d2 Santi Raffa
        attoparsec==0.10.1.1 \
181 0e3f65d2 Santi Raffa
        crypto==4.2.4 \
182 0e3f65d2 Santi Raffa
        MonadCatchIO-transformers==0.2.2.0 \
183 0e3f65d2 Santi Raffa
        mtl==2.0.1.0 \
184 0e3f65d2 Santi Raffa
        hashable==1.1.2.0 \
185 0e3f65d2 Santi Raffa
        case-insensitive==0.3 \
186 0e3f65d2 Santi Raffa
        parsec==3.0.1 \
187 0e3f65d2 Santi Raffa
        snap-server==0.8.1 \
188 fb1a5271 Petr Pudlak
        json==0.4.4 \
189 fb1a5271 Petr Pudlak
        lifted-base==0.2.1.1
190 0e3f65d2 Santi Raffa
191 0e3f65d2 Santi Raffa
    in_chroot -- \
192 0e3f65d2 Santi Raffa
      cabal install --global \
193 0e3f65d2 Santi Raffa
        hunit==1.2.5.2 \
194 0e3f65d2 Santi Raffa
        happy==1.18.10 \
195 0e3f65d2 Santi Raffa
        hlint==1.8.43 \
196 0e3f65d2 Santi Raffa
        hscolour==1.20.3 \
197 0e3f65d2 Santi Raffa
        temporary==1.1.2.3 \
198 0e3f65d2 Santi Raffa
        test-framework==0.6.1 \
199 0e3f65d2 Santi Raffa
        test-framework-hunit==0.2.7 \
200 0e3f65d2 Santi Raffa
        test-framework-quickcheck2==0.2.12.3
201 0e3f65d2 Santi Raffa
202 0e3f65d2 Santi Raffa
    in_chroot -- \
203 0e3f65d2 Santi Raffa
      cabal install --global cabal-file-th
204 0e3f65d2 Santi Raffa
205 0e3f65d2 Santi Raffa
    in_chroot -- \
206 0e3f65d2 Santi Raffa
      cabal install --global shelltestrunner
207 0e3f65d2 Santi Raffa
208 7afed8fe Klaus Aehlig
    in_chroot -- \
209 7afed8fe Klaus Aehlig
      cabal install --global base64-bytestring
210 7afed8fe Klaus Aehlig
211 0e3f65d2 Santi Raffa
    #Install selected packages from backports
212 0e3f65d2 Santi Raffa
    in_chroot -- \
213 0e3f65d2 Santi Raffa
      $APT_INSTALL -t squeeze-backports \
214 0e3f65d2 Santi Raffa
        git \
215 0e3f65d2 Santi Raffa
        git-email \
216 0e3f65d2 Santi Raffa
        vim
217 e2bbdded Michele Tartara
218 ed2c3597 Santi Raffa
;;
219 ed2c3597 Santi Raffa
220 ed2c3597 Santi Raffa
  wheezy)
221 ed2c3597 Santi Raffa
222 0e3f65d2 Santi Raffa
    in_chroot -- \
223 0e3f65d2 Santi Raffa
      $APT_INSTALL \
224 0e3f65d2 Santi Raffa
      autoconf automake ghc ghc-haddock libghc-network-dev \
225 0e3f65d2 Santi Raffa
      libghc-test-framework{,-hunit,-quickcheck2}-dev \
226 0e3f65d2 Santi Raffa
      libghc-json-dev libghc-curl-dev libghc-hinotify-dev \
227 0e3f65d2 Santi Raffa
      libghc-parallel-dev libghc-utf8-string-dev \
228 0e3f65d2 Santi Raffa
      libghc-hslogger-dev libghc-crypto-dev \
229 0e3f65d2 Santi Raffa
      libghc-regex-pcre-dev libghc-attoparsec-dev \
230 0e3f65d2 Santi Raffa
      libghc-vector-dev libghc-temporary-dev \
231 0e3f65d2 Santi Raffa
      libghc-snap-server-dev libpcre3 libpcre3-dev hscolour hlint pandoc \
232 dd3f81ab Klaus Aehlig
      libghc6-zlib-dev \
233 dd3f81ab Klaus Aehlig
      cabal-install\
234 0e3f65d2 Santi Raffa
      python-setuptools python-sphinx python-epydoc graphviz python-pyparsing \
235 0e3f65d2 Santi Raffa
      python-simplejson python-pycurl python-paramiko \
236 0e3f65d2 Santi Raffa
      python-bitarray python-ipaddr python-yaml qemu-utils python-coverage pep8 \
237 0e3f65d2 Santi Raffa
      shelltestrunner python-dev pylint openssh-client vim git git-email
238 0e3f65d2 Santi Raffa
239 ee2a6b3f Santi Raffa
    # We need version 0.9.4 of pyinotify because the packaged version, 0.9.3, is
240 ee2a6b3f Santi Raffa
    # incompatibile with the packaged version of python-epydoc 3.0.1.
241 ee2a6b3f Santi Raffa
    # Reason: a logger class in pyinotify calculates its superclasses at
242 ee2a6b3f Santi Raffa
    # runtime, which clashes with python-epydoc's static analysis phase.
243 ee2a6b3f Santi Raffa
    #
244 ee2a6b3f Santi Raffa
    # Problem introduced in:
245 ee2a6b3f Santi Raffa
    #   https://github.com/seb-m/pyinotify/commit/2c7e8f8959d2f8528e0d90847df360
246 ee2a6b3f Santi Raffa
    # and "fixed" in:
247 ee2a6b3f Santi Raffa
    #   https://github.com/seb-m/pyinotify/commit/98c5f41a6e2e90827a63ff1b878596
248 ee2a6b3f Santi Raffa
249 ee2a6b3f Santi Raffa
    in_chroot -- \
250 0e3f65d2 Santi Raffa
      easy_install pyinotify==0.9.4
251 ed2c3597 Santi Raffa
252 dd3f81ab Klaus Aehlig
     in_chroot -- \
253 dd3f81ab Klaus Aehlig
       cabal update
254 dd3f81ab Klaus Aehlig
255 dd3f81ab Klaus Aehlig
     in_chroot -- \
256 5349519d Petr Pudlak
       cabal install --global \
257 5349519d Petr Pudlak
        base64-bytestring \
258 5349519d Petr Pudlak
        'lifted-base>=0.1.2'
259 ed2c3597 Santi Raffa
;;
260 af8492ff Michele Tartara
  precise)
261 af8492ff Michele Tartara
    # ghc, git-email and other dependencies are hosted in the universe
262 af8492ff Michele Tartara
    # repository, which is not enabled by default.
263 af8492ff Michele Tartara
    echo "Adding universe repository..."
264 af8492ff Michele Tartara
    cat > $CHDIR/etc/apt/sources.list.d/universe.list <<EOF
265 af8492ff Michele Tartara
deb http://archive.ubuntu.com/ubuntu precise universe
266 af8492ff Michele Tartara
EOF
267 af8492ff Michele Tartara
    in_chroot -- \
268 af8492ff Michele Tartara
      apt-get update
269 ed2c3597 Santi Raffa
270 af8492ff Michele Tartara
    echo "Installing packages"
271 af8492ff Michele Tartara
    in_chroot -- \
272 af8492ff Michele Tartara
      $APT_INSTALL \
273 af8492ff Michele Tartara
      autoconf automake ghc ghc-haddock libghc-network-dev \
274 af8492ff Michele Tartara
      libghc-test-framework{,-hunit,-quickcheck2}-dev \
275 af8492ff Michele Tartara
      libghc-json-dev libghc-curl-dev libghc-hinotify-dev \
276 af8492ff Michele Tartara
      libghc-parallel-dev libghc-utf8-string-dev \
277 af8492ff Michele Tartara
      libghc-hslogger-dev libghc-crypto-dev \
278 af8492ff Michele Tartara
      libghc-regex-pcre-dev libghc-attoparsec-dev \
279 af8492ff Michele Tartara
      libghc-vector-dev libghc-temporary-dev \
280 af8492ff Michele Tartara
      libghc-snap-server-dev libpcre3 libpcre3-dev hscolour hlint pandoc \
281 af8492ff Michele Tartara
      python-setuptools python-sphinx python-epydoc graphviz python-pyparsing \
282 af8492ff Michele Tartara
      python-simplejson python-pyinotify python-pycurl python-paramiko \
283 af8492ff Michele Tartara
      python-bitarray python-ipaddr python-yaml qemu-utils python-coverage pep8 \
284 af8492ff Michele Tartara
      python-dev pylint openssh-client vim git git-email \
285 af8492ff Michele Tartara
      build-essential
286 e2bbdded Michele Tartara
287 af8492ff Michele Tartara
    echo "Installing cabal packages"
288 af8492ff Michele Tartara
    in_chroot -- \
289 af8492ff Michele Tartara
      $APT_INSTALL cabal-install
290 af8492ff Michele Tartara
291 af8492ff Michele Tartara
    in_chroot -- \
292 af8492ff Michele Tartara
      cabal update
293 af8492ff Michele Tartara
294 5349519d Petr Pudlak
     in_chroot -- \
295 5349519d Petr Pudlak
       cabal install --global \
296 5349519d Petr Pudlak
        base64-bytestring \
297 5349519d Petr Pudlak
        'lifted-base>=0.1.2'
298 f6a6c79b Michele Tartara
299 f6a6c79b Michele Tartara
    in_chroot -- \
300 af8492ff Michele Tartara
      cabal install --global shelltestrunner
301 af8492ff Michele Tartara
    ;;
302 af8492ff Michele Tartara
303 af8492ff Michele Tartara
  *)
304 0e3f65d2 Santi Raffa
    in_chroot -- \
305 0e3f65d2 Santi Raffa
      $APT_INSTALL \
306 0e3f65d2 Santi Raffa
      autoconf automake ghc ghc-haddock libghc-network-dev \
307 0e3f65d2 Santi Raffa
      libghc-test-framework{,-hunit,-quickcheck2}-dev \
308 0e3f65d2 Santi Raffa
      libghc-json-dev libghc-curl-dev libghc-hinotify-dev \
309 0e3f65d2 Santi Raffa
      libghc-parallel-dev libghc-utf8-string-dev \
310 0e3f65d2 Santi Raffa
      libghc-hslogger-dev libghc-crypto-dev \
311 0e3f65d2 Santi Raffa
      libghc-regex-pcre-dev libghc-attoparsec-dev \
312 0e3f65d2 Santi Raffa
      libghc-vector-dev libghc-temporary-dev \
313 0e3f65d2 Santi Raffa
      libghc-snap-server-dev libpcre3 libpcre3-dev hscolour hlint pandoc \
314 fb1a5271 Petr Pudlak
      libghc-lifted-base-dev \
315 f6a6c79b Michele Tartara
      libghc-base64-bytestring-dev \
316 0e3f65d2 Santi Raffa
      python-setuptools python-sphinx python-epydoc graphviz python-pyparsing \
317 0e3f65d2 Santi Raffa
      python-simplejson python-pyinotify python-pycurl python-paramiko \
318 0e3f65d2 Santi Raffa
      python-bitarray python-ipaddr python-yaml qemu-utils python-coverage pep8 \
319 918512c0 Jose A. Lopes
      shelltestrunner python-dev pylint openssh-client vim git git-email \
320 918512c0 Jose A. Lopes
      build-essential
321 ed2c3597 Santi Raffa
322 ed2c3597 Santi Raffa
;;
323 ed2c3597 Santi Raffa
esac
324 ed2c3597 Santi Raffa
325 e2bbdded Michele Tartara
in_chroot -- \
326 ed2c3597 Santi Raffa
  $APT_INSTALL sudo fakeroot rsync locales less socat
327 e2bbdded Michele Tartara
328 77dac68c Michele Tartara
# Configure the locale
329 77dac68c Michele Tartara
case $DIST_RELEASE in
330 77dac68c Michele Tartara
  precise)
331 77dac68c Michele Tartara
    in_chroot -- \
332 77dac68c Michele Tartara
      $APT_INSTALL language-pack-en
333 77dac68c Michele Tartara
    ;;
334 77dac68c Michele Tartara
  *)
335 77dac68c Michele Tartara
    echo "en_US.UTF-8 UTF-8" >> $CHDIR/etc/locale.gen
336 77dac68c Michele Tartara
337 77dac68c Michele Tartara
    in_chroot -- \
338 77dac68c Michele Tartara
      locale-gen
339 77dac68c Michele Tartara
    ;;
340 77dac68c Michele Tartara
esac
341 e2bbdded Michele Tartara
342 e2bbdded Michele Tartara
in_chroot -- \
343 ed2c3597 Santi Raffa
  $APT_INSTALL lvm2 ssh bridge-utils iproute iputils-arping \
344 ed2c3597 Santi Raffa
               ndisc6 python-openssl openssl \
345 ed2c3597 Santi Raffa
               python-mock fping qemu-utils
346 e2bbdded Michele Tartara
347 e2bbdded Michele Tartara
in_chroot -- \
348 ed2c3597 Santi Raffa
  easy_install affinity
349 e2bbdded Michele Tartara
350 9839902a Michele Tartara
in_chroot -- \
351 dabaa0b0 Petr Pudlak
  easy_install jsonpointer \
352 dabaa0b0 Petr Pudlak
    jsonpointer \
353 dabaa0b0 Petr Pudlak
    jsonpatch
354 dabaa0b0 Petr Pudlak
355 dabaa0b0 Petr Pudlak
in_chroot -- \
356 ed2c3597 Santi Raffa
  $APT_INSTALL \
357 ed2c3597 Santi Raffa
  python-epydoc debhelper quilt
358 9839902a Michele Tartara
359 6676f007 Klaus Aehlig
# extra debian packages
360 6676f007 Klaus Aehlig
361 6676f007 Klaus Aehlig
for package in $CHROOT_EXTRA_DEBIAN_PACKAGES
362 6676f007 Klaus Aehlig
do in_chroot -- \
363 6676f007 Klaus Aehlig
  $APT_INSTALL $package
364 6676f007 Klaus Aehlig
done
365 6676f007 Klaus Aehlig
366 35133aae Michele Tartara
#Set default editor
367 35133aae Michele Tartara
in_chroot -- \
368 35133aae Michele Tartara
  update-alternatives --set editor $ALTERNATIVE_EDITOR
369 35133aae Michele Tartara
370 6676f007 Klaus Aehlig
# Final user hook
371 6676f007 Klaus Aehlig
372 6676f007 Klaus Aehlig
in_chroot -- $CHROOT_FINAL_HOOK
373 6676f007 Klaus Aehlig
374 8b3f1f42 Michele Tartara
rm -f $COMP_FILEPATH
375 8b3f1f42 Michele Tartara
echo "Creating compressed schroot image..."
376 8b3f1f42 Michele Tartara
cd $CHDIR
377 8b3f1f42 Michele Tartara
tar czf $COMP_FILEPATH ./*
378 8b3f1f42 Michele Tartara
cd $ROOT
379 8b3f1f42 Michele Tartara
380 8b3f1f42 Michele Tartara
rm -rf $CHDIR
381 8b3f1f42 Michele Tartara
rm -f $TEMP_CHROOT_CONF
382 d1068153 Michele Tartara
rm -rf $TEMP_DATA_DIR
383 3be0f700 Michele Tartara
384 3be0f700 Michele Tartara
echo "Chroot created. In order to run it:"
385 3be0f700 Michele Tartara
echo " * Copy the file $FINAL_CHROOT_CONF to $CONF_DIR/$FINAL_CHROOT_CONF"
386 3be0f700 Michele Tartara
echo " * Copy the file $COMP_FILEPATH to $CHROOT_DIR/$COMP_FILENAME"
387 3be0f700 Michele Tartara
echo "Then run \"schroot -c $CHROOTNAME\""