gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vserver-build.functions.urpmi
1 # $Id$  --*- sh -*--
2
3 # Copyright (C) 2011 Daniel Hokka Zakrisson <daniel@hozac.com>
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 function urpmi.initVariables
19 {
20     if test -z "$MIRROR"; then
21         getFileValue MIRROR "$__CONFDIR/.distributions/$DISTRIBUTION/mirror" \
22             "$__DISTRIBDIR/$DISTRIBUTION/mirror"
23         if test -z "$MIRROR"; then
24             panic $"vserver-build.urpmi: --mirror argument required"
25         fi
26     fi
27 }
28
29 function urpmi.initFilesystem
30 {
31     $_MKDIR -p "$PKGCFGDIR"/var/lib/urpmi "$PKGCFGDIR"/etc/urpmi "$PKGCFGDIR"/.rpmdb
32 }
33
34 function urpmi.installPackages
35 {
36     local name="$1"
37     local dir="$2"
38
39     test "$dir" != / || return 0
40     for filelist in "$dir"/*; do
41         isRegularFile "$filelist" || continue
42         local idx=0
43         local can_fail=false
44         local flags=
45
46         set -- $(<$filelist)
47         while test "$#" -gt 0; do
48             case "$1" in
49                 --reinstall) flags='';;
50                 --can-fail)  can_fail=true;;
51                 *)           break;;
52             esac
53             shift
54         done
55         "$_VURPM" urpmi "$name" -- $flags $* || $can_fail
56     done
57 }