zotero/app/win/update_exe
Dan Stillman a9e57541cf Update update_exe to extract updater from Firefox ZIP as well
We don't have to actually update updater.exe.tar.xz every time we update
the launcher, but we might as well stage it from the same script.
2024-04-06 09:57:36 +01:00

51 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR"
rh="resource_hacker/ResourceHacker.exe"
if [ ! -f "$rh" ]; then
echo "win/$rh not found" >&2
exit 1
fi
if [[ -z "${1:-}" ]]; then
echo "Usage: $0 firefox_version" >&2
exit 1
fi
version=$1
for arch in win32 win-x64 win-aarch64; do
if [ $arch = "win32" ]; then
zip="firefox-115.5.0.en-US.$arch.zip"
elif [ $arch = "win-x64" ]; then
zip="firefox-$version.en-US.win64.zip"
elif [ $arch = "win-aarch64" ]; then
zip="firefox-$version.en-US.win64-aarch64.zip"
fi
if [ ! -f "$zip" ]; then
echo "$zip not found" >&2
exit 1
fi
rm -f firefox-$arch.exe
unzip -oj $zip firefox/firefox.exe firefox/updater.exe
mv firefox.exe firefox-$arch.exe
mv updater.exe updater-$arch.exe
$rh -open VersionInfo1.rc -save VersionInfo1.res -action compile
config=`cat resource-hacker-config.txt`
config_file="resource-hacker-config-$arch.txt"
echo "${config//\{\{ARCH\}\}/$arch}" > $config_file
$rh -script $config_file
rm $config_file
rm VersionInfo1.res
done
tar -Jcv zotero_win32.exe zotero_win-x64.exe zotero_win-aarch64.exe > zotero.exe.tar.xz
tar -Jcv updater-win32.exe updater-win-x64.exe updater-win-aarch64.exe > updater.exe.tar.xz
rm firefox-win*.exe updater-win*.exe zotero_win*.exe