From fdb3b7e32e2318632e9752dbf091a0f3391fc980 Mon Sep 17 00:00:00 2001 From: Al Date: Tue, 12 Feb 2019 13:32:58 -0500 Subject: [PATCH] =?UTF-8?q?[build]=20fixing=20multi-part=20downloads,=20wh?= =?UTF-8?q?ich=20no=20longer=20know=20the=20Content-Length=20so=20no=20lon?= =?UTF-8?q?ger=20know=20the=20byte=20ange=20for=20the=20last=20chunk.=20No?= =?UTF-8?q?=20longer=20needs=20to=20use=20any=20file=20dates/timestamps=20?= =?UTF-8?q?(compatibility=20=F0=9F=8E=89),=20only=20the=20version=20number?= =?UTF-8?q?s=20that=20are=20checked=20in=20to=20the=20repo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libpostal_data.in | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/src/libpostal_data.in b/src/libpostal_data.in index a50341a8..c181e5b2 100755 --- a/src/libpostal_data.in +++ b/src/libpostal_data.in @@ -47,6 +47,7 @@ BASIC_MODULE_DIRS="address_expansions numex transliteration" PARSER_MODULE_DIR=address_parser LANGUAGE_CLASSIFIER_MODULE_DIR=language_classifier +NUM_WORKERS=12 kill_background_processes() { jobs -p | xargs kill; @@ -71,22 +72,18 @@ download_release_multipart() { while [ $i -lt $num_chunks ]; do i=$((i+1)) part_filename="$filename.$i" - if [ $i -lt $num_chunks ]; then - max=$((offset+CHUNK_SIZE-1)); - else - max=""; - fi; + max=$((offset+CHUNK_SIZE-1)); printf "%s\0%s\0%s\0%s\0%s\0" "$i" "$offset" "$max" "$url" "$part_filename" offset=$((offset+CHUNK_SIZE)) done | xargs -0 -n 5 -P $NUM_WORKERS sh -c "$DOWNLOAD_PART" -- - > $local_path + > $filename i=0 while [ $i -lt $num_chunks ]; do i=$((i+1)) part_filename="$filename.$i" - cat $part_filename >> $local_path + cat $part_filename >> $filename rm $part_filename done; @@ -103,14 +100,6 @@ download_release() { shift 6 subdirs=$@ - echo $version_file_path - echo $version - echo $data_dir - echo $num_chunks - echo $filename - echo $name - echo $subdirs - local_path=$data_dir/$filename url=$LIBPOSTAL_BASE_URL/$version/$filename @@ -118,7 +107,8 @@ download_release() { if [ ! -e $version_file_path ]; then current_version="" else - current_version="$(cat $version_path)" + current_version="$(cat $version_file_path)" + fi; echo "Checking for new libpostal $name..." @@ -132,16 +122,12 @@ download_release() { curl -L $url --retry 3 --retry-delay 2 -o $local_path fi - if date -ud "@$(date -ur . +%s)" >/dev/null 2>&1; then - echo $(date -ud "$(date -ud "@$(date -ur $local_path +%s)") + 1 second") > $updated_path; - elif stat -f %Sm . >/dev/null 2>&1; then - echo $(date -ur $(stat -f %m $local_path) -v+1S) > $updated_path; - fi; for subdir in $subdirs; do rm -rf $data_dir/$subdir; done tar -xvzf $local_path --no-same-owner -C $data_dir; rm $local_path; + echo "$version" > $version_file_path; else echo "libpostal $name up to date" fi