Skip to content

Commit 7f7aada

Browse files
committed
[build] add another housekeeping file in the datadir for data_version. Blow away the exiting files if that file either doesn't exist or doesn't contain a matching version string to help with upgrades
1 parent 4f9b0ef commit 7f7aada

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/libpostal_data

+27
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ COMMAND=$1
2424
FILE=$2
2525
LIBPOSTAL_DATA_DIR=$3
2626

27+
LIBPOSTAL_DATA_VERSION_FILE=$LIBPOSTAL_DATA_DIR/data_version
28+
LIBPOSTAL_DATA_DIR_VERSION=
29+
2730
mkdir -p $LIBPOSTAL_DATA_DIR
2831

2932
LIBPOSTAL_DATA_UPDATED_PATH=$LIBPOSTAL_DATA_DIR/last_updated
@@ -137,6 +140,26 @@ download_file() {
137140
}
138141

139142
if [ $COMMAND = "download" ]; then
143+
if [ -e $LIBPOSTAL_DATA_VERSION_FILE ]; then
144+
LIBPOSTAL_DATA_DIR_VERSION=$(cat $LIBPOSTAL_DATA_VERSION_FILE)
145+
fi
146+
147+
if [ "$LIBPOSTAL_DATA_DIR_VERSION" != "$LIBPOSTAL_VERSION_STRING" ]; then
148+
echo "Old version of datadir detected, removing..."
149+
for subdir in $BASIC_MODULE_DIRS $PARSER_MODULE_DIR $LANGUAGE_CLASSIFIER_MODULE_DIR; do
150+
rm -rf $LIBPOSTAL_DATA_DIR/$subdir;
151+
done
152+
153+
# Legacy, blow it away too to be nice
154+
if [ -e $LIBPOSTAL_DATA_DIR/geodb ]; then
155+
rm -rf $LIBPOSTAL_DATA_DIR/geodb;
156+
fi
157+
158+
rm -f $LIBPOSTAL_DATA_UPDATED_PATH
159+
rm -f $LIBPOSTAL_LANG_CLASS_UPDATED_PATH
160+
rm -f $LIBPOSTAL_PARSER_UPDATED_PATH
161+
fi
162+
140163
mkdir -p $LIBPOSTAL_DATA_DIR
141164

142165
if [ $FILE = "base" ] || [ $FILE = "all" ]; then
@@ -153,6 +176,10 @@ if [ $COMMAND = "download" ]; then
153176
download_file $LIBPOSTAL_LANG_CLASS_UPDATED_PATH $LIBPOSTAL_DATA_DIR $lang_class_s3_prefix $LIBPOSTAL_LANG_CLASS_FILE "language classifier data file" $LANGUAGE_CLASSIFIER_MODULE_DIR
154177
fi
155178

179+
if [ "$LIBPOSTAL_DATA_DIR_VERSION" != "$LIBPOSTAL_VERSION_STRING" ]; then
180+
echo $LIBPOSTAL_VERSION_STRING > $LIBPOSTAL_DATA_VERSION_FILE;
181+
fi
182+
156183
elif [ $COMMAND = "upload" ]; then
157184

158185
if [ $FILE = "base" ] || [ $FILE = "all" ]; then

0 commit comments

Comments
 (0)