From: Enrico Scholz Date: Tue, 1 Feb 2005 16:55:40 +0000 (+0000) Subject: rpmlist.*(): added X-Git-Tag: IPSENTINEL_VERSION_0_12~149 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f5830e6d61025eaa159c33211e1e92ec4b84273;p=util-vserver.git rpmlist.*(): added git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1845 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/scripts/vserver-build.functions.rpm b/util-vserver/scripts/vserver-build.functions.rpm index 29d8426..9af4a96 100644 --- a/util-vserver/scripts/vserver-build.functions.rpm +++ b/util-vserver/scripts/vserver-build.functions.rpm @@ -73,3 +73,54 @@ function rpm.initDB { RPM_FLAVOR=d "$_VRPM" "$1" -- --initdb } + + + +## Usage: rpmlist.install * +function rpmlist.install() +{ + local cfgdir=$1 + local basedir=$2 + local manifest=$3 + local listfile=$4 + shift 4 + + while read; do + case x"$REPLY" in + (x|\#*) continue;; + esac + + echo "$basedir/$REPLY" + done >"$manifest" <"$listfile" + + test "$OPTION_DEBUG" -eq 0 || cat "$manifest" + test ! -s "$manifest" || $_VRPM "$cfgdir" -- -U "$@" "$manifest" +} + + +## Usage: rpmlist.initByDistribution +function rpmlist.initByDistribution() +{ + local _rlid_listdir + declare -a _rlid_res=() + + + findDir _rlid_listdir "$CONFDIR/.distributions/$2/rpmlist.d" \ + "$DISTRIBDIR/$2/rpmlist.d" \ + '' + + test -d "$_rlid_listdir" || return 0 + + local _rlid_lst + for _rlid_lst in "$_rlid_listdir"/*.lst; do + test -e "$_rlid_lst" || continue + + local _rlid_opts=${_rlid_lst%%lst}cmd + declare -a _rlid_tmp=() + + test ! -e "$_rlid_opts" || getFileArray _rlid_tmp "$_rlid_opts" + _rlid_res=( "${_rlid_res[@]}" "${_rlid_tmp[@]}" "$_rlid_lst" ) + done + + eval "$1"='( "${_rlid_res[@]}" )' +}