#!/bin/bash # the directory of the script DIR=`cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd` echo "Working directory $DIR" # the temp directory used, within $DIR WORK_DIR=`mktemp -d -p "$DIR"` echo "Creating temp working directory $WORK_DIR" # deletes the temp directory function cleanup { rm -rf "$WORK_DIR" echo "Deleted temp working directory $WORK_DIR" } # register the cleanup function to be called on the EXIT signal trap cleanup EXIT # Download Files specified in files.diz while IFS=! read type app version outputfile url md5 do echo "Downloading $app Version: $version" #use -O for output file. define $outputfile yourself wget -c --no-check-certificate --tries=1 -O $DIR/../$outputfile --timeout=5 "$url" # use $(..) instead of backticks. calculated_md5=$(md5sum "$DIR/../$outputfile" | cut -f 1 -d " ") # compare md5 case "$calculated_md5" in "$md5" ) echo "$DIR/../$outputfile md5 ok" ;; *) echo "$DIR/../$outputfile md5 NOT ok" exit 1 ;; esac done < "$DIR/files.diz" # Extract to specified dir and set some variables while IFS=! read type app version outputfile url md5 do mkdir -p $WORK_DIR/${type} pushd $WORK_DIR/${type} unzip $DIR/../$outputfile popd mkdir -p $WORK_DIR/${app}-${version}/${type} dos2unix $WORK_DIR/${type}/*.txt mv $WORK_DIR/${type}/*.txt $WORK_DIR/${app}-${version} pushd $WORK_DIR/${app}-${version}/${type} rpm2cpio $WORK_DIR/${type}/*/unified_storcli_all_os/Linux/*.rpm | cpio -idmv case "${type}" in "amd64" ) rm -f opt/MegaRAID/storcli/storcli ;; "i386" ) rm -f opt/MegaRAID/storcli/storcli64 ;; *) echo "Wrong arch" exit 1 ;; esac echo "${app}_${version}.orig.tar.gz" > $WORK_DIR/filename.txt echo "${app}-${version}" > $WORK_DIR/dirname.txt echo "${version}" > $WORK_DIR/version.txt popd done < "$DIR/files.diz" FILENAME=`cat $WORK_DIR/filename.txt` DIRNAME=`cat $WORK_DIR/dirname.txt` echo "Creating $DIR/../$FILENAME " pushd $WORK_DIR tar -czf $DIR/../$FILENAME $DIRNAME popd VER=`cat $WORK_DIR/version.txt` echo "Importing $DIR/../$FILENAME as $VER into git" #exit 1 cleanup gbp import-orig --pristine-tar -u $VER $DIR/../$FILENAME exit 0