From 352abf98069f468ff2a14b946dac11c64c4dd71d Mon Sep 17 00:00:00 2001 From: Daniel Wolf Date: Tue, 24 Aug 2021 17:48:03 -0400 Subject: [PATCH] add tool to create an http file mirror --- override/etc/fix-attrs.d/01-quake2 | 1 + override/usr/local/bin/quake2-mirror | 37 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 override/usr/local/bin/quake2-mirror diff --git a/override/etc/fix-attrs.d/01-quake2 b/override/etc/fix-attrs.d/01-quake2 index 594c829..a79885d 100644 --- a/override/etc/fix-attrs.d/01-quake2 +++ b/override/etc/fix-attrs.d/01-quake2 @@ -1 +1,2 @@ /mnt/config/data/quake2 true guardian:users,1000:100 0644 0755 +/mnt/config/www/quake2 true guardian:users,1000:100 0644 0755 diff --git a/override/usr/local/bin/quake2-mirror b/override/usr/local/bin/quake2-mirror new file mode 100755 index 0000000..29ced1c --- /dev/null +++ b/override/usr/local/bin/quake2-mirror @@ -0,0 +1,37 @@ +#!/usr/bin/with-contenv bash + +if [ ! -d /mnt/config/www/quake2 ]; then + s6-setuidgid guardian mkdir -p /mnt/config/www/quake2 +fi + +if [[ -d /tmp/quake2 ]]; then + rm -rf /tmp/quake2 +fi + +cd /mnt/config/data/quake2 +for dir in */; do + s6-setuidgid guardian mkdir -p /tmp/quake2/${dir} + find . -type f -name '*.pak' -exec s6-setuidgid guardian pakextract -o /tmp/quake2/${dir}/ {} \; +done + +if [[ -d /tmp/quake2 ]]; then + cd /tmp/quake2 + find . -type f -name '*.bsp' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.md2' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.pcx' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.png' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.sp2' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.tga' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.wal' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + find . -type f -name '*.wav' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; + cd /mnt/config/data/quake2 +fi + +find . -type f -name '*.bsp' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.md2' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.pcx' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.png' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.sp2' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.tga' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.wal' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \; +find . -type f -name '*.wav' -exec s6-setuidgid guardian cp --parents {} /mnt/config/www/quake2/ \;