Skip to content

Commit 61ca074

Browse files
Merge pull request #26 from SoftwareAG/bpaskalev-patch-2
check if the file to be download is newer
2 parents 7aee15f + 44abf61 commit 61ca074

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

bootstrap/install.sh

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,28 @@ else
2828
echo "Skipping $1"
2929
fi
3030
}
31+
function getUrlDate
32+
{
33+
34+
LAST_MODIFIED_HEADER=`curl -sI $1 | grep 'Last-Modified'`
35+
if [ -z "$LAST_MODIFIED_HEADER" ]
36+
then
37+
date +%s
38+
else
39+
date -d "`echo $LAST_MODIFIED_HEADER| cut -f2- -d:`" +%s
40+
fi
41+
}
42+
43+
function getFileDate
44+
{
45+
if [ -f $1 ]
46+
then
47+
date -r $1 +%s
48+
else
49+
echo 0
50+
fi
51+
}
52+
3153
if [ -z $CC_INSTALLER ]; then
3254
# latest public GA version
3355
CC_VERSION=${CC_VERSION:-10.3-milestone}
@@ -55,13 +77,17 @@ export JAVA_HOME=$CC_HOME/jvm/jvm/
5577
mkdir -p "$HOME/Downloads"
5678
file="$HOME/Downloads/$CC_INSTALLER"
5779

58-
if [ -f "$file" ]; then
59-
echo "Found $file"
80+
LAST_MODIFIED_URL_DATE=`getUrlDate ${URL}/${CC_INSTALLER}`
81+
LAST_MODIFIED_FILE_DATE=`getFileDate $file`
82+
83+
if [ $LAST_MODIFIED_FILE_DATE -ge $LAST_MODIFIED_URL_DATE ]; then
84+
echo "Found newer file $file locally, skipping download"
85+
6086
EXIT_CODE=0
6187
HTTP_CODE=200
6288
else
6389
echo "Downloading ${URL}/${CC_INSTALLER} ..."
64-
HTTP_CODE=`curl -o "$file" -w "%{http_code}" "${URL}/${CC_INSTALLER}"`
90+
HTTP_CODE=`curl -o "$file" -w "%{http_code}" --remote-time "${URL}/${CC_INSTALLER}"`
6591
EXIT_CODE=$?
6692
fi
6793
if [ "$EXIT_CODE" -eq 0 -a "$HTTP_CODE" -eq 200 ]

0 commit comments

Comments
 (0)