Scripts/unpack

From Organic Design wiki
  1. !/bin/sh

. config/options

if [ -z "$1" ]; then

 echo "usage: $0 package_name"
 exit 1

fi

$SCRIPTS/get $1

mkdir -p $BUILD

[ ! -d $SOURCES/$1 -a ! -d $PACKAGES/$1/sources ] && exit 0

mkdir -p $STAMPS/$1 STAMP=$STAMPS/$1/unpack

[ -f $STAMP -a -f $PACKAGES/$1/need_unpack ] && $PACKAGES/$1/need_unpack $@ for patch in $PACKAGES/$1/patches/*; do

 if [ $patch -nt $STAMP ]; then
   rm -f $STAMP
   break
 fi

done [ -f $STAMP ] && exit 0

printf "%${INDENT}c UNPACK $1\n" >&$SILENT_OUT export INDENT=$((${INDENT:-1}+$INDENT_SIZE))

rm -rf $BUILD/$1*

if [ -f $PACKAGES/$1/url ]; then

 $SCRIPTS/extract $1 "$1*.tar.bz2" $BUILD
 $SCRIPTS/extract $1 "$1*.tar.gz"  $BUILD
 $SCRIPTS/extract $1 "$1*.tgz"     $BUILD

fi

if [ -d $PACKAGES/$1/sources ]; then

 [ ! -d $BUILD/$1* ] && mkdir -p $BUILD/$1
 cp -PRf $PACKAGES/$1/sources/* $BUILD/$1*/

fi

for i in $PACKAGES/$1/patches/*; do

 if [ -f $i ]; then
   echo "## Applying patch: $i"
   cat $i | patch -d $BUILD/$1* -p1 >&$VERBOSE_OUT
 fi

done

$SCRIPTS/fixconfigtools $BUILD/$1*

[ -f $PACKAGES/$1/unpack ] && $PACKAGES/$1/unpack $@ >&$VERBOSE_OUT

rm -f $STAMPS/$1/build . $CONFIG/options for i in `sed -n "s/^\([^#].*\)=.*$/\1/p" $CONFIG/options`; do

 eval val=\$$i
 echo "STAMP_$i=\"$val"\" >> $STAMP

done