New debootstrap
[util-vserver.git] / scripts / vserver-build.urpmi
1 # $Id$  --*- sh -*--
2
3 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
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; version 2 of the License.
8 #  
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #  
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18 tmp=$(getopt -o '+d:m:o:' --long debug,mirror:,mirrorlist -n "$0" -- "$@") || exit 1
19 eval set -- "$tmp"
20
21 . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
22
23 DISTRIBUTION=
24 MIRROR=
25 MIRRORLIST=
26 PKGS=( basesystem-minimal )
27 while true; do
28     case "$1" in
29         -d)             DISTRIBUTION=$2; shift;;
30         --debug)        set -x;;
31         -m|--mirror)    MIRROR="$2"; shift;;
32         --mirrorlist)   MIRRORLIST=$1;;
33         --)             shift; break ;;
34         *)              echo "vserver-build.urpmi: internal error: unrecognized option '$1'" >&2
35                         exit 1
36                         ;;
37     esac
38     shift
39 done
40
41 if test -z "$MIRROR"; then
42     panic $"vserver-build.urpmi: --mirror argument required"
43 fi
44
45 if test "$#" -gt 0; then
46     PKGS=( "$@" )
47 fi
48
49 getDistribution
50
51 base.init
52 pkgmgmt.initVariables
53
54
55 base.initFilesystem "$OPTION_FORCE"
56 pkgmgmt.initFilesystem "$OPTION_FORCE"
57
58
59 setup_writeOption "$VSERVER_NAME"
60 setup_writeInitialFstab
61
62 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
63
64 urpmi.addmedia --urpmi-root "$PKGCFGDIR"/ --distrib $MIRRORLIST "$MIRROR"
65 urpmi --urpmi-root "$PKGCFGDIR"/ --root "$VDIR"/ "${PKGS[@]}"
66
67 pushd "$VDIR"/ >/dev/null
68 rm -rf dev
69 populateDev
70 popd >/dev/null
71
72 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
73
74 base.setSuccess