Fixing .bat file issues (#9266)

* replacing [] with "" for ifs
using !! vs %% for var with delayed expansion
Check first for 404 then download.

* remove the goto after if are fixed

Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
This commit is contained in:
ahadda5
2021-08-02 20:09:09 +04:00
committed by GitHub
parent e4388c7fce
commit 17cf2e5377

View File

@@ -62,63 +62,62 @@ set BEACON_CHAIN_REAL=%wrapper_dir%\beacon-chain-%prysm_version%-%system%-%arch%
set VALIDATOR_REAL=%wrapper_dir%\validator-%prysm_version%-%system%-%arch% set VALIDATOR_REAL=%wrapper_dir%\validator-%prysm_version%-%system%-%arch%
set CLIENT_STATS_REAL=%wrapper_dir%\client-stats-%prysm_version%-%system%-%arch% set CLIENT_STATS_REAL=%wrapper_dir%\client-stats-%prysm_version%-%system%-%arch%
if [%1]==[beacon-chain] ( if "%~1"=="beacon-chain" (
if exist %BEACON_CHAIN_REAL% ( if exist "%BEACON_CHAIN_REAL%" (
echo Beacon chain is up to date. echo Beacon chain is up to date.
) else ( ) else (
echo Downloading beacon chain %prysm_version% to %BEACON_CHAIN_REAL% %reason% echo Downloading beacon chain %prysm_version% to %BEACON_CHAIN_REAL% %reason%
for /f "delims=" %%i in ('curl --silent -w "%%{http_code}" -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch% -o %BEACON_CHAIN_REAL%') do set http=%%i for /f "delims=" %%i in ('curl --silent -o nul -w "%%{http_code}" https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch% ') do set "http=%%i" && echo %%i
if %http%==400 ( if "!http!"=="404" (
echo No prysm beacon chain found for %prysm_version% echo No prysm beacon chain found for %prysm_version%
exit \b 1 exit /b 1
) )
curl -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch% -o %BEACON_CHAIN_REAL%
curl --silent -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\beacon-chain-%prysm_version%-%system%-%arch%.sha256 curl --silent -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\beacon-chain-%prysm_version%-%system%-%arch%.sha256
curl --silent -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\beacon-chain-%prysm_version%-%system%-%arch%.sig curl --silent -L https://prysmaticlabs.com/releases/beacon-chain-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\beacon-chain-%prysm_version%-%system%-%arch%.sig
) )
goto startprocess
) )
if [%1]==[validator] ( if "%~1"=="validator" (
if exist %VALIDATOR_REAL% ( if exist "%VALIDATOR_REAL%" (
echo Validator is up to date. echo Validator is up to date.
) else ( ) else (
echo Downloading validator %prysm_version% to %VALIDATOR_REAL% %reason% echo Downloading validator %prysm_version% to %VALIDATOR_REAL% %reason%
for /f "delims=" %%i in ('curl --silent -w "%%{http_code}" -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch% -o %VALIDATOR_REAL%') do set http=%%i for /f "delims=" %%i in ('curl --silent -o nul -w "%%{http_code}" https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch% ') do set "http=%%i" && echo %%i
if %http%==400 ( if "!http!"=="404" (
echo No prysm validator found for %prysm_version% echo No prysm validator found for %prysm_version%
exit \b 1 exit /b 1
) )
curl -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch% -o %VALIDATOR_REAL%
curl --silent -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\validator-%prysm_version%-%system%-%arch%.sha256 curl --silent -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\validator-%prysm_version%-%system%-%arch%.sha256
curl --silent -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\validator-%prysm_version%-%system%-%arch%.sig curl --silent -L https://prysmaticlabs.com/releases/validator-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\validator-%prysm_version%-%system%-%arch%.sig
) )
goto startprocess
) )
if [%1]==[client-stats] ( if "%~1"=="client-stats" (
if exist %CLIENT_STATS_REAL% ( if exist %CLIENT_STATS_REAL% (
echo Client-stats is up to date. echo Client-stats is up to date.
) else ( ) else (
echo Downloading client-stats %prysm_version% to %CLIENT_STATS_REAL% %reason% echo Downloading client-stats %prysm_version% to %CLIENT_STATS_REAL% %reason%
for /f "delims=" %%i in ('curl --silent -w "%%{http_code}" -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch% -o %CLIENT_STATS_REAL%') do set http=%%i for /f "delims=" %%i in ('curl --silent -o nul -w "%%{http_code}" https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch% ') do set "http=%%i" && echo %%i
if %http%==400 ( if "!http!"=="404" (
echo No prysm client stats found for %prysm_version% echo No prysm client stats found for %prysm_version%
exit \b 1 exit /b 1
) )
curl -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch% -o %CLIENT_STATS_REAL%
curl --silent -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\client-stats-%prysm_version%-%system%-%arch%.sha256 curl --silent -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch%.sha256 -o %wrapper_dir%\client-stats-%prysm_version%-%system%-%arch%.sha256
curl --silent -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\client-stats-%prysm_version%-%system%-%arch%.sig curl --silent -L https://prysmaticlabs.com/releases/client-stats-%prysm_version%-%system%-%arch%.sig -o %wrapper_dir%\client-stats-%prysm_version%-%system%-%arch%.sig
) )
goto startprocess
) )
if [%1]==[slasher] ( if "%~1"=="slasher" (
echo The slasher binary is no longer available. Please use the --slasher flag with your beacon node. See: https://docs.prylabs.network/docs/prysm-usage/slasher/ echo The slasher binary is no longer available. Please use the --slasher flag with your beacon node. See: https://docs.prylabs.network/docs/prysm-usage/slasher/
exit /b 1 exit /b 1
) )
:startprocess if "%~1"=="beacon-chain" ( set process=%BEACON_CHAIN_REAL%)
if [%1]==[beacon-chain] ( set process=%BEACON_CHAIN_REAL%) if "%~1"=="validator" ( set process=%VALIDATOR_REAL%)
if [%1]==[validator] ( set process=%VALIDATOR_REAL%) if "%~1"=="client-stats" ( set process=%CLIENT_STATS_REAL%)
if [%1]==[client-stats] ( set process=%CLIENT_STATS_REAL%)
REM GPG not natively available on Windows, external module required REM GPG not natively available on Windows, external module required
echo WARN GPG verification is not natively available on Windows. echo WARN GPG verification is not natively available on Windows.
@@ -129,9 +128,9 @@ for /f "delims=" %%A in ('certutil -hashfile %process% SHA256 ^| find /v "hash"'
set SHA256Hash=%%A set SHA256Hash=%%A
) )
set /p ExpectedSHA256=<%process%.sha256 set /p ExpectedSHA256=<%process%.sha256
if [%ExpectedSHA256:~0,64%]==[%SHA256Hash%] ( if "%ExpectedSHA256:~0,64%"=="%SHA256Hash%" (
echo SHA256 Hash Match! echo SHA256 Hash Match!
) else if [%PRYSM_ALLOW_UNVERIFIED_BINARIES%]==[1] ( ) else if "%PRYSM_ALLOW_UNVERIFIED_BINARIES%"=="1" (
echo WARNING Failed to verify Prysm binary. echo WARNING Failed to verify Prysm binary.
echo Detected PRYSM_ALLOW_UNVERIFIED_BINARIES=1 echo Detected PRYSM_ALLOW_UNVERIFIED_BINARIES=1
echo Proceeding... echo Proceeding...