mirror/thinlinc: Refactor download script

This commit is contained in:
Timo Makinen 2023-08-26 16:26:11 +00:00
parent b6754d49e7
commit 7f3bb95d2f

View file

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/sh
set -eu
umask 022 umask 022
@ -16,8 +18,8 @@ if [ ! -d "${REPODIR}" ]; then
mkdir "${REPODIR}" mkdir "${REPODIR}"
fi fi
LOCATION=$(curl -s "${BASEURL}/thinlinc/download" | \ LOCATION=$(curl -sf "${BASEURL}/thinlinc/download/" | \
sed -n 's/^.*<a href="\(.*\.x86_64\.rpm\)">64-bit.*/\1/p') sed -n 's/^.*<a href="\(.*\.x86_64\.rpm\)".*/\1/p' | head -n 1)
if [ "${LOCATION}" = "" ]; then if [ "${LOCATION}" = "" ]; then
echo "ERR: Failed to determine current thinlinc version" 1>&2 echo "ERR: Failed to determine current thinlinc version" 1>&2
exit 1 exit 1
@ -25,20 +27,25 @@ fi
PKGNAME="$(basename "${LOCATION}")" PKGNAME="$(basename "${LOCATION}")"
if [ ! -f "${REPODIR}/${PKGNAME}" ]; then if [ ! -f "${REPODIR}/${PKGNAME}" ]; then
echo "New thinlinc version found" VERSION="$(echo "$PKGNAME" | sed -n 's/^thinlinc-client-\([0-9\.]*\)-[0-9]*\.x86_64\.rpm/\1/p')"
echo "New thinlinc version ${VERSION} found"
echo "" echo ""
tmpfile="$(mktemp)"
trap 'rm -f "$tmpfile"' EXIT
# assume that server version goes in-line with client # assume that server version goes in-line with client
echo "Downloading server package:" echo "Downloading server package:"
curl -so "${REPODIR}/.server.zip" "${BASEURL}/downloads/server/download.py" curl -sfo "$tmpfile" "${BASEURL}/downloads/server/tl-${VERSION}-server.zip"
echo "Extracting server rpm files:" echo "Extracting server rpm files:"
unzip -jd ${REPODIR} ${REPODIR}/.server.zip \*.rpm unzip -jfvd "$REPODIR" "$tmpfile" \*.rpm
echo "Cleaning up..." echo "Cleaning up..."
rm -f ${REPODIR}/.server.zip
echo "" echo ""
echo "Downloading client rpm package:" echo "Downloading client rpm package:"
curl -so "${REPODIR}/${PKGNAME}" "${BASEURL}${LOCATION}" echo $LOCATION
curl -sfo "${REPODIR}/${PKGNAME}" "${LOCATION}"
echo "" echo ""
echo "Updating repository metadata:" echo "Updating repository metadata:"
createrepo_c "${REPODIR}" createrepo_c "${REPODIR}"