Merge #4 2 Changes to make get_sources more portable

This commit is contained in:
Fabian Arrotin 2019-05-14 05:54:44 +00:00
commit 8a81bc8622

View file

@ -102,13 +102,13 @@ else
QUIET=''
fi
which git >/dev/null 2>&1
command -v git >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo 'You need git in PATH' >&2
exit 1
fi
which curl >/dev/null 2>&1
command -v curl >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo 'You need curl in PATH' >&2
exit 1
@ -117,7 +117,7 @@ fi
# should go into a function section at some point
weakHashDetection () {
strHash=${1};
case $((`echo ${strHash}|wc -m` - 1 )) in
case $((`echo "${strHash}"|wc -m` - 1 )) in
128)
hashBin='sha512sum'
;;
@ -181,20 +181,20 @@ else
else
branches=("${branches[@]}" "$branch")
fi
done <<< "$(git branch --contains HEAD)"
done <<< "$(git branch -r --contains HEAD | grep '^\s\+origin/'| sed 's#origin/##g')"
fi
while read -r fsha fname ; do
if [ ".${fsha}" = ".da39a3ee5e6b4b0d3255bfef95601890afd80709" ]; then
# zero byte file
touch ${fname}
touch "${fname}"
else
if [ ${CHECK} -eq 1 ]; then
hashType=$(weakHashDetection ${fsha})
hashType=$(weakHashDetection "${fsha}")
if [ "${hashType}" == "unknown" ]; then
echo 'Failure: Hash type unknown.' >&2
exit 1;
else
which ${hashType} >/dev/null 2>&1
command -v "${hashType}" >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo "Failure: You need ${hashType} in PATH." >&2
exit 1;
@ -203,15 +203,15 @@ while read -r fsha fname ; do
fi
if [ -e ${fname} -a ${CHECK} -eq 1 ]; then
# check hash sum and force download if wrong
downsum=$(${hashType} ${fname} | awk '{print $1}')
downsum=$(${hashType} "${fname}" | awk '{print $1}')
if [ "${fsha}" != "${downsum}" ]; then
rm -f ${fname}
rm -f "${fname}"
fi
fi
if [ ! -e "${fname}" ]; then
for br in "${branches[@]}"
do
br=$(echo ${br}| sed -e s'|remotes/origin/||')
br=$(echo "${br}"| sed -e s'|remotes/origin/||')
url="${SURL}/${pn}/${br}/${fsha}"
echo "Retrieving ${url}"
curl -L ${QUIET} -f "${url}" -o "${fname}" && break
@ -220,9 +220,9 @@ while read -r fsha fname ; do
echo "${fname} exists. skipping"
fi
if [ ${CHECK} -eq 1 ]; then
downsum=$(${hashType} ${fname} | awk '{print $1}')
downsum=$(${hashType} "${fname}" | awk '{print $1}')
if [ "${fsha}" != "${downsum}" ]; then
rm -f ${fname}
rm -f "${fname}"
echo "Failure: ${fname} hash does not match hash from the .metadata file" >&2
exit 1;
fi