lsiutil/build_orig.sh
2017-04-22 13:13:13 +02:00

105 lines
2.7 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 --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
tar xfvz $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}
case "${type}" in
"binary" )
mkdir linux
mv -fv $WORK_DIR/${type}/*_binaries/*inux/* linux
mv -fv $WORK_DIR/${type}/*/*_binaries/*inux/* linux
chmod +x linux/*
mkdir solaris
mv -fv $WORK_DIR/${type}/*_binaries/*olaris/* solaris
mv -fv $WORK_DIR/${type}/*/*_binaries/*olaris/* solaris
chmod +x solaris/*
mkdir dos
mv -fv $WORK_DIR/${type}/*_binaries/dos/* dos
mv -fv $WORK_DIR/${type}/*/*_binaries/dos/* dos
chmod +x dos/*
mkdir efi
mv -fv $WORK_DIR/${type}/*_binaries/efi/* efi
mv -fv $WORK_DIR/${type}/*/*_binaries/efi/* efi
chmod +x efi/*
mkdir windows
mv -fv $WORK_DIR/${type}/*_binaries/windows/* windows
mv -fv $WORK_DIR/${type}/*/*_binaries/windows/* windows
chmod +x windows/*
;;
"source" )
mv -v $WORK_DIR/${type}/lsiutil/* .
;;
*)
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