fix and revamp installation and mirror scripts
Build Container Image / build_arm64 (push) Successful in 17s Details
Build Container Image / build_riscv64 (push) Successful in 25s Details
Build Container Image / publish_arm64 (push) Successful in 11s Details
Build Container Image / build_armhf (push) Successful in 34s Details
Build Container Image / build_amd64 (push) Successful in 38s Details
Build Container Image / publish_riscv64 (push) Successful in 14s Details
Build Container Image / build_manifest (push) Successful in 15s Details
Build Container Image / publish_armhf (push) Successful in 22s Details
Build Container Image / publish_amd64 (push) Successful in 34s Details
Build Container Image / publish_manifest (push) Successful in 25s Details

This commit is contained in:
Daniel Wolf 2023-07-12 17:40:15 -04:00
parent d348bb6ee7
commit a4b962ce65
Signed by: nephatrine
GPG Key ID: 59D70EC2E4AAB4D0
6 changed files with 57 additions and 53 deletions

View File

@ -0,0 +1 @@
pak6.pak

View File

@ -0,0 +1,2 @@
pak0.pak
pak1.pak

View File

@ -33,10 +33,18 @@ fi
# Install Quake II
if [ -n "${QUAKE2_INSTALL}" ]; then
while [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}" ]; do
dirn="${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}"
while [ -n "${dirn}" ] && [ ! "${dirn}" = "/" ]; do
basn=$(/usr/bin/basename "${dirn}")
dirn=$(/usr/bin/dirname "${dirn}")
if [ -d "${dirn}" ]; then
/command/s6-setuidgid guardian /bin/mkdir "${dirn}/${basn}" || exit 1
break
fi
done
done
if [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}" ]; then
/bin/mkdir -p "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}"
fi
if [ ! -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}" ]; then
exit 1
fi
/bin/chown guardian:users "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}"
@ -142,20 +150,6 @@ if [ -n "${QUAKE2_INSTALL}" ] && [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}
fi
fi
# Create Other Mod Directories
if [ -n "${QUAKE2_INSTALL}" ]; then
if [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/3zb2" ]; then
/command/s6-setuidgid guardian /bin/mkdir -p "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/3zb2"
fi
if [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/openffa" ]; then
/command/s6-setuidgid guardian /bin/mkdir -p "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/openffa"
fi
if [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/opentdm" ]; then
/command/s6-setuidgid guardian /bin/mkdir -p "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/opentdm"
fi
fi
# Download Q2Admin
if [ -n "${QUAKE2_INSTALL}" ] && [ "$(uname -m)" = "x86_64" ]; then
@ -170,33 +164,20 @@ if [ -n "${QUAKE2_INSTALL}" ] && [ "$(uname -m)" = "x86_64" ]; then
fi
fi
# Copy Map Fixes
# Copy Mod Data
if [ -n "${QUAKE2_INSTALL}" ]; then
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/baseq2" ] && [ -d /opt/quake2-data/baseq2 ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/baseq2/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/baseq2/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/jugfull" ] && [ -d /opt/quake2-data/jugfull ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/jugfull/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/jugfull/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/xatrix" ] && [ -d /opt/quake2-data/xatrix ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/xatrix/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/xatrix/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/rogue" ] && [ -d /opt/quake2-data/rogue ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/rogue/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/rogue/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/zaero" ] && [ -d /opt/quake2-data/zaero ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/zaero/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/zaero/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/3zb2" ] && [ -d /opt/quake2-data/3zb2 ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/3zb2/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/3zb2/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/ctf" ] && [ -d /opt/quake2-data/ctf ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/ctf/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/ctf/"
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/q2admin" ] && [ -d /opt/quake2-data/q2admin ]; then
/command/s6-setuidgid guardian /bin/cp -Rn /opt/quake2-data/q2admin/. "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/q2admin/"
fi
cd /opt/quake2-data || exit 1
for dir in */; do
if [ -f "/opt/quake2-data/${dir}.filelist" ] || [ -f "/opt/quake2-data/${dir}.noclient" ]; then
if [ ! -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/${dir}" ]; then
/command/s6-setuidgid guardian /bin/mkdir -p "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/${dir}"
fi
fi
if [ -d "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/${dir}" ] && [ -d "/opt/quake2-data/${dir}" ]; then
/command/s6-setuidgid guardian /bin/cp -Rn "/opt/quake2-data/${dir}." "${QUAKE2_INSTALL}${QUAKE2_DATA_SUBPATH}/${dir}"
fi
done
fi
# Regenerate HTTP Mirror

View File

@ -30,29 +30,41 @@ fi
cd "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}" || exit 1
for dir in */; do
/command/s6-setuidgid guardian /bin/mkdir -p "/tmp/quake2/${dir}"
dirtrim=$(/bin/echo "${dir}" | /bin/sed 's:/*$::')
if [ -d "/tmp/quake2/${dir}" ]; then
if [ "${dir}" = "baseq2/" ] || [ "${dir}" = "xatrix/" ] || [ "${dir}" = "rogue/" ]; then
/usr/bin/find "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}" -type f -name 'pak*.pak' ! -name 'pak0.pak' | sort \
| /usr/bin/xargs -n1 -r /command/s6-setuidgid guardian /usr/local/bin/pakextract -o "/tmp/quake2/${dir}"
else
/usr/bin/find "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}" -type f -name 'pak*.pak' | sort \
| /usr/bin/xargs -n1 -r /command/s6-setuidgid guardian /usr/local/bin/pakextract -o "/tmp/quake2/${dir}"
/usr/bin/find "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}" -type f -name 'pak*.pak' -size -90000k | grep -E 'pak[0-9]\.pak' | sort \
| /usr/bin/xargs -n1 -r /command/s6-setuidgid guardian /usr/local/bin/pakextract -o "/tmp/quake2/${dir}"
/usr/bin/find "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}" -type f -name '*.pak' -size -90000k | grep -Ev 'pak[0-9]\.pak' | sort \
| /usr/bin/xargs -n1 -r /command/s6-setuidgid guardian /usr/local/bin/pakextract -o "/tmp/quake2/${dir}"
if [ -f "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}.filelist" ]; then
/command/s6-setuidgid guardian /bin/cp "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}.filelist" "/tmp/quake2/${dirtrim}.filelist"
for fp in $(cat "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}.filelist"); do
/command/s6-setuidgid guardian /bin/cp "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}${fp}" "/tmp/quake2/${dir}${fp}"
done
fi
/usr/bin/find "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}" -type f -name '*.pak' ! -name 'pak*.pak' | sort \
| /usr/bin/xargs -n1 -r /command/s6-setuidgid guardian /usr/local/bin/pakextract -o "/tmp/quake2/${dir}"
fi
done
# Mirror Files
if [ ! -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}" ]; then
/bin/mkdir -p "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}"
fi
while [ ! -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}" ]; do
dirn="${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}"
while [ -n "${dirn}" ] && [ ! "${dirn}" = "/" ]; do
basn=$(/usr/bin/basename "${dirn}")
dirn=$(/usr/bin/dirname "${dirn}")
if [ -d "${dirn}" ]; then
/command/s6-setuidgid guardian /bin/mkdir "${dirn}/${basn}" || exit 1
break
fi
done
done
if [ ! -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}" ]; then
exit 1
fi
/bin/chown guardian:users "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}"
/usr/bin/find "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}" -type l -delete
cd /tmp/quake2 || exit 1
/usr/bin/find . -type f -name '*.bsp' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.md2' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
@ -62,6 +74,8 @@ cd /tmp/quake2 || exit 1
/usr/bin/find . -type f -name '*.tga' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.wal' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.wav' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.filelist' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.pak' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
cd "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}" || exit 1
/usr/bin/find . -type f -name '*.bsp' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
@ -72,3 +86,9 @@ cd "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}" || exit 1
/usr/bin/find . -type f -name '*.tga' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.wal' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
/usr/bin/find . -type f -name '*.wav' -exec /command/s6-setuidgid guardian /bin/cp --parents {} "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/" \;
for dir in */; do
if [ -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/baseq2" ] && [ ! -d "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/${dir}" ] && [ -f "${QUAKE2_DATA}${QUAKE2_DATA_SUBPATH}/${dir}.noclient" ]; then
/command/s6-setuidgid guardian /bin/ln -s baseq2 "${QUAKE2_MIRROR}${QUAKE2_MIRROR_SUBPATH}/$(/bin/echo "${dir}" | /bin/sed 's:/*$::')"
fi
done