F7_recording/scripts/download-vendor.sh

44 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Скачивает Firefox ESR и GeckoDriver в vendor/ для включения в репозиторий
# (офлайн-развёртывание). Запуск без root: ./scripts/download-vendor.sh
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
VENDOR="$REPO_ROOT/vendor"
FIREFOX_ESR_URL="https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=linux64&lang=en-US"
GECKODRIVER_RELEASES="https://api.github.com/repos/mozilla/geckodriver/releases/latest"
mkdir -p "$VENDOR/firefox-esr" "$VENDOR/geckodriver"
echo "=== Firefox ESR ==="
if [ -x "$VENDOR/firefox-esr/firefox" ]; then
echo "Уже есть: $VENDOR/firefox-esr/firefox"
else
echo "Скачивание..."
TMP="$(mktemp -d)"
trap "rm -rf $TMP" EXIT
(cd "$TMP" && wget -q -O firefox-esr.tar.bz2 "$FIREFOX_ESR_URL" && tar xjf firefox-esr.tar.bz2)
rm -rf "$VENDOR/firefox-esr"
mv "$TMP/firefox" "$VENDOR/firefox-esr"
echo "Готово: $VENDOR/firefox-esr/firefox"
fi
echo ""
echo "=== GeckoDriver ==="
if [ -x "$VENDOR/geckodriver/geckodriver" ]; then
echo "Уже есть: $VENDOR/geckodriver/geckodriver"
else
echo "Скачивание..."
TAG=$(curl -sS "$GECKODRIVER_RELEASES" | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p' | head -1)
[ -z "$TAG" ] && TAG="0.36.0"
URL="https://github.com/mozilla/geckodriver/releases/download/v${TAG}/geckodriver-v${TAG}-linux64.tar.gz"
wget -q -O - "$URL" | tar xz -C "$VENDOR/geckodriver"
echo "Готово: $VENDOR/geckodriver/geckodriver"
fi
echo ""
echo "Компоненты в vendor/ готовы для коммита в репозиторий."