From 0f5830e6d61025eaa159c33211e1e92ec4b84273 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Tue, 1 Feb 2005 16:55:40 +0000 Subject: [PATCH] rpmlist.*(): added git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1845 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/scripts/vserver-build.functions.rpm | 51 ++++++++++++++++++++++++ 1 file changed, 51 insertions(+) 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[@]}" )' +} -- 1.8.1.5