44 lines
1.6 KiB
Bash
Executable File
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/ готовы для коммита в репозиторий."
|