ready for tagging
[util-vserver.git] / scripts / vserver-build.template
index f11853d..be73e10 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.template 2358 2006-10-31 14:33:30Z hollow $       --*- sh -*--
+# $Id: vserver-build.template 2558 2007-07-10 20:34:48Z dhozac $       --*- sh -*--
 
 # Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-tmp=$(getopt -o '+d:t:' --long debug,pkgmgmt,template: -n "vserver-build.template" -- "$@") || exit 1
+tmp=$(getopt -o '+d:t:' --long debug,pkgmgmt,template:,nodevsanity -n "vserver-build.template" -- "$@") || exit 1
 eval set -- "$tmp"
 
 . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
@@ -48,6 +48,13 @@ done
 
 getDistribution '' 1
 
+for d in "$__CONFDIR/.distributions/$DISTRIBUTION" \
+       "$__DISTRIBDIR/$DISTRIBUTION"; do
+    if test -r "$d/template"; then
+       TEMPLATE=( "$d/template" "${TEMPLATE[@]}" )
+    fi
+done
+
 base.init
 test -z "$use_pkgmgmt" || pkgmgmt.initVariables
 
@@ -62,30 +69,15 @@ test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_V
 
 pushd "$SETUP_CONFDIR/vdir" &> /dev/null
 for t in "${TEMPLATE[@]}"; do
-    mime=$($_FILE -Nbiz -m "$_LIB_MAGIC" "$t")
-    compression=$(echo "$mime" | $_GREP '(' | $_SED 's!.*(\(.*\))$!\1!')
-
-    case "$compression" in
-       application/x-bzip2)    DECOMPRESS="$_BZIP2 -d -c";;
-       application/x-gzip)     DECOMPRESS="$_GZIP -d -c";;
-       "")                     DECOMPRESS=$_CAT;;
-       *)
-           echo "Unsupported compression method: $compression"
-           exit 1
-           ;;
-    esac
+    findFile DESC "$__CONFDIR/.defaults/apps/h2ext/desc" "$__PKGLIBDEFAULTDIR/h2ext.desc"
+    pipe=$($_H2EXT -d "$DESC" -q "$t")
 
-    case "$mime" in
-       application/x-tar*)     EXTRACT="$_TAR -x";;
-       application/x-cpio*)    EXTRACT="$_CPIO -i";;
-       application/x-dump*)    EXTRACT="$_RESTORE -rf -";;
-       *)
-           echo "Unsupported packaging method: $mime"
-           exit 1
-           ;;
-    esac
+    if echo "$pipe" | grep -q "unknown format"; then
+       echo "vserver-build.template: $t: Unknown format" >&2
+       exit 1
+    fi
 
-    $DECOMPRESS "$t" | $EXTRACT
+    eval `echo $_CAT "\$t" '|' $pipe`
 done
 
 test -z "$no_dev_sanity" && {