Обновление программного обеспечения Yuzu для Windows

Для тех, кому надоело это делать ручками

Шаг 1. Установить Git for Windows. Нужен ради Git Bash.

Открыть Git Bash и выполнить команду:

curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe

Шаг 2. Создать файл с расширением .sh и скопировать туда следующее:

#!/bin/sh

cd «D:\Games\Yuzu»
REPO=»pineappleEA/pineapple-src»
DEST=».»
CUR_VER=»yuzu-windows-msvc-early-access/last_update.txt»

NODE=$(curl -s https://api.github.com/repos/${REPO}/releases/latest \
| jq -r ‘.assets[] | select(.browser_download_url|test(«^((?!debug).)*zip$»))’) &&

URL=$(echo $NODE | jq -r ‘.browser_download_url’)
LAST_VER=$(echo $NODE | jq -r ‘.updated_at’)

if [[ $(< $CUR_VER) == $LAST_VER ]]; then read -t 2 -p "Обновление не требуется" else curl -L -o temp.zip $URL && unzip -o temp.zip -d $DEST && echo $LAST_VER > $CUR_VER
rm temp.zip
fi

cd «D:\Games\Yuzu» — выбор директории, с которой будем работать

Обновление программного обеспечения Yuzu для Windows

REPO — адрес репозитория на Гитхабе. Для основной ветки Yuzu будет «yuzu-emu/yuzu-mainline», для Xenia — «xenia-canary/xenia-canary» и т.д.

DEST — куда распаковывать архив. Точка значит в текущую директорию.




CUR_VER — файл, куда сохраняется дата создания последнего загруженного обновления. Нужен, чтобы предотвратить скачивание, если такая же версия у нас уже есть.

Т.к. я хочу, чтобы этот файл лежал непосредственно в папке с эмулятором, пишу имя этой папки — yuzu-windows-msvc-early-access (yuzu-windows-msvc для основной ветки).

URL — ссылка на архив с самым свежим релизом

Скрипт более-менее универсален для репозиториев, у которых только релиз под Windows имеет формат .zip и при этом такой архив один. Например FusionFix.

ВАЖНО: если конфигурационные файлы уже идут вместе с архивом, а не создаются в процессе работы программы, то при обновлении они затрутся!

Пример скрипта для Xenia:

#!/bin/sh

cd «D:\Games\Xenia»
REPO=»xenia-canary/xenia-canary»
DEST=»xenia_canary»
CUR_VER=»$DEST/last_update.txt»

NODE=$(curl -s https://api.github.com/repos/${REPO}/releases/latest \
| jq -r ‘.assets[] | select(.browser_download_url|test(«^((?!debug).)*zip$»))’) &&

URL=$(echo $NODE | jq -r ‘.browser_download_url’)
LAST_VER=$(echo $NODE | jq -r ‘.updated_at’)

if [[ $(< $CUR_VER) == $LAST_VER ]]; then read -t 2 -p "Обновление не требуется" else curl -L -o temp.zip $URL && unzip -o temp.zip -d $DEST && echo $LAST_VER > $CUR_VER
rm temp.zip
fi

Шаг 3. Осталось создать задачу в планировщике заданий

И можно забыть про обновления

 

Источник

windows, Yuzu, для, обеспечения, обновление, программного

Читайте также