Browse Source

* Solved possible AV

git-svn-id: trunk@35769 -
joost 8 years ago
parent
commit
a9d4b17638
2 changed files with 14 additions and 1 deletions
  1. 9 0
      packages/fppkg/src/fprepos.pp
  2. 5 1
      packages/fppkg/src/pkgcommands.pp

+ 9 - 0
packages/fppkg/src/fprepos.pp

@@ -142,6 +142,7 @@ type
     Procedure Assign(Source : TPersistent); override;
     Procedure Assign(Source : TPersistent); override;
     Function AddDependency(Const APackageName : String; const AMinVersion : String = '') : TFPDependency;
     Function AddDependency(Const APackageName : String; const AMinVersion : String = '') : TFPDependency;
     Function IsPackageBroken: Boolean;
     Function IsPackageBroken: Boolean;
+    Function GetDebugName: string;
     Property Dependencies : TFPDependencies Read FDependencies;
     Property Dependencies : TFPDependencies Read FDependencies;
     Property OSes : TOSes Read FOSes Write FOses;
     Property OSes : TOSes Read FOSes Write FOses;
     Property CPUs : TCPUs Read FCPUs Write FCPUs;
     Property CPUs : TCPUs Read FCPUs Write FCPUs;
@@ -337,6 +338,7 @@ ResourceString
   SErrDuplicatePackageName = 'Duplicate package name : "%s"';
   SErrDuplicatePackageName = 'Duplicate package name : "%s"';
   SErrMaxLevelExceeded     = 'Maximum number of dependency levels exceeded (%d) at package "%s".';
   SErrMaxLevelExceeded     = 'Maximum number of dependency levels exceeded (%d) at package "%s".';
   SErrMirrorNotFound       = 'Mirror "%s" not found.';
   SErrMirrorNotFound       = 'Mirror "%s" not found.';
+  SRepoUnknown             = 'RepositoryUnknown';
 
 
 
 
 Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
 Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
@@ -724,6 +726,13 @@ begin
     raise Exception.Create(SErrRepositoryNotAssigned);
     raise Exception.Create(SErrRepositoryNotAssigned);
 end;
 end;
 
 
+Function TFPPackage.GetDebugName: string;
+begin
+  if Assigned(Repository) then
+    Result:=Repository.RepositoryName+'-'+Name
+  else
+    Result:=SRepoUnknown+'-'+Name;
+end;
 
 
 { TFPPackages }
 { TFPPackages }
 
 

+ 5 - 1
packages/fppkg/src/pkgcommands.pp

@@ -423,7 +423,11 @@ begin
       case InstallRepo.DefaultPackagesStructure.IsInstallationNeeded(AvailPackage) of
       case InstallRepo.DefaultPackagesStructure.IsInstallationNeeded(AvailPackage) of
         fpinInstallationNeeded:
         fpinInstallationNeeded:
           begin
           begin
-            log(llDebug,SDbgPackageInstallRequired,[AvailPackage.Repository.RepositoryName+'-'+PackageName, InstallRepo.RepositoryName]);
+            if Assigned(AvailPackage) then
+              S := AvailPackage.GetDebugName
+            else
+              S := PackageName;
+            log(llDebug,SDbgPackageInstallRequired,[S, InstallRepo.RepositoryName]);
             ExecuteAction(PackageName,'fpmakeinstall');
             ExecuteAction(PackageName,'fpmakeinstall');
           end;
           end;
         fpinInstallationImpossible:
         fpinInstallationImpossible: