diff options
Diffstat (limited to 'http/bin')
| -rwxr-xr-x | http/bin/prune_out | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/http/bin/prune_out b/http/bin/prune_out new file mode 100755 index 0000000..1670ffd --- /dev/null +++ b/http/bin/prune_out @@ -0,0 +1,32 @@ +#!/bin/sh -e + +for out in $(find out -type f) +do + out_basename="$(basename "$out")" + out_ext="${out_basename##*\.}" + rel_path="$(echo "${out}" | cut -c5-)" + + if [ -f "public/${rel_path}" ]; then + continue 2 + fi + + base_rel_path="${rel_path%%.${out_ext}}" + src_path="src/${base_rel_path}.upp${out_ext}" + if [ -f "$src_path" ]; then + continue 2 + fi + + for layout in $(find share/layouts -name "*.layout.upp${out_ext}"); do + layout="$(basename "$layout")" + layout="${layout::${#layout}-15}" + rel_path="$(echo "${out}" | cut -c5-)" + base_rel_path="${rel_path%%.${out_ext}}" + src_path="src/${base_rel_path}.${layout}.upp${out_ext}" + if [ -f "$src_path" ]; then + continue 2 + fi + done + + echo "No source file found to match ${out}: removing it" + rm "$out" +done |
