b4efc0ecbd50f62197bba89a094dd09041ee6e87
[strongswan.git] / testing / scripts / build-umlhostfs
1 #!/bin/bash
2 # create UML host file systems
3 #
4 # Copyright (C) 2004  Eric Marchionni, Patrik Rayo
5 # Zuercher Hochschule Winterthur
6 #
7 # This program is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by the
9 # Free Software Foundation; either version 2 of the License, or (at your
10 # option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16
17 echo "Creating guest images"
18
19 . $PWD/scripts/function.sh
20
21 [ `id -u` -eq 0 ] || die "You must be root to run $0"
22
23 BASE=$BUILDDIR/base.img
24 ROOTFSDIR=$BUILDDIR/root-fs
25 HOSTSDIR=$PWD/hosts
26
27 [ -f $BASE ] || die "Base image $BASE not found"
28 [ -f $HOSTDIR ] || die "Hosts directory $HOSTSDIR not found"
29
30 mkdir -p $BUILDDIR
31 mkdir -p $LOOPDIR
32
33 if [ "$#" -eq 0 ]; then
34         HOSTS=$STRONGSWANHOSTS
35 else
36         HOSTS=$*
37 fi
38
39 # just to be sure
40 do_on_exit umount $LOOPDIR
41
42 for host in $HOSTS
43 do
44         log_action "Creating guest image for $host"
45         execute "cp $BASE $ROOTFSDIR/$host.img" 0
46         execute "mount -o loop $ROOTFSDIR/$host.img $LOOPDIR" 0
47         execute "cp -rf $HOSTSDIR/${host}/etc $LOOPDIR" 0
48         execute "cp -rf $HOSTSDIR/default/etc $LOOPDIR" 0
49         if [ "$host" = "winnetou" ]
50         then
51                 execute "mkdir $LOOPDIR/var/log/apache2/ocsp" 0
52                 execute "cp -rf $UMLTESTDIR/testing/images $LOOPDIR/var/www/" 0
53                 execute_chroot "ln -s /etc/openssl/certs /var/www/certs" 0
54                 execute_chroot "/etc/openssl/generate-crl" 0
55                 execute_chroot "update-rc.d apache2 defaults" 0
56                 execute_chroot "update-rc.d slapd defaults" 0
57                 execute_chroot "rm -rf /var/lib/ldap/*" 0
58                 execute_chroot "slapadd -l /etc/ldap/ldif.txt -f /etc/ldap/slapd.conf" 0
59                 execute_chroot "chown -R openldap:openldap /var/lib/ldap" 0
60         fi
61         sync
62         log_status 0
63         umount $LOOPDIR
64 done