From 29e487ac47f4c6dcf1a5ab2cfaa48fa1253b5f8d Mon Sep 17 00:00:00 2001 From: zyphlar Date: Mon, 27 Oct 2025 11:53:48 -0700 Subject: [PATCH] Handle not-yet-generated drules files; install protobuf for map generation Signed-off-by: zyphlar --- .forgejo/workflows/map-generator.yml | 2 ++ tools/unix/generate_drules.sh | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/map-generator.yml b/.forgejo/workflows/map-generator.yml index fba4616e0..6baf75996 100644 --- a/.forgejo/workflows/map-generator.yml +++ b/.forgejo/workflows/map-generator.yml @@ -384,6 +384,8 @@ jobs: libxcursor-dev \ libxi-dev \ zlib1g-dev + rm -f /usr/lib/python*/EXTERNALLY-MANAGED + pip3 install "protobuf<4" - name: Clone or update main repo if necessary shell: bash run: | diff --git a/tools/unix/generate_drules.sh b/tools/unix/generate_drules.sh index 7ef893fc4..316050671 100755 --- a/tools/unix/generate_drules.sh +++ b/tools/unix/generate_drules.sh @@ -22,14 +22,18 @@ function BuildDrawingRules() { -o "$DATA_PATH/drules_proto$suffix" \ -p "$DATA_PATH/styles/$styleType/include/" # Output diff and store to a file - diff -u "$DATA_PATH"/drules_proto$suffix.txt{.prev,} | tee "$DATA_PATH"/drules_proto$suffix.txt.diff + if [ -f "$DATA_PATH/drules_proto$suffix.txt.prev" ]; then + diff -u "$DATA_PATH/drules_proto$suffix.txt.prev" "$DATA_PATH/drules_proto$suffix.txt" | tee "$DATA_PATH/drules_proto$suffix.txt.diff" || true + fi } outputs=(classificator.txt types.txt visibility.txt colors.txt patterns.txt drules_proto.txt) # Store old versions for diffs for item in ${outputs[*]} do - mv $DATA_PATH/$item{,.prev} || true + if [ -f "$DATA_PATH/$item" ]; then + mv -f "$DATA_PATH/$item" "$DATA_PATH/$item.prev" + fi done # Building drawing rules @@ -63,7 +67,11 @@ python3 "$OMIM_PATH/tools/python/stylesheet/drules_merge.py" \ # Output diffs and store to files for item in ${outputs[*]} do - diff -u "$DATA_PATH"/$item{.prev,} | tee "$DATA_PATH"/$item.diff + if [ -f "$DATA_PATH/$item.prev" ] && [ -f "$DATA_PATH/$item" ]; then + diff -u "$DATA_PATH/$item.prev" "$DATA_PATH/$item" | tee "$DATA_PATH/$item.diff" || true + else + echo "Skipping diff for $item (first run or file missing)" + fi done echo "Diffs for all changes are stored in $DATA_PATH/*.txt.diff" \ No newline at end of file