From f092ed6dd7cc36dc157e22a48d145b332fcc1eb3 Mon Sep 17 00:00:00 2001 From: gbamber Date: Sun, 15 Jan 2017 19:00:32 +0000 Subject: [PATCH] V0.2.3.0: WIP git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5655 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../lazautoupdate/latest_stable/lazupdate.lpk | 8 +- .../lazautoupdate/latest_stable/lazupdate.pas | 3 +- .../lazautoupdate/latest_stable/open_ssl.pas | 82 +++++++++++ .../lazautoupdate/latest_stable/openssl.txt | 2 + .../latest_stable/testapp/testapp.lpi | 7 +- .../latest_stable/testapp/testapp.lpr | 2 +- .../latest_stable/testapp/testapp.lps | 131 ++++++++++-------- .../latest_stable/testapp/umainform.lfm | 6 +- .../latest_stable/ulazautoupdate.pas | 36 +++-- .../latest_stable/updates/lazautoupdate.zip | Bin 755908 -> 756992 bytes .../updates/update_lazautoupdate.json | 2 +- 11 files changed, 197 insertions(+), 82 deletions(-) create mode 100644 components/lazautoupdate/latest_stable/open_ssl.pas create mode 100644 components/lazautoupdate/latest_stable/openssl.txt diff --git a/components/lazautoupdate/latest_stable/lazupdate.lpk b/components/lazautoupdate/latest_stable/lazupdate.lpk index 57fcacaf4..7d2e51ba3 100644 --- a/components/lazautoupdate/latest_stable/lazupdate.lpk +++ b/components/lazautoupdate/latest_stable/lazupdate.lpk @@ -55,8 +55,8 @@ More information in the Wiki Home Page http://wiki.freepascal.org/LazAutoUpdater along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. "/> - - + + @@ -79,6 +79,10 @@ More information in the Wiki Home Page http://wiki.freepascal.org/LazAutoUpdater + + + + diff --git a/components/lazautoupdate/latest_stable/lazupdate.pas b/components/lazautoupdate/latest_stable/lazupdate.pas index 7f74b2c1a..7cb8b30a2 100644 --- a/components/lazautoupdate/latest_stable/lazupdate.pas +++ b/components/lazautoupdate/latest_stable/lazupdate.pas @@ -4,11 +4,12 @@ unit lazupdate; +{$warn 5023 off : no warning about unused units} interface uses ulazautoupdate, aboutlazautoupdateunit, VersionSupport, uappisrunning, - lazautoupdate_httpclient, LazarusPackageIntf; + lazautoupdate_httpclient, open_ssl, LazarusPackageIntf; implementation diff --git a/components/lazautoupdate/latest_stable/open_ssl.pas b/components/lazautoupdate/latest_stable/open_ssl.pas new file mode 100644 index 000000000..d6f8ddaf2 --- /dev/null +++ b/components/lazautoupdate/latest_stable/open_ssl.pas @@ -0,0 +1,82 @@ +unit open_ssl; + +{$mode objfpc}{$H+} + +interface + +uses + // Built-in: fphttpclient + Classes, SysUtils,lazautoupdate_httpclient,LazFileUtils,FileUtil,zipper; + +function CheckForOpenSSL:Boolean; +function OpenSSLInstalled:Boolean; + +implementation +const +{$ifdef win64} + cOpenSSLURL = 'http://packages.lazarus-ide.org/openssl-1.0.2j-x64_86-win64.zip'; +{$endif} +{$ifdef win32} +cOpenSSLURL = 'http://packages.lazarus-ide.org/openssl-1.0.2j-i386-win32.zip'; +{$endif} +Var FHTTPClient:TFPHttpClient; + +function OpenSSLInstalled:Boolean; +begin + {$IFDEF MSWINDOWS} + Result:= FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'libeay32.dll') and + FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'ssleay32.dll'); + // Look in Windows system dir? + {$ELSE} + Result:=True; + {$ENDIF} +end; + +Function CheckForOpenSSL:Boolean; +var + ZipFile: String; + UnZipper: TUnZipper; +begin + {$IFDEF MSWINDOWS} + Result:=FALSE; + if not OpenSSLInstalled then + begin + ZipFile := ExtractFilePath(ParamStr(0)) + ExtractFileName(cOpenSSLURL); + try + FHTTPClient.Get(cOpenSSLURL, ZipFile); + except + end; + + if FileExistsUTF8(ZipFile) then + begin + UnZipper := TUnZipper.Create; + try + try + UnZipper.FileName := ZipFile; + UnZipper.Examine; + UnZipper.UnZipAllFiles; + except + end; + finally + UnZipper.Free; + end; + DeleteFileUTF8(ZipFile); + Result:=OpenSSLInstalled; + end; + end + else + Result:=True; + {$ELSE} + Result:=True; + {$ENDIF} +end; +initialization +begin + FHTTPClient:=TFPHttpClient.Create(nil); +end; +finalization +begin + FreeAndNil(FHTTPClient); +end; +end. + diff --git a/components/lazautoupdate/latest_stable/openssl.txt b/components/lazautoupdate/latest_stable/openssl.txt new file mode 100644 index 000000000..e9938338c --- /dev/null +++ b/components/lazautoupdate/latest_stable/openssl.txt @@ -0,0 +1,2 @@ +http://indy.fulgan.com/SSL/openssl-1.0.2j-i386-win32.zip +http://indy.fulgan.com/SSL/openssl-1.0.2j-x64_86-win64.zip diff --git a/components/lazautoupdate/latest_stable/testapp/testapp.lpi b/components/lazautoupdate/latest_stable/testapp/testapp.lpi index e47fea315..580a58fe8 100644 --- a/components/lazautoupdate/latest_stable/testapp/testapp.lpi +++ b/components/lazautoupdate/latest_stable/testapp/testapp.lpi @@ -33,6 +33,7 @@ + @@ -165,7 +166,7 @@ - + @@ -177,6 +178,10 @@ + + + + diff --git a/components/lazautoupdate/latest_stable/testapp/testapp.lpr b/components/lazautoupdate/latest_stable/testapp/testapp.lpr index 0b6eced08..8553718f1 100644 --- a/components/lazautoupdate/latest_stable/testapp/testapp.lpr +++ b/components/lazautoupdate/latest_stable/testapp/testapp.lpr @@ -35,7 +35,7 @@ uses cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset - Forms, umainform + Forms, umainform, open_ssl { you can add units after this }; {$R *.res} diff --git a/components/lazautoupdate/latest_stable/testapp/testapp.lps b/components/lazautoupdate/latest_stable/testapp/testapp.lps index 14727104d..add2314f6 100644 --- a/components/lazautoupdate/latest_stable/testapp/testapp.lps +++ b/components/lazautoupdate/latest_stable/testapp/testapp.lps @@ -4,13 +4,13 @@ - + - + @@ -19,32 +19,31 @@ - - - + + + + - - - + + - - - + + + - - - - + + + @@ -52,7 +51,7 @@ - + @@ -96,7 +95,7 @@ - + @@ -111,130 +110,140 @@ - + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + diff --git a/components/lazautoupdate/latest_stable/testapp/umainform.lfm b/components/lazautoupdate/latest_stable/testapp/umainform.lfm index 1e9e987cf..1dadaaca2 100644 --- a/components/lazautoupdate/latest_stable/testapp/umainform.lfm +++ b/components/lazautoupdate/latest_stable/testapp/umainform.lfm @@ -1,7 +1,7 @@ object mainform: Tmainform - Left = 716 + Left = 682 Height = 209 - Top = 296 + Top = 277 Width = 335 BorderIcons = [biSystemMenu] Caption = 'mainform' @@ -112,7 +112,7 @@ object mainform: Tmainform OnDownloaded = LazAutoUpdate1Downloaded OnDebugEvent = LazAutoUpdate1DebugEvent SFProjectName = 'lazautoupdate' - auOtherSourceURL = '' + auOtherSourceURL = '/' auOtherSourceFilename = '' CopyTree = False UpdatesFolder = 'updates' diff --git a/components/lazautoupdate/latest_stable/ulazautoupdate.pas b/components/lazautoupdate/latest_stable/ulazautoupdate.pas index cf1710489..41de22aa1 100644 --- a/components/lazautoupdate/latest_stable/ulazautoupdate.pas +++ b/components/lazautoupdate/latest_stable/ulazautoupdate.pas @@ -39,7 +39,7 @@ uses LazUTF8, FileUtil, LazFileUtils, Dialogs, StdCtrls, Buttons, DateUtils, asyncprocess, zipper, LResources, VersionSupport, inifiles, aboutlazautoupdateunit, uappisrunning, LCLProc, - fileinfo, winpeimagereader {need this for reading exe info} + fileinfo,open_ssl, winpeimagereader {need this for reading exe info} , elfreader {needed for reading ELF executables} , machoreader {needed for reading MACH-O executables} {$IFDEF WINDOWS}, Windows, ShellAPI{$ENDIF}; // Thanks to Windows 10 and 704 error @@ -48,10 +48,12 @@ const C_SOURCEFORGEURL = 'https://sourceforge.net/projects/%s/files/%s/%s/download'; // [updatepath,projectname,filename] - C_GITHUBFILEURL = 'https://raw.github.com/%s/%s/master/%s/%s'; + // C_GITHUBFILE_URL = 'https://raw.github.com/%s/%s/master/%s/%s'; + C_GITHUBFILE_URL = 'https://raw.github.com/%s/%s/%s/%s/%s'; + C_GITHUBFILE_URL_UPDATES = 'https://raw.github.com/%s/%s/%s/%s/%s/%s'; // https://raw.github.com////some_directory/file // GitHubUserName,GitHubProjectName,updatepath,filename - C_TLazAutoUpdateComponentVersion = '0.2.2'; + C_TLazAutoUpdateComponentVersion = '0.2.3'; C_LAUTRayINI = 'lauimport.ini'; { @@ -116,6 +118,7 @@ const C_INISection = 'versions'; C_GUIEntry = 'GUI'; C_ModuleEntry = 'Module'; + C_MASTER = 'master'; {$IFDEF WINDOWS} {$IFDEF CPU32}C_UPDATER = 'updatehmwin32.exe'; C_LOCALUPDATER = 'lauupdatewin32.exe';{$ENDIF} @@ -177,7 +180,7 @@ type type - TProjectType = (auSourceForge,auGitHubUpdateZip, auOther); + TProjectType = (auSourceForge,auGitHubReleaseZip,auOther); // Array of these records used for multiple updates UpdateListRecord = record PrettyName: string; @@ -199,6 +202,7 @@ type fSourceForgeProjectName: string; fGitHubUsername:String; fGitHubProjectName:String; + fGitHubBranch:String; fApplicationVersionString: string; fApplicationVersionQuad: TVersionQuad; fGuiQuad: TVersionQuad; @@ -367,7 +371,7 @@ type property UpdateExeSilent:String read fUpdateSilentExe; property GitHubUsername:String read fGitHubUsername write fGitHubUsername; Property GitHubProjectName:String read fGitHubProjectName write fGitHubProjectName; - + Property GitHubBranch:String read fGitHubBranch write fGitHubBranch; end; {TThreadedDownload } @@ -882,7 +886,6 @@ var szOldCaption: string; begin Result := False; - // read the VMT once if Assigned(fOndebugEvent) then fFireDebugEvent := True; @@ -908,7 +911,7 @@ begin szURL := Format(C_SOURCEFORGEURL, [fSourceForgeProjectName, fUpdatesFolder, fVersionsININame]); end; - if fProjectType = auGitHubUpdateZip then + if fProjectType = auGitHubReleaseZip then begin if ((fGitHubUserName = '') or (fGitHubProjectName = '')) then begin @@ -918,8 +921,8 @@ begin fOndebugEvent(Self, 'NewVersionAvailable', C_PropIsEmpty); Exit; end; - szURL := Format(C_GITHUBFILEURL, - [fGitHubUserName,fGitHubProjectName,fUpdatesFolder,fVersionsININame]); + szURL := Format(C_GITHUBFILE_URL, + [fGitHubUserName,fGitHubProjectName,fGitHubBranch,fVersionsININame]); end; if fProjectType = auOther then // fauOtherSourceURL ends with '/' @@ -967,6 +970,7 @@ begin fDownloadInprogress := True; if not fSilentMode then fParentForm.Caption := C_Checking; + CheckForOpenSSL; // Start the thread ThreadDownloadHTTP; if fFireDebugEvent then @@ -1070,8 +1074,11 @@ begin if fProjectType = auSourceForge then szURL := Format(C_SOURCEFORGEURL, [fSourceForgeProjectName, fUpdatesFolder, ExtractFileName(szTargetPath)]); - if fProjectType = auGitHubUpdateZip then - szURL := Format(C_GITHUBFILEURL, [fGitHubUserName,fGitHubProjectName,fUpdatesFolder,fZipfileName]); + if fProjectType = auGitHubReleaseZip then + If ((fUpdatesFolder=C_NotApplicable) or (fUpdatesFolder='')) then + szURL := Format(C_GITHUBFILE_URL, [fGitHubUserName,fGitHubProjectName,fGitHubBranch,fZipfileName]) + else + szURL := Format(C_GITHUBFILE_URL_UPDATES, [fGitHubUserName,fGitHubProjectName,fGitHubBranch,fUpdatesFolder,fZipfileName]); if fProjectType = auOther then // fauOtherSourceURL ends with '/' begin @@ -1152,6 +1159,7 @@ begin end; fDownloadInprogress := True; + CheckForOpenSSL; // Do the download with fThreadDownload do begin @@ -1931,6 +1939,7 @@ begin fSourceForgeProjectName := C_NotApplicable; fGitHubProjectName := C_NotApplicable; fGitHubUserName := C_NotApplicable; + fGitHubBranch:=C_NotApplicable; fauOtherSourceFilename:=''; fauOtherSourceURL:=''; end; @@ -1942,16 +1951,19 @@ begin fauOtherSourceURL := C_NotApplicable; fGitHubProjectName := C_NotApplicable; fGitHubUserName := C_NotApplicable; + fGitHubBranch:=C_NotApplicable; end; - if fProjectType = auGitHubUpdateZip then + if fProjectType = auGitHubReleaseZip then begin fZipFileName:=ChangeFileExt(fVersionsININame,'.zip'); fUpdatesFolder := C_UpdatesFolder; fSourceForgeProjectName := C_NotApplicable; fauOtherSourceFilename := C_NotApplicable; fauOtherSourceURL := C_NotApplicable; + fGitHubBranch:= C_MASTER; fGitHubProjectName := ''; fGitHubUserName := ''; + fUpdatesFolder:=C_NotApplicable; end; diff --git a/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip b/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip index 1d8d9932c939decc1405710ac839d0c45b0ea4c6..93ced9964acc066a41c25f8f91b07e9672fdf984 100644 GIT binary patch delta 3720 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 BgdqR` diff --git a/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json b/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json index a9f3e750c..71f62dacc 100644 --- a/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json +++ b/components/lazautoupdate/latest_stable/updates/update_lazautoupdate.json @@ -9,7 +9,7 @@ "ForceNotify" : true, "InternalVersion" : 2, "Name" : "lazupdate.lpk", - "Version" : "0.2.2.0" + "Version" : "0.2.3.0" } ] }