1
0
Fork 0
forked from lthn/blockchain

win bulild: 1) signing all executables (and new cert supported); 2) better approach for sending emails using a custom python script; 3) win build script updated for MSVC 2019 and more

This commit is contained in:
sowle 2023-07-11 22:47:10 +02:00
parent 01548cdf57
commit c606259a8b
No known key found for this signature in database
GPG key ID: C07A24B2D89D49FC
2 changed files with 55 additions and 15 deletions

36
utils/build_mail.py Normal file
View file

@ -0,0 +1,36 @@
import sys
import os
import smtplib
from email.message import EmailMessage
def getenv(e):
t = os.getenv(e)
if t == None:
print("Error: environment variable " + e + " was not set")
exit(1)
return t
zs_from = getenv("ZANO_SMTP_FROM")
zs_addr = getenv("ZANO_SMTP_ADDR")
zs_port = getenv("ZANO_SMTP_PORT")
zs_user = getenv("ZANO_SMTP_USER")
zs_pass = getenv("ZANO_SMTP_PASS")
if len(sys.argv) != 4:
print("Usage: " + sys.argv[0] + " <subject> <recipient(s)> <body>")
exit(1)
msg = EmailMessage()
msg['Subject'] = sys.argv[1]
msg['From'] = zs_from
msg['To'] = sys.argv[2]
msg.add_header('Content-Type','text/html')
msg.set_payload(sys.argv[3])
s = smtplib.SMTP(zs_addr, zs_port)
s.starttls()
s.login(zs_user, zs_pass)
s.send_message(msg)
s.quit()
print("e-mail sent.")

View file

@ -1,9 +1,5 @@
call configure_local_paths.cmd
;; MSVC version-specific paths
SET LOCAL_BOOST_LIB_PATH=%LOCAL_BOOST_PATH%\lib64-msvc-14.1
SET QT_MSVC_PATH=%QT_PREFIX_PATH%\msvc2017_64
SET ACHIVE_NAME_PREFIX=zano-win-x64-
SET MY_PATH=%~dp0
SET SOURCES_PATH=%MY_PATH:~0,-7%
@ -44,12 +40,13 @@ cd %SOURCES_PATH%
rmdir build /s /q
mkdir build
cd build
cmake %TESTNET_DEF% -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_MSVC_PATH%" -D BUILD_GUI=TRUE -D STATIC=FALSE -G "Visual Studio 15 2017 Win64" -T host=x64 ..
cmake %TESTNET_DEF% -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2017_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.1" -G "Visual Studio 16 2019" -A x64 -T host=x64 ..
IF %ERRORLEVEL% NEQ 0 (
goto error
)
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" x86_amd64
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" x86_amd64
echo on
cd %SOURCES_PATH%\build
@ -96,7 +93,9 @@ del /F /Q %build_zip_path%
cd src\release
call :sign_file Zano.exe || goto error
call :sign_file zanod.exe || goto error
call :sign_file simplewallet.exe || goto error
@echo on
@ -168,13 +167,9 @@ IF %ERRORLEVEL% NEQ 0 (
set installer_file=%ACHIVE_NAME_PREFIX%%version%-installer.exe
set installer_path=%BUILDS_PATH%\builds\%installer_file%
@echo " SIGNING ...."
@echo " SIGNING the installer ...."
#%ZANO_SIGN_CMD% %installer_path%
#IF %ERRORLEVEL% NEQ 0 (
# @echo "failed to sign installer"
# goto error
#)
call :sign_file %installer_path% || goto error
@echo " UPLOADING TO SERVER ...."
@ -192,11 +187,11 @@ IF %ERRORLEVEL% NEQ 0 (
)
call :sha256 %build_zip_path% build_zip_checksum
set mail_msg="New %build_prefix% %TESTNET_LABEL%build for win-x64:<br>INST: <a href='https://build.zano.org/builds/%installer_file%'>https://build.zano.org/builds/%installer_file%</a> <br>sha256: %installer_checksum%<br><br>ZIP: <a href='https://build.zano.org/builds/%build_zip_filename%>https://build.zano.org/builds/%build_zip_filename%</a> <br>sha256: %build_zip_checksum%<br>"
set mail_msg="New %build_prefix% %TESTNET_LABEL%build for win-x64:<br>INST: <a href='https://build.zano.org/builds/%installer_file%'>https://build.zano.org/builds/%installer_file%</a> <br>sha256: %installer_checksum%<br><br>ZIP: <a href='https://build.zano.org/builds/%build_zip_filename%'>https://build.zano.org/builds/%build_zip_filename%</a> <br>sha256: %build_zip_checksum%<br>"
echo %mail_msg%
senditquiet.exe -t %emails% -subject "Zano win-x64 %build_prefix% %TESTNET_LABEL%build %version%" -body %mail_msg%
python build_mail.py "Zano win-x64 %build_prefix% %TESTNET_LABEL%build %version%" "%emails%" "%mail_msg%"
goto success
@ -227,3 +222,12 @@ EXIT /B %ERRORLEVEL%
@set "%2=%hash: =%
)
@exit /B 0
:sign_file
%ZANO_SIGN_CMD% %1
@if %ERRORLEVEL% neq 0 (
@echo ERROR: failed to sign %1
@exit /B 1
)
@exit /B 0