function unpack_file { case "$2" in "tar.gz") gzip -cd "$1" | tar xf - ;; "tgz") gzip -cd "$1" | tar xf - ;; "tar.bz2") bzip2 -cd "$1" | tar xf - ;; *) return 1 esac return 0 } function git_package { local DIR=$1 local GIT=$2 if [ -d "$DIR" ] ; then cd "$DIR" make clean git pull RETVAL=$? ; [ ! $RETVAL -eq 0 ] && return $RETVAL cd .. else git clone "$GIT" RETVAL=$? ; [ ! $RETVAL -eq 0 ] && return $RETVAL fi cd "$DIR" return 0; } function prep_package() { local NAME=$1 local VER=$2 local EXT=$3 local WWW=$4 local GLOB=$5 if [ "x$GLOB" = "x" ]; then DIR="$NAME-$VER" FILE="$DIR.$EXT" else DIR="$GLOB" FILE="$GLOB.$EXT" fi # download file if it not exist if [ ! -f "$FILE" ] ; then wget -t 0 "$WWW/$FILE" RETVAL=$? ; [ ! $RETVAL -eq 0 ] && return $RETVAL fi # unpack if not unpacked if [ ! -d "$DIR" ] ; then unpack_file "$FILE" "$EXT" # rename folder that cames without version if [ ! -d "$DIR" ] ; then mv -f "$NAME" "$DIR" fi else cd $DIR make clean cd .. fi cd "$DIR" return 0 } function make_package() { make RETVAL=$? ; [ ! $RETVAL -eq 0 ] && return $RETVAL make install RETVAL=$? ; [ ! $RETVAL -eq 0 ] && return $RETVAL cd .. return 0 }