vserver-build.functions.urpmi (1607B)
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 }