diff --git a/components/onlinepackagemanager/frames/opkman_createrepositorypackagefr.pas b/components/onlinepackagemanager/frames/opkman_createrepositorypackagefr.pas index db66149c4f..f746fb7b3b 100644 --- a/components/onlinepackagemanager/frames/opkman_createrepositorypackagefr.pas +++ b/components/onlinepackagemanager/frames/opkman_createrepositorypackagefr.pas @@ -5,10 +5,14 @@ unit opkman_createrepositorypackagefr; interface uses - Classes, SysUtils, FileUtil, Forms, Controls, ExtCtrls, StdCtrls, Dialogs, - LazFileUtils, Graphics, Menus, Buttons, Laz2_XMLCfg, opkman_VirtualTrees, - md5, fpjson, LCLIntf, EditBtn, opkman_serializablepackages, opkman_zipper, - opkman_uploader; + Classes, SysUtils, md5, fpjson, + // LCL + Forms, Controls, ExtCtrls, StdCtrls, Dialogs, Graphics, Buttons, EditBtn, + LCLIntf, + // LazUtils + FileUtil, LazFileUtils, Laz2_XMLCfg, + // OpkMan + opkman_VirtualTrees, opkman_serializablepackages, opkman_zipper, opkman_uploader; type PData = ^TData; @@ -1100,12 +1104,12 @@ begin ShowHideControls(2); EnableDisableControls(True); Uploader := nil; - if FileExistsUTF8(FPackageFile) then - DeleteFileUTF8(FPackageFile); - if FileExistsUTF8(FDestDir + FPackageName + '.json') then - DeleteFileUTF8(FDestDir + FPackageName + '.json'); - if FileExistsUTF8(FDestDir + 'update_' + FPackageName + '.json') then - DeleteFileUTF8(FDestDir + 'update_' + FPackageName + '.json'); + if FileExists(FPackageFile) then + DeleteFile(FPackageFile); + if FileExists(FDestDir + FPackageName + '.json') then + DeleteFile(FDestDir + FPackageName + '.json'); + if FileExists(FDestDir + 'update_' + FPackageName + '.json') then + DeleteFile(FDestDir + 'update_' + FPackageName + '.json'); MessageDlgEx(rsCreateRepositoryPackageFrm_Message9, mtInformation, [mbOk], TForm(Self.Parent)); TForm(Self.Parent).ModalResult := mrOk; TForm(Self.Parent).Close; diff --git a/components/onlinepackagemanager/opkman_common.pas b/components/onlinepackagemanager/opkman_common.pas index f9a4593ce1..9561f4e83b 100644 --- a/components/onlinepackagemanager/opkman_common.pas +++ b/components/onlinepackagemanager/opkman_common.pas @@ -31,7 +31,11 @@ interface uses Classes, SysUtils, contnrs, // LCL - Dialogs, Forms, Controls, LazIDEIntf, LazFileUtils, + Dialogs, Forms, Controls, + // LazUtils + LazFileUtils, + // IdeIntf + LazIDEIntf, // OpkMan opkman_const, opkman_options; @@ -148,12 +152,12 @@ var LocalRepo, LocalRepoConfig: String; begin LocalRepo := AppendPathDelim(AppendPathDelim(LazarusIDE.GetPrimaryConfigPath) + cLocalRepository); - if not DirectoryExistsUTF8(LocalRepo) then - CreateDirUTF8(LocalRepo); + if not DirectoryExists(LocalRepo) then + CreateDir(LocalRepo); LocalRepoConfig := AppendPathDelim(LocalRepo + cLocalRepositoryConfig); if not DirectoryExists(LocalRepoConfig) then - CreateDirUTF8(LocalRepoConfig); + CreateDir(LocalRepoConfig); LocalRepositoryConfigFile := LocalRepoConfig + cLocalRepositoryConfigFile; LocalRepositoryUpdatesFile := LocalRepoConfig + cLocalRepositoryUpdatesFile; end; diff --git a/components/onlinepackagemanager/opkman_options.pas b/components/onlinepackagemanager/opkman_options.pas index 87fec22a53..aa08e6f0ae 100644 --- a/components/onlinepackagemanager/opkman_options.pas +++ b/components/onlinepackagemanager/opkman_options.pas @@ -128,7 +128,7 @@ begin FLocalUpdateDefault := LocalRepo + AppendPathDelim(cLocalRepositoryUpdate); FXML := TXMLConfig.Create(AFileName); - if FileExistsUTF8(AFileName) then + if FileExists(AFileName) then begin Load; if FLocalRepositoryPackages = '' then @@ -254,11 +254,11 @@ end; procedure TOptions.CreateMissingPaths; begin if not DirectoryExists(FLocalRepositoryPackages) then - CreateDirUTF8(FLocalRepositoryPackages); + CreateDir(FLocalRepositoryPackages); if not DirectoryExists(FLocalRepositoryArchive) then - CreateDirUTF8(FLocalRepositoryArchive); + CreateDir(FLocalRepositoryArchive); if not DirectoryExists(FLocalRepositoryUpdate) then - CreateDirUTF8(FLocalRepositoryUpdate); + CreateDir(FLocalRepositoryUpdate); end; end. diff --git a/components/onlinepackagemanager/opkman_serializablepackages.pas b/components/onlinepackagemanager/opkman_serializablepackages.pas index 57558565a9..708f8cb6ec 100644 --- a/components/onlinepackagemanager/opkman_serializablepackages.pas +++ b/components/onlinepackagemanager/opkman_serializablepackages.pas @@ -1048,7 +1048,7 @@ var FileName: String; begin FileName := Options.LocalRepositoryArchive + APackage.RepositoryFileName; - Result := (FileExistsUTF8(FileName)) and + Result := (FileExists(FileName)) and // (MD5Print(MD5File(FileName)) = APackage.RepositoryFileHash) and (FileUtil.FileSize(FileName) = APackage.RepositoryFileSize); end; @@ -1062,8 +1062,9 @@ begin for I := 0 to APackage.FPackageFiles.Count - 1 do begin PackageFile := TPackageFile(APackage.FPackageFiles.Items[I]); - PackageFile.FPackageAbsolutePath := Options.LocalRepositoryPackages + APackage.PackageBaseDir + PackageFile.FPackageRelativePath + PackageFile.Name; - if not FileExistsUTF8(PackageFile.FPackageAbsolutePath) then + PackageFile.FPackageAbsolutePath := Options.LocalRepositoryPackages + APackage.PackageBaseDir + + PackageFile.FPackageRelativePath + PackageFile.Name; + if not FileExists(PackageFile.FPackageAbsolutePath) then begin Result := False; Break; @@ -1154,7 +1155,7 @@ function TSerializablePackages.IsPackageInstalled(const APackageFile: TPackageFi IntToStr(Package.Version.Minor) + '.' + IntToStr(Package.Version.Release) + '.' + IntToStr(Package.Version.Build); - if FileExistsUTF8(APackageFile.InstalledFileName) then + if FileExists(APackageFile.InstalledFileName) then begin APackageFile.InstalledFileDescription := GetPackageDescription(Package.Filename); APackageFile.InstalledFileLincese := GetPackageLicense(Package.Filename); @@ -1166,19 +1167,19 @@ function TSerializablePackages.IsPackageInstalled(const APackageFile: TPackageFi end; var - FileName: String; + FileName, RepoPath: String; begin Result := False; case APackageFile.PackageType of ptRunTime, ptRunTimeOnly: begin FileName := StringReplace(APackageFile.Name, '.lpk', '.opkman', [rfIgnoreCase]); - Result := (psExtracted in APackageFile.PackageStates) and - FileExistsUTF8(Options.LocalRepositoryPackages + APackageBaseDir + APackageFile.PackageRelativePath + FileName); + RepoPath := Options.LocalRepositoryPackages + APackageBaseDir + APackageFile.PackageRelativePath; + Result := (psExtracted in APackageFile.PackageStates) and FileExists(RepoPath + FileName); if Result then begin - APackageFile.InstalledFileName := Options.LocalRepositoryPackages + APackageBaseDir + APackageFile.FPackageRelativePath + APackageFile.Name; - if FileExistsUTF8(APackageFile.InstalledFileName) then + APackageFile.InstalledFileName := RepoPath + APackageFile.Name; + if FileExists(APackageFile.InstalledFileName) then begin APackageFile.InstalledFileVersion := GetPackageVersion(APackageFile.InstalledFileName); APackageFile.InstalledFileDescription := GetPackageDescription(APackageFile.InstalledFileName); @@ -1400,7 +1401,7 @@ begin (PackageFile.PackageType in [ptRunTime, ptRunTimeOnly]) then begin FileName := StringReplace(PackageFile.Name, '.lpk', '.opkman', [rfIgnoreCase]); - FileCreateUTF8(Options.LocalRepositoryPackages + Items[I].PackageBaseDir + PackageFile.PackageRelativePath + FileName); + FileCreate(Options.LocalRepositoryPackages + Items[I].PackageBaseDir + PackageFile.PackageRelativePath + FileName); end; end; end; @@ -1457,7 +1458,7 @@ begin end; paUpdate: begin - if FileExistsUTF8(Options.LocalRepositoryUpdate + Items[I].RepositoryFileName) then + if FileExists(Options.LocalRepositoryUpdate + Items[I].RepositoryFileName) then DeleteFile(Options.LocalRepositoryUpdate + Items[I].RepositoryFileName) end; end; diff --git a/components/onlinepackagemanager/opkman_updates.pas b/components/onlinepackagemanager/opkman_updates.pas index 032e6acd9e..6078b08975 100644 --- a/components/onlinepackagemanager/opkman_updates.pas +++ b/components/onlinepackagemanager/opkman_updates.pas @@ -32,7 +32,7 @@ interface uses Classes, SysUtils, fpjson, fpjsonrtti, dateutils, // LazUtils - Laz2_XMLCfg, LazFileUtils, + Laz2_XMLCfg, // OpkMan opkman_timer, opkman_serializablepackages, opkman_options, opkman_common, opkman_const, @@ -407,37 +407,38 @@ end; procedure TUpdates.CheckForOpenSSL; {$IFDEF MSWINDOWS} var - ZipFile: String; + ParamPath, libeaydll, ssleaydll, ZipFile: String; UnZipper: TUnZipper; {$ENDIF} begin {$IFDEF MSWINDOWS} - FOpenSSLAvailable := FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'libeay32.dll') and - FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'ssleay32.dll'); - if not FOpenSSLAvailable 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); - FOpenSSLAvailable := FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'libeay32.dll') and - FileExistsUTF8(ExtractFilePath(ParamStr(0)) + 'ssleay32.dll'); - end; + ParamPath := ExtractFilePath(ParamStr(0)); + libeaydll := ParamPath + 'libeay32.dll'; + ssleaydll := ParamPath + 'ssleay32.dll'; + FOpenSSLAvailable := FileExists(libeaydll) and FileExists(ssleaydll); + if not FOpenSSLAvailable then + begin + ZipFile := ParamPath + ExtractFileName(cOpenSSLURL); + try + FHTTPClient.Get(cOpenSSLURL, ZipFile); + except + end; + if FileExists(ZipFile) then + begin + UnZipper := TUnZipper.Create; + try + try + UnZipper.FileName := ZipFile; + UnZipper.Examine; + UnZipper.UnZipAllFiles; + except + end; + finally + UnZipper.Free; + end; + DeleteFile(ZipFile); + FOpenSSLAvailable := FileExists(libeaydll) and FileExists(ssleaydll); + end; end; {$ELSE} FOpenSSLAvailable := True; diff --git a/components/onlinepackagemanager/opkman_uploader.pas b/components/onlinepackagemanager/opkman_uploader.pas index 151478daf8..861cf37edf 100644 --- a/components/onlinepackagemanager/opkman_uploader.pas +++ b/components/onlinepackagemanager/opkman_uploader.pas @@ -32,8 +32,6 @@ interface uses Classes, SysUtils, base64, - // LazUtils - LazFileUtils, // OpkMan opkman_options, opkman_const, {$IFDEF FPC311}fphttpclient{$ELSE}opkman_httpclient{$ENDIF}; @@ -138,7 +136,7 @@ var CanGo: Boolean; begin FFileName := ExtractFileName(FZip); - CanGo := FileExistsUTF8(FZip); + CanGo := FileExists(FZip); if CanGo then begin Synchronize(@DoOnUploadProgress); @@ -153,7 +151,7 @@ begin Exit; FFileName := ExtractFileName(FJSON); - CanGo := FileExistsUTF8(FJSON); + CanGo := FileExists(FJSON); if CanGo then begin Synchronize(@DoOnUploadProgress); @@ -171,7 +169,7 @@ begin if FJSONUpdate <> '' then begin FFileName := ExtractFileName(FJSONUpdate); - CanGo := FileExistsUTF8(FJSONUpdate); + CanGo := FileExists(FJSONUpdate); if CanGo then begin Synchronize(@DoOnUploadProgress);