mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-11 15:39:36 -05:00
Windows build environment
- Use date of last git commit instead of current date for filename - Added download of Tor installation - Added section Tor to installer
This commit is contained in:
parent
38bdbdfdca
commit
d38e7d2e70
@ -21,6 +21,12 @@ if not exist "%BuildLibsPath%\libs\gcc-version" %cecho% error "Cannot get gcc ve
|
||||
set /P LibsGCCVersion=<"%BuildLibsPath%\libs\gcc-version"
|
||||
if "%LibsGCCVersion%" NEQ "%GCCVersion%" %cecho% error "Please use correct version of external libraries. (gcc %GCCVersion% ^<^> libs %LibsGCCVersion%)." & exit /B 1
|
||||
|
||||
:: Get date
|
||||
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||
|
||||
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||
|
||||
:: Build defines for script
|
||||
set NSIS_PARAM=
|
||||
|
||||
@ -31,6 +37,9 @@ set NSIS_PARAM=%NSIS_PARAM% /DOUTDIR="%RsPackPath%"
|
||||
set NSIS_PARAM=%NSIS_PARAM% /DINSTALLERADD="%RsArchiveAdd%"
|
||||
set NSIS_PARAM=%NSIS_PARAM% /DEXTERNAL_LIB_DIR="%BuildLibsPath%\libs"
|
||||
set NSIS_PARAM=%NSIS_PARAM% /DARCHITECTURE="%GCCArchitecture%"
|
||||
set NSIS_PARAM=%NSIS_PARAM% /DDATE="%RsDate%"
|
||||
|
||||
if exist "%EnvTorPath%\Tor\tor.exe" set NSIS_PARAM=%NSIS_PARAM% /DTORDIR="%EnvTorPath%\Tor"
|
||||
|
||||
:: Get compiled version
|
||||
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||
|
@ -17,16 +17,8 @@ set GitPath=
|
||||
call "%ToolsPath%\find-in-path.bat" GitPath git.exe
|
||||
if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1
|
||||
|
||||
:: Get compiled revision
|
||||
set GetRsVersion=%SourcePath%\build_scripts\Windows\tools\get-rs-version.bat
|
||||
if not exist "%GetRsVersion%" (
|
||||
echo File not found
|
||||
echo %GetRsVersion%
|
||||
exit /B 1
|
||||
)
|
||||
|
||||
:: Get compiled version
|
||||
call "%GetRsVersion%" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||
if errorlevel 1 %cecho% error "Version not found."& goto error
|
||||
|
||||
if "%RsVersion.Major%"=="" %cecho% error "Major version not found."& goto error
|
||||
@ -36,13 +28,11 @@ if "%RsVersion.Extra%"=="" %cecho% error "Extra number not found".& goto error
|
||||
|
||||
set RsVersion=%RsVersion.Major%.%RsVersion.Minor%.%RsVersion.Mini%
|
||||
|
||||
:: Check WMIC is available
|
||||
wmic.exe alias /? >nul 2>&1 || echo WMIC is not available.&& exit /B 1
|
||||
:: Get date
|
||||
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||
|
||||
:: Use WMIC to retrieve date in format YYYYMMDD
|
||||
set RsDate=
|
||||
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set RsDate=%%I
|
||||
set RsDate=%RsDate:~0,4%%RsDate:~4,2%%RsDate:~6,2%
|
||||
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||
|
||||
:: Get last revision
|
||||
set RsLastRefFile=%BuildPath%\Qt-%QtVersion%-%GCCArchitecture%%RsType%-%RsBuildConfig%-LastRef.txt
|
||||
|
@ -29,16 +29,8 @@ if exist "%RsDeployPath%" rmdir /S /Q "%RsDeployPath%"
|
||||
:: Check compilation
|
||||
if not exist "%RsBuildPath%\Makefile" echo Project is not compiled.& goto error
|
||||
|
||||
:: Get compiled revision
|
||||
set GetRsVersion=%SourcePath%\build_scripts\Windows\tools\get-rs-version.bat
|
||||
if not exist "%GetRsVersion%" (
|
||||
%cecho% error "File not found"
|
||||
echo %GetRsVersion%
|
||||
goto error
|
||||
)
|
||||
|
||||
:: Get compiled version
|
||||
call "%GetRsVersion%" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||
if errorlevel 1 %cecho% error "Version not found."& goto error
|
||||
|
||||
if "%RsVersion.Major%"=="" %cecho% error "Major version not found."& goto error
|
||||
@ -48,18 +40,17 @@ if "%RsVersion.Extra%"=="" %cecho% error "Extra number not found".& goto error
|
||||
|
||||
set RsVersion=%RsVersion.Major%.%RsVersion.Minor%.%RsVersion.Mini%
|
||||
|
||||
:: Check WMIC is available
|
||||
wmic.exe alias /? >nul 2>&1 || echo WMIC is not available.&& goto error
|
||||
:: Get date
|
||||
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||
|
||||
:: Use WMIC to retrieve date in format YYYYMMDD
|
||||
set RsDate=
|
||||
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set RsDate=%%I
|
||||
set RsDate=%RsDate:~0,4%%RsDate:~4,2%%RsDate:~6,2%
|
||||
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||
|
||||
rem Tor
|
||||
if "%ParamTor%"=="1" (
|
||||
:: Check for tor executable
|
||||
if not exist "%EnvDownloadPath%\tor\Tor\tor.exe" (
|
||||
%cecho% error "Tor binary not found. Please download Tor Expert Bundle from\nhttps://www.torproject.org/download/download.html.en\nand unpack to\n%EnvDownloadPath:\=\\%\\tor"
|
||||
if not exist "%EnvTorPath%\Tor\tor.exe" (
|
||||
%cecho% error "Tor binary not found. Please download Tor Expert Bundle from\nhttps://www.torproject.org/download/download.html.en\nand unpack to\n%EnvTorPath:\=\\%"
|
||||
goto error
|
||||
)
|
||||
)
|
||||
@ -176,7 +167,7 @@ if exist "%SourcePath%\libresapi\src\webui" (
|
||||
|
||||
if "%ParamTor%"=="1" (
|
||||
echo copy tor
|
||||
echo n | copy /-y "%EnvDownloadPath%\tor\Tor\*.*" "%RsDeployPath%" %Quite%
|
||||
echo n | copy /-y "%EnvTorPath%\*.*" "%RsDeployPath%" %Quite%
|
||||
)
|
||||
|
||||
rem pack files
|
||||
|
1
build_scripts/Windows/env/env.bat
vendored
1
build_scripts/Windows/env/env.bat
vendored
@ -6,6 +6,7 @@ set EnvRootPath=%RootPath%\%SourceName%-env
|
||||
set EnvToolsPath=%EnvRootPath%\tools
|
||||
set EnvTempPath=%EnvRootPath%\tmp
|
||||
set EnvDownloadPath=%EnvRootPath%\download
|
||||
set EnvTorPath=%EnvDownloadPath%\tor
|
||||
|
||||
set EnvSevenZipExe=%EnvToolsPath%\7z.exe
|
||||
set EnvJomExe=%EnvToolsPath%\jom.exe
|
||||
|
@ -22,6 +22,8 @@ set CMakeVersion=cmake-3.1.0-win32-x86
|
||||
set CMakeInstall=%CMakeVersion%.zip
|
||||
set CMakeUrl=http://www.cmake.org/files/v3.1/%CMakeInstall%
|
||||
set CMakeInstallPath=%EnvToolsPath%\cmake
|
||||
set TorProjectUrl=https://www.torproject.org
|
||||
set TorDownloadIndexUrl=%TorProjectUrl%/download/tor
|
||||
|
||||
if not exist "%EnvToolsPath%\7z.exe" (
|
||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||
@ -170,10 +172,33 @@ if not exist "%CMakeInstallPath%\bin\cmake.exe" (
|
||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||
)
|
||||
|
||||
rem Tor
|
||||
rem Get download link and filename from download page
|
||||
mkdir "%EnvTempPath%"
|
||||
call "%ToolsPath%\download-file.bat" "%TorDownloadIndexUrl%" "%EnvTempPath%\index.html"
|
||||
if not exist "%EnvTempPath%\index.html" %cecho% error "Cannot download Tor installation" & goto error
|
||||
|
||||
for /F "tokens=1,2 delims= " %%A in ('%EnvSedExe% -r -n -e"s/.*href=\"^(.*^)^(tor-win32.*\.zip^)\".*/\2 \1\2/p" "%EnvTempPath%\index.html"') do set TorInstall=%%A& set TorDownloadUrl=%TorProjectUrl%%%B
|
||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||
if "%TorInstall%"=="" %cecho% error "Cannot download Tor installation" & goto error
|
||||
if "%TorDownloadUrl%"=="" %cecho% error "Cannot download Tor installation" & goto error
|
||||
|
||||
if not exist "%EnvDownloadPath%\%TorInstall%" call "%ToolsPath%\remove-dir.bat" "%EnvTorPath%"
|
||||
if not exist "%EnvTorPath%\Tor\tor.exe" (
|
||||
%cecho% info "Download Tor installation"
|
||||
|
||||
if not exist "%EnvDownloadPath%\%TorInstall%" call "%ToolsPath%\download-file.bat" "%TorDownloadUrl%" "%EnvDownloadPath%\%TorInstall%"
|
||||
if not exist "%EnvDownloadPath%\%TorInstall%" %cecho% error "Cannot download Tor installation" & goto error
|
||||
|
||||
%cecho% info "Unpack Tor"
|
||||
"%EnvSevenZipExe%" x -o"%EnvTorPath%" "%EnvDownloadPath%\%TorInstall%"
|
||||
)
|
||||
|
||||
:exit
|
||||
endlocal
|
||||
exit /B 0
|
||||
|
||||
:error
|
||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||
endlocal
|
||||
exit /B 1
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Instal·la ${APPNAME} i els components necessaris."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Pells"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Instal·la pells."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Icones d'accés directe"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Installiert ${APPNAME} und die benötigten Komponenten."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installiert Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Skins"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Skins installieren."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Verknüpfungssymbole"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Skins"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Installs skins."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Shortcut icons"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Instala ${APPNAME} y los componentes requeridos."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Coberturas (skins)"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Instalar coberturas"
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Iconos de accesos directos"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Installe ${APPNAME} et les composants requis."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Habillages"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Installe des habillages."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Icônes de raccourci"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Instaluje ${APPNAME} oraz wymagane komponenty."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Skórki"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Instaluje skórki."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Ikony skrótów"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Установка ${APPNAME} и необходимых компонентов."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Оболочки"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Установка оболочек."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Ярлыки"
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "${APPNAME} ve gerekli bileşenleri kurar."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "Temalar"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "Tema yükleyin."
|
||||
!insertmacro LANG_STRING Section_Shortcuts "Kısayol simgeleri"
|
||||
|
@ -8,6 +8,20 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Section_Tor</name>
|
||||
<message>
|
||||
<source>Tor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Section_Tor_Desc</name>
|
||||
<message>
|
||||
<source>Installs Tor.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Section_Data</name>
|
||||
<message>
|
||||
|
@ -1,5 +1,7 @@
|
||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
||||
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||
!insertmacro LANG_STRING Section_Data "皮肤"
|
||||
!insertmacro LANG_STRING Section_Data_Desc "安装皮肤"
|
||||
!insertmacro LANG_STRING Section_Shortcuts "快捷方式图标"
|
||||
|
@ -56,7 +56,17 @@
|
||||
!endif
|
||||
|
||||
# Date
|
||||
!define /date Date "%Y%m%d"
|
||||
!ifndef DATE
|
||||
!define /date DATE "%Y%m%d"
|
||||
!endif
|
||||
|
||||
# Tor
|
||||
!ifdef TORDIR
|
||||
${!defineifexist} TOR_EXISTS "${TORDIR}\tor.exe"
|
||||
!ifndef TOR_EXISTS
|
||||
!error "tor.exe not found"
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Application name and version
|
||||
!define APPNAME "RetroShare"
|
||||
@ -78,7 +88,7 @@
|
||||
# Main Install settings
|
||||
Name "${APPNAMEANDVERSION}"
|
||||
InstallDirRegKey HKLM "Software\${APPNAME}" ""
|
||||
OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-Qt-${QTVERSION}-${ARCHITECTURE}${INSTALLERADD}-setup.exe"
|
||||
OutFile "${OUTDIR_}RetroShare-${VERSION}-${DATE}-${REVISION}-Qt-${QTVERSION}-${ARCHITECTURE}${INSTALLERADD}-setup.exe"
|
||||
BrandingText "${APPNAMEANDVERSION}"
|
||||
RequestExecutionlevel highest
|
||||
# Use compression
|
||||
@ -271,6 +281,14 @@ Section $(Section_Main) Section_Main
|
||||
File /r "${SOURCEDIR}\retroshare-gui\src\license\*.*"
|
||||
SectionEnd
|
||||
|
||||
# Tor
|
||||
!ifdef TOR_EXISTS
|
||||
Section /o $(Section_Tor) Section_Tor
|
||||
SetOutPath "$INSTDIR"
|
||||
File /r "${TORDIR}\*"
|
||||
SectionEnd
|
||||
!endif
|
||||
|
||||
# Plugins
|
||||
${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${RELEASEDIR}\plugins\FeedReader\release\FeedReader.dll"
|
||||
${!defineifexist} PLUGIN_VOIP_EXISTS "${RELEASEDIR}\plugins\VOIP\release\VOIP.dll"
|
||||
@ -385,6 +403,7 @@ SectionEnd
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section_Plugin_VOIP} $(Section_Plugin_VOIP_Desc)
|
||||
; !insertmacro MUI_DESCRIPTION_TEXT ${Section_Link} $(Section_Link_Desc)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section_AutoStart} $(Section_AutoStart_Desc)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section_Tor} $(Section_Tor_Desc)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
# Uninstall
|
||||
|
@ -18,7 +18,7 @@ call "%~dp0find-in-path.bat" GitPath git.exe
|
||||
if "%GitPath%"=="" (
|
||||
echo.
|
||||
echo Git executable not found in PATH.
|
||||
goto exit
|
||||
exit /B 1
|
||||
)
|
||||
|
||||
set GitParameter=
|
||||
|
32
build_scripts/Windows/tools/get-rs-date.bat
Normal file
32
build_scripts/Windows/tools/get-rs-date.bat
Normal file
@ -0,0 +1,32 @@
|
||||
REM Usage:
|
||||
REM call get-rs-date.bat SourcePath Variable
|
||||
|
||||
setlocal
|
||||
|
||||
set SourcePath=%~1
|
||||
set Variable=%~2
|
||||
if "%Variable%"=="" (
|
||||
echo.
|
||||
echo Parameter error
|
||||
exit /B 1
|
||||
)
|
||||
|
||||
:: Check git executable
|
||||
set GitPath=
|
||||
call "%~dp0find-in-path.bat" GitPath git.exe
|
||||
if "%GitPath%"=="" (
|
||||
echo.
|
||||
echo Git executable not found in PATH.
|
||||
exit /B 1
|
||||
)
|
||||
|
||||
set Date=
|
||||
|
||||
pushd "%SourcePath%"
|
||||
rem This doesn't work: git log -1 --date=format:"%Y%m%d" --format="%ad"
|
||||
for /F "tokens=1,2,3* delims=-" %%A in ('git log -1 --date^=short --format^="%%ad"') do set Date=%%A%%B%%C
|
||||
popd
|
||||
|
||||
:exit
|
||||
endlocal & set %Variable%=%Date%
|
||||
exit /B 0
|
Loading…
Reference in New Issue
Block a user