85 lines
2.2 KiB
Bash
85 lines
2.2 KiB
Bash
#!/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}
|
|
tar -zxf $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}/Dellmgr*.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
|
|
|
|
#exit 1
|
|
|
|
VER=`cat $WORK_DIR/version.txt`
|
|
echo "Importing $DIR/../$FILENAME as $VER into git"
|
|
cleanup
|
|
gbp import-orig --pristine-tar -u $VER $DIR/../$FILENAME
|
|
|
|
exit 0
|