From b9665d9b0e4384a2eb4d0bf772ccc1813a85d00c Mon Sep 17 00:00:00 2001 From: gbamber Date: Thu, 26 Jan 2017 07:45:38 +0000 Subject: [PATCH] To V0.3.1.0 Linux function added to set permissions git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5705 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../lazautoupdate/latest_stable/lazupdate.lpk | 6 +- .../latest_stable/testapp/testapp.lps | 118 +++++++++--------- .../latest_stable/testapp/umainform.lfm | 4 +- .../latest_stable/trayicon/trayupdater.lps | 87 ++++++------- .../latest_stable/ulazautoupdate.pas | 78 ++++++++++-- .../latest_stable/updates/lazautoupdate.zip | Bin 907515 -> 901936 bytes .../updates/update_lazautoupdate.json | 2 +- 7 files changed, 180 insertions(+), 115 deletions(-) diff --git a/components/lazautoupdate/latest_stable/lazupdate.lpk b/components/lazautoupdate/latest_stable/lazupdate.lpk index 18bce7ed7..a3d505bba 100644 --- a/components/lazautoupdate/latest_stable/lazupdate.lpk +++ b/components/lazautoupdate/latest_stable/lazupdate.lpk @@ -31,7 +31,9 @@ - + diff --git a/components/lazautoupdate/latest_stable/testapp/testapp.lps b/components/lazautoupdate/latest_stable/testapp/testapp.lps index dcb6d767b..6b8df4b1b 100644 --- a/components/lazautoupdate/latest_stable/testapp/testapp.lps +++ b/components/lazautoupdate/latest_stable/testapp/testapp.lps @@ -3,14 +3,14 @@ - + - + @@ -19,10 +19,9 @@ - - + @@ -33,7 +32,7 @@ - + @@ -44,14 +43,15 @@ - - - + + + - - - + + + + @@ -191,123 +191,123 @@ - + - + - + - + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - + + - - + + - - + + + + + + + + + + + + + + + + + + - + - + - + diff --git a/components/lazautoupdate/latest_stable/testapp/umainform.lfm b/components/lazautoupdate/latest_stable/testapp/umainform.lfm index 7cc4a9fbc..12520e7b7 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 = 771 + Left = 509 Height = 209 - Top = 224 + Top = 326 Width = 335 BorderIcons = [biSystemMenu] Caption = 'mainform' diff --git a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps index 03f654ef5..7c30965b7 100644 --- a/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps +++ b/components/lazautoupdate/latest_stable/trayicon/trayupdater.lps @@ -3,7 +3,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -21,17 +21,16 @@ - - + - + @@ -44,10 +43,12 @@ + - - + + + @@ -232,7 +233,7 @@ - + @@ -261,123 +262,123 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - - - - - + + - - + + + + + + diff --git a/components/lazautoupdate/latest_stable/ulazautoupdate.pas b/components/lazautoupdate/latest_stable/ulazautoupdate.pas index 4a237be91..8435969aa 100644 --- a/components/lazautoupdate/latest_stable/ulazautoupdate.pas +++ b/components/lazautoupdate/latest_stable/ulazautoupdate.pas @@ -60,7 +60,7 @@ interface uses Forms, Classes, SysUtils, lazautoupdate_httpclient, strutils, LazUTF8, FileUtil, LazFileUtils, Dialogs, StdCtrls, - Buttons, DateUtils, asyncprocess, zipper, LResources, + Buttons, DateUtils,{$IFDEF LINUX}process, asyncprocess,{$ENDIF}zipper, LResources, VersionSupport, inifiles, aboutlazautoupdateunit, uappisrunning, LCLProc, fileinfo, open_ssl, winpeimagereader {need this for reading exe info} , elfreader {needed for reading ELF executables} @@ -136,7 +136,8 @@ const V0.2.7: Updates Tray Updater routines V0.2.8: Changed constants C_UPDATEHMNAME and C_LAUUPDATENAME V0.2.9: Added CreateLocalLauImportFile in UpdateToNewVersion - V0.3.0: ?? + V0.3.1: Added SetExecutePermission (LINUX only) + V0.3.2: ?? } C_TLazAutoUpdateComponentVersion = '0.3.0'; C_TThreadedDownloadComponentVersion = '0.0.3'; @@ -169,11 +170,11 @@ const {$ENDIF} C_PFX = C_OS + C_BITNESS; // Used in file naming {$IFDEF WINDOWS} - C_UPDATEHMNAME = 'updatehm' + C_PFX + '.exe'; - C_LAUUPDATENAME = 'lauupdate' + C_PFX + '.exe'; + C_UPDATEHMNAME = 'updatehm' + C_PFX + '.exe'; + C_LAUUPDATENAME = 'lauupdate' + C_PFX + '.exe'; {$ELSE} - C_UPDATEHMNAME = 'updatehm' + C_PFX; - C_LAUUPDATENAME = 'lauupdate' + C_PFX; + C_UPDATEHMNAME = 'updatehm' + C_PFX; + C_LAUUPDATENAME = 'lauupdate' + C_PFX; {$ENDIF} // Windows Constants (unused) C_RUNONCEKEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce'; @@ -382,6 +383,10 @@ type property LastCompiled: string read fLastCompiled; property TargetOS: string read fTargetOS; property WindowsAdminCheck: boolean read fWindowsAdminCheck write fWindowsAdminCheck; + {$IFDEF LINUX} + // Used in UpdateToNewVersion + function SetExecutePermission(const AFileName: string; var AErrMsg: string): boolean; + {$ENDIF} published // Events property OnNewVersionAvailable: TOnNewVersionAvailable @@ -1560,8 +1565,8 @@ begin begin if fFireDebugEvent then fOndebugEvent(Self, 'RelocateLauImportFile', - Format('Relocated %s from %s to %s', [C_LAUTRayINI, - szSourceLAUTrayPath, szDestLAUTrayPath])); + Format('Relocated %s from %s to %s', + [C_LAUTRayINI, szSourceLAUTrayPath, szDestLAUTrayPath])); SysUtils.DeleteFile(szSourceLAUTrayPath); end else @@ -1902,7 +1907,46 @@ begin end; end; +{$IFDEF LINUX} +function TLazAutoUpdate.SetExecutePermission(const AFileName: string; + var AErrMsg: string): boolean; +var + SL: TStringList; + Process: TProcess; +begin + Result := False; + Process := TProcess.Create(nil); + try + Process.Executable := '/bin/chmod'; + Process.Parameters.Add('+X'); + Process.Parameters.Add(AFileName); + Process.Options := Process.Options + [poWaitOnExit, poUsePipes]; + Process.Execute; + SL := TStringList.Create; + try + SL.LoadFromStream(Process.Stderr); + AErrMsg := Trim(SL.Text); + Result := Trim(AErrMsg) = ''; + finally + SL.Free; + end; + finally + Process.Free; + end; +end; +{$ENDIF} +{ +procedure CheckPermissions; +var + ErrMsg: String; +begin + if SetExecutePermission('/minesadorada/developer/updates/consoleupdater', ErrMsg) then + MessageDlg('Permission successfully set.', mtInformation, [mbOk], 0) + else + MessageDlg('Cannot set permission. Error message: ' + ErrMsg, mtError, [mbOk], 0); +end; +} function TLazAutoUpdate.UpdateToNewVersion: boolean; // Shells to updater console // Requires admin user in Win 10 @@ -1927,6 +1971,9 @@ var cCount: cardinal; szAppDir: string; szParams: string; + {$IFDEF LINUX} + ErrMsg: string; +{$ENDIF} begin Result := False; {$IFDEF WINDOWS} @@ -1955,6 +2002,7 @@ begin end else begin + // Start Regular update cCount := 0; if not FileExistsUTF8(szAppDir + C_UPDATEHMNAME) then begin @@ -1965,6 +2013,20 @@ begin Format(C_UpdaterMissing, [szAppDir + C_UPDATEHMNAME])); Exit; end; + {$IFDEF LINUX} + if not SetExecutePermission(szAppDir + C_UPDATEHMNAME, ErrMsg) then + begin + if fFireDebugEvent then + fOndebugEvent(Self, 'UpdateToNewVersion', + Format('Unable to set permissions for %s because of %s', + [szAppDir + fUpdatesFolder, ErrMsg])); + if fShowDialogs then + ShowMessageFmt('Unable to set permissions for %s because of %s', + [szAppDir + fUpdatesFolder, ErrMsg]); + Result := False; + Exit; + end; + {$ENDIF} if not DirectoryExistsUTF8(szAppDir + fUpdatesFolder) then begin diff --git a/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip b/components/lazautoupdate/latest_stable/updates/lazautoupdate.zip index ebf89b2d1c5d9bfe612679c579efac69fb15ff91..94964efa2fab1cca28d9798bdc978c014399ef0a 100644 GIT binary patch delta 21191 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

##jS1D;T0N#fc$iAz!qA1GXol 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