Browse Source

* check dependencies for os and cpu
* versions changed to major.minor.micro-build
* renamed avail,allavail to showavail,showall

git-svn-id: trunk@10220 -

peter 17 years ago
parent
commit
e2e1321f04

File diff suppressed because it is too large
+ 346 - 347
utils/fppkg/fpmkunitsrc.inc


+ 35 - 31
utils/fppkg/fprepos.pp

@@ -41,14 +41,19 @@ Type
   );
   );
   TOSes = Set of TOS;
   TOSes = Set of TOS;
 
 
+const
+  AllOSes = [Low(TOS)..High(TOS)];
+  AllCPUs = [Low(TCPU)..High(TCPU)];
+
+type
   { TFPVersion }
   { TFPVersion }
 
 
   TFPVersion = Class(TPersistent)
   TFPVersion = Class(TPersistent)
   private
   private
-    FMajor: Word;
-    FMinor: Word;
-    FRelease: Word;
-    FSuffix: string;
+    FMajor,
+    FMinor,
+    FMicro,
+    FBuild    : Word;
     function GetAsString: String;
     function GetAsString: String;
     function GetEmpty: Boolean;
     function GetEmpty: Boolean;
     procedure SetAsString(const AValue: String);
     procedure SetAsString(const AValue: String);
@@ -60,16 +65,18 @@ Type
    Function SameVersion(AVersion : TFPVersion) : Boolean;
    Function SameVersion(AVersion : TFPVersion) : Boolean;
    Property Empty : Boolean Read GetEmpty;
    Property Empty : Boolean Read GetEmpty;
   Published
   Published
-   Property Release : Word Read FRelease Write FRelease;
    Property Major : Word Read FMajor Write FMajor;
    Property Major : Word Read FMajor Write FMajor;
    Property Minor : Word Read FMinor Write FMinor;
    Property Minor : Word Read FMinor Write FMinor;
-   Property Suffix : string Read FSuffix Write FSuffix;
+   Property Micro : Word Read FMicro Write FMicro;
+   Property Build : Word Read FBuild Write FBuild;
   end;
   end;
 
 
   { TFPDependency }
   { TFPDependency }
 
 
   TFPDependency = Class(TStreamCollectionItem)
   TFPDependency = Class(TStreamCollectionItem)
   private
   private
+    FOSes : TOSES;
+    FCPUs : TCPUS;
     FMinVersion: TFPVersion;
     FMinVersion: TFPVersion;
     FPackageName: String;
     FPackageName: String;
     procedure SetMinVersion(const AValue: TFPVersion);
     procedure SetMinVersion(const AValue: TFPVersion);
@@ -82,6 +89,8 @@ Type
   Published
   Published
     Property PackageName : String Read FPackageName Write FPackageName;
     Property PackageName : String Read FPackageName Write FPackageName;
     Property MinVersion : TFPVersion Read FMinVersion Write SetMinVersion;
     Property MinVersion : TFPVersion Read FMinVersion Write SetMinVersion;
+    Property OSes : TOSes Read FOSes Write FOses;
+    Property CPUs : TCPUs Read FCPUs Write FCPUs;
   end;
   end;
 
 
   { TFPDepencencies }
   { TFPDepencencies }
@@ -376,16 +385,12 @@ begin
   if Empty then
   if Empty then
     Result:='<none>'
     Result:='<none>'
   else
   else
-    begin
-      Result:=Format('%d.%d.%d',[Release,Major,Minor]);
-      If (Suffix<>'') then
-        Result:=Result+'-'+Suffix;
-    end;
+    Result:=Format('%d.%d.%d-%d',[Major,Minor,Micro,Build]);
 end;
 end;
 
 
 function TFPVersion.GetEmpty: Boolean;
 function TFPVersion.GetEmpty: Boolean;
 begin
 begin
-  Result:=(Release=0) and (Major=0) and (Minor=0) and (Suffix='');
+  Result:=(Major=0) and (Minor=0) and (Micro=0) and (Build=0);
 end;
 end;
 
 
 procedure TFPVersion.SetAsString(const AValue: String);
 procedure TFPVersion.SetAsString(const AValue: String);
@@ -407,30 +412,25 @@ procedure TFPVersion.SetAsString(const AValue: String);
   end;
   end;
 
 
 Var
 Var
-  P : Integer;
   V : String;
   V : String;
-
 begin
 begin
   Clear;
   Clear;
   // Special support for empty version string
   // Special support for empty version string
   if (AValue='') or (AValue='<none>') then
   if (AValue='') or (AValue='<none>') then
     exit;
     exit;
   V:=AValue;
   V:=AValue;
-  Release:=NextDigit('.',V);
   Major:=NextDigit('.',V);
   Major:=NextDigit('.',V);
-  Minor:=NextDigit('-',V);
-  P:=Pos('-',V);
-  If (P<>0) then
-    Delete(V,1,P);
-  Suffix:=V;
+  Minor:=NextDigit('.',V);
+  Micro:=NextDigit('-',V);
+  Build:=NextDigit(#0,V);
 end;
 end;
 
 
 procedure TFPVersion.Clear;
 procedure TFPVersion.Clear;
 begin
 begin
-  Release:=0;
+  Micro:=0;
   Major:=0;
   Major:=0;
   Minor:=0;
   Minor:=0;
-  Suffix:='';
+  Build:=0;
 end;
 end;
 
 
 procedure TFPVersion.Assign(Source: TPersistent);
 procedure TFPVersion.Assign(Source: TPersistent);
@@ -442,10 +442,10 @@ begin
   if Source is TFPVersion then
   if Source is TFPVersion then
     begin
     begin
     V:=Source as TFPVersion;
     V:=Source as TFPVersion;
-    Release:=V.Release;
     Major:=V.Major;
     Major:=V.Major;
     Minor:=V.Minor;
     Minor:=V.Minor;
-    Suffix:=V.Suffix;
+    Micro:=V.Micro;
+    Build:=V.Build;
     end
     end
   else
   else
     inherited Assign(Source);
     inherited Assign(Source);
@@ -453,16 +453,16 @@ end;
 
 
 function TFPVersion.CompareVersion(AVersion: TFPVersion): Integer;
 function TFPVersion.CompareVersion(AVersion: TFPVersion): Integer;
 begin
 begin
-  Result:=Release-AVersion.Release;
+  Result:=Major-AVersion.Major;
   If (Result=0) then
   If (Result=0) then
     begin
     begin
-    Result:=Major-AVersion.Major;
-    if (Result=0) then
-      begin
       Result:=Minor-AVersion.Minor;
       Result:=Minor-AVersion.Minor;
-      If (Result=0) then
-        Result:=CompareText(Suffix,AVersion.Suffix);
-      end;
+      if (Result=0) then
+        begin
+          Result:=Micro-AVersion.Micro;
+          If (Result=0) then
+            Result:=Build-AVersion.Build;
+        end;
     end;
     end;
 end;
 end;
 
 
@@ -490,6 +490,8 @@ begin
   inherited Create(ACollection);
   inherited Create(ACollection);
   FVersion:=TFPVersion.Create;
   FVersion:=TFPVersion.Create;
   FInstalledVersion:=TFPVersion.Create;
   FInstalledVersion:=TFPVersion.Create;
+  FOSes:=AllOSes;
+  FCPUs:=AllCPUs;
 end;
 end;
 
 
 
 
@@ -1009,6 +1011,8 @@ constructor TFPDependency.Create(ACollection: TCollection);
 begin
 begin
   inherited Create(ACollection);
   inherited Create(ACollection);
   FMinVersion:=TFPVersion.Create;
   FMinVersion:=TFPVersion.Create;
+  FOSes:=AllOSes;
+  FCPUs:=AllCPUs;
 end;
 end;
 
 
 destructor TFPDependency.Destroy;
 destructor TFPDependency.Destroy;

+ 167 - 174
utils/fppkg/fpxmlrep.pp

@@ -53,6 +53,8 @@ Type
   Public
   Public
     // Saving
     // Saving
     Function VersionToXML(V : TFPVersion; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function VersionToXML(V : TFPVersion; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
+    function OSesToXML(OSes:TOSes; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement; virtual;
+    function CPUsToXML(CPUs:TCPUs; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement; virtual;
     Function DependencyToXML(D : TFPDependency; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function DependencyToXML(D : TFPDependency; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function DependenciesToXML(DS : TFPDependencies; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function DependenciesToXML(DS : TFPDependencies; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function PackageToXML(P : TFPPackage; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
     Function PackageToXML(P : TFPPackage; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement; virtual;
@@ -134,16 +136,14 @@ Const
   SAttrName         = 'name';
   SAttrName         = 'name';
   SAttrPackageName  = 'packagename';
   SAttrPackageName  = 'packagename';
   SAttrMinVersion   = 'minversion';
   SAttrMinVersion   = 'minversion';
-  SAttrRelease      = 'release';
   SAttrMajor        = 'major';
   SAttrMajor        = 'major';
   SAttrMinor        = 'minor';
   SAttrMinor        = 'minor';
-  SAttrSuffix       = 'suffix';
+  SAttrMicro        = 'micro';
+  SAttrBuild        = 'build';
 
 
 ResourceString
 ResourceString
   SErrInvalidXMLDocument = 'Wrong root tag in XML document. Expected "%s", got "%s".';
   SErrInvalidXMLDocument = 'Wrong root tag in XML document. Expected "%s", got "%s".';
-  SErrUnknownPackageNode = 'Unknown XML tag ("%s") encountered while reading package "%s".';
-  SErrInvalidDependencyXML = 'Invalid XMl encountered when reading dependency.';
-  SErrUnknownMirrorNode = 'Unknown XML tag ("%s") encountered while reading mirror "%s".';
+  SErrUnknownNode = 'Unknown XML tag ("%s") encountered while reading %s "%s".';
 
 
 
 
 {****************************************************************************
 {****************************************************************************
@@ -151,7 +151,6 @@ ResourceString
 ****************************************************************************}
 ****************************************************************************}
 
 
 function TFPXMLHandler.AddTextNode(Const NodeName,NodeContent : String; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement;
 function TFPXMLHandler.AddTextNode(Const NodeName,NodeContent : String; XML : TXMLDocument; Parent : TDomNode_WithChildren) : TDomElement;
-
 begin
 begin
   Result:=XML.CreateElement(NodeName);
   Result:=XML.CreateElement(NodeName);
   Try
   Try
@@ -165,8 +164,8 @@ begin
   end;
   end;
 end;
 end;
 
 
-function TFPXMLHandler.GetNextElement(Start: TDomNode): TDomElement;
 
 
+function TFPXMLHandler.GetNextElement(Start: TDomNode): TDomElement;
 begin
 begin
   Result:=Nil;
   Result:=Nil;
   While (Start<>Nil) and (Start.NodeType<>ELEMENT_NODE) do
   While (Start<>Nil) and (Start.NodeType<>ELEMENT_NODE) do
@@ -175,25 +174,25 @@ begin
     Result:=Start as TDomElement;
     Result:=Start as TDomElement;
 end;
 end;
 
 
+
 function TFPXMLHandler.FindNextElement(Start: TDomNode; NodeName: String): TDomElement;
 function TFPXMLHandler.FindNextElement(Start: TDomNode; NodeName: String): TDomElement;
 begin
 begin
   Result:=GetNextElement(Start);
   Result:=GetNextElement(Start);
   While (Result<>Nil) and (Result.NodeName<>NodeName) do
   While (Result<>Nil) and (Result.NodeName<>NodeName) do
-    Result:=GetNextElement(Result);
+    Result:=GetNextElement(Result.NextSibling);
 end;
 end;
 
 
-procedure TFPXMLHandler.CheckNodeType(E : TDomElement; NodeName : String);
 
 
+procedure TFPXMLHandler.CheckNodeType(E : TDomElement; NodeName : String);
 begin
 begin
   If (E.NodeName<>NodeName) then
   If (E.NodeName<>NodeName) then
     Raise EXMLPackage.CreateFmt(SErrInvalidXMLDocument,[NodeName,E.NodeName]);
     Raise EXMLPackage.CreateFmt(SErrInvalidXMLDocument,[NodeName,E.NodeName]);
 end;
 end;
 
 
-Function TFPXMLHandler.NodeText(E : TDomElement) : String;
 
 
+Function TFPXMLHandler.NodeText(E : TDomElement) : String;
 Var
 Var
   N : TDomNode;
   N : TDomNode;
-
 begin
 begin
   N:=E.FirstChild;
   N:=E.FirstChild;
   While (N<>Nil) and (N.NodeType<>TEXT_NODE) do
   While (N<>Nil) and (N.NodeType<>TEXT_NODE) do
@@ -207,18 +206,17 @@ end;
                         TFPXMLRepositoryHandler
                         TFPXMLRepositoryHandler
 ****************************************************************************}
 ****************************************************************************}
 
 
-function TFPXMLRepositoryHandler.VersionToXML(V : TFPVersion;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
+function TFPXMLRepositoryHandler.VersionToXML(V : TFPVersion; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 begin
 begin
   Result:=XML.CreateElement(SNodeVersion);
   Result:=XML.CreateElement(SNodeVersion);
   try
   try
     If Not Assigned(Parent) then
     If Not Assigned(Parent) then
       Parent:=XML;
       Parent:=XML;
     Parent.AppendChild(Result);
     Parent.AppendChild(Result);
-    Result[SAttrRelease]:=IntToStr(V.Release);
     Result[SAttrMajor]:=IntToStr(V.Major);
     Result[SAttrMajor]:=IntToStr(V.Major);
     Result[SAttrMinor]:=IntToStr(V.Minor);
     Result[SAttrMinor]:=IntToStr(V.Minor);
-    Result[SAttrSuffix]:=V.Suffix;
+    Result[SAttrMicro]:=IntToStr(V.Micro);
+    Result[SAttrBuild]:=IntToStr(V.Build);
   except
   except
     Parent.RemoveChild(Result);
     Parent.RemoveChild(Result);
     Result.Free;
     Result.Free;
@@ -226,12 +224,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-function TFPXMLRepositoryHandler.DependencyToXML(D: TFPDependency;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 
 
+function TFPXMLRepositoryHandler.DependencyToXML(D: TFPDependency; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 Var
 Var
   E : TDOMElement;
   E : TDOMElement;
-
 begin
 begin
   Result:=XML.CreateElement(SNodeDependency);
   Result:=XML.CreateElement(SNodeDependency);
   Try
   Try
@@ -240,9 +236,13 @@ begin
     Parent.AppendChild(Result);
     Parent.AppendChild(Result);
     E:=XML.CreateElement(SNodePackage);
     E:=XML.CreateElement(SNodePackage);
     E[SAttrPackageName]:=D.PackageName;
     E[SAttrPackageName]:=D.PackageName;
-    If Not D.MinVersion.Empty then
-      E[SAttrMinVersion]:=D.MinVersion.AsString;
     Result.AppendChild(E);
     Result.AppendChild(E);
+    if not D.MinVersion.Empty then
+      VersionToXML(D.MinVersion,XML,Result);
+    if D.OSes<>AllOSes then
+      OSesToXML(D.OSes,XML,Result);
+    if D.CPUs<>AllCPUs then
+      CPUsToXML(D.CPUs,XML,Result);
   Except
   Except
     Parent.RemoveChild(Result);
     Parent.RemoveChild(Result);
     Result.Free;
     Result.Free;
@@ -250,12 +250,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-function TFPXMLRepositoryHandler.DependenciesToXML(DS: TFPDependencies;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 
 
+function TFPXMLRepositoryHandler.DependenciesToXML(DS: TFPDependencies; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 Var
 Var
   I : Integer;
   I : Integer;
-
 begin
 begin
   If (DS.Count>0) then
   If (DS.Count>0) then
     begin
     begin
@@ -274,14 +272,42 @@ begin
     end;
     end;
 end;
 end;
 
 
-function TFPXMLRepositoryHandler.PackageToXML(P: TFPPackage;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 
 
+function TFPXMLRepositoryHandler.OSesToXML(OSes:TOSes; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 Var
 Var
-  E,ES : TDomElement;
+  ES : TDomElement;
   O : TOS;
   O : TOS;
+begin
+  Result:=XML.CreateElement(SNodeOSes);
+  Parent.AppendChild(Result);
+  For O:=Low(TOS) to High(TOS) do
+    If (O in OSes) then
+      begin
+        ES:=XML.CreateElement(SNodeOS);
+        ES[SAttrName]:=GetEnumName(TypeInfo(TOS),Ord(O));
+        Result.AppendChild(ES);
+      end;
+end;
+
+
+function TFPXMLRepositoryHandler.CPUsToXML(CPUs:TCPUs; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
+Var
+  ES : TDomElement;
   C : TCPU;
   C : TCPU;
+begin
+  Result:=XML.CreateElement(SNodeCPUs);
+  Parent.AppendChild(Result);
+  For C:=Low(TCPU) to High(TCPU) do
+    If (C in CPUs) then
+      begin
+        ES:=XML.CreateElement(SNodeCPU);
+        ES[SAttrName]:=GetEnumName(TypeInfo(TCPU),Ord(C));
+        Result.AppendChild(ES);
+      end;
+end;
+
 
 
+function TFPXMLRepositoryHandler.PackageToXML(P: TFPPackage; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 begin
 begin
   Result:=XML.CreateElement(SNodePackage);
   Result:=XML.CreateElement(SNodePackage);
   Try
   Try
@@ -297,26 +323,10 @@ begin
     AddTextNode(SNodeEmail,P.Email,XML,Result);
     AddTextNode(SNodeEmail,P.Email,XML,Result);
     AddTextNode(SNodeDescription,P.Description,XML,Result);
     AddTextNode(SNodeDescription,P.Description,XML,Result);
     AddTextNode(SNodeLicense,P.License,XML,Result);
     AddTextNode(SNodeLicense,P.License,XML,Result);
-    // OSes
-    E:=XML.CreateElement(SNodeOSes);
-    Result.AppendChild(E);
-    For O:=Low(TOS) to High(TOS) do
-      If (O in P.OSes) then
-        begin
-        ES:=XML.CreateElement(SNodeOS);
-        ES[SAttrName]:=GetEnumName(TypeInfo(TOS),Ord(O));
-        E.AppendChild(ES);
-        end;
-    // CPUs
-    E:=XML.CreateElement(SNodeCPUs);
-    Result.AppendChild(E);
-    For C:=Low(TCPU) to High(TCPU) do
-      If (C in P.CPUS) then
-        begin
-        ES:=XML.CreateElement(SNodeCPU);
-        ES[SAttrName]:=GetEnumName(TypeInfo(TCPU),Ord(C));
-        E.AppendChild(ES);
-        end;
+    if P.OSes<>AllOSes then
+      OSesToXML(P.OSes,XML,Result);
+    if P.CPUs<>AllCPUs then
+      CPUsToXML(P.CPUs,XML,Result);
     If P.HasDependencies then
     If P.HasDependencies then
       DependenciesToXML(P.Dependencies,XML,Result);
       DependenciesToXML(P.Dependencies,XML,Result);
   Except
   Except
@@ -326,12 +336,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-function TFPXMLRepositoryHandler.PackagesToXML(PS: TFPPackages;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 
 
+function TFPXMLRepositoryHandler.PackagesToXML(PS: TFPPackages; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 Var
 Var
   I : Integer;
   I : Integer;
-
 begin
 begin
   Result:=XML.CreateElement(SNodePackages);
   Result:=XML.CreateElement(SNodePackages);
   Try
   Try
@@ -348,13 +356,10 @@ begin
 end;
 end;
 
 
 
 
-function TFPXMLRepositoryHandler.RepositoryToXML(R: TFPRepository;
-  XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
-
+function TFPXMLRepositoryHandler.RepositoryToXML(R: TFPRepository; XML: TXMLDocument; Parent : TDomNode_WithChildren): TDomElement;
 Var
 Var
   I : Integer;
   I : Integer;
   P : TDomElement;
   P : TDomElement;
-
 begin
 begin
   Result:=XML.CreateElement(sNodeRepository);
   Result:=XML.CreateElement(sNodeRepository);
   Try
   Try
@@ -381,11 +386,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(D: TFPDependency; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(D: TFPDependency; Stream: TStream);
 Var
 Var
   X : TXMLDocument;
   X : TXMLDocument;
-
 begin
 begin
   X:=TXMLDocument.Create;
   X:=TXMLDocument.Create;
   Try
   Try
@@ -396,11 +400,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(DS: TFPDependencies; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(DS: TFPDependencies; Stream: TStream);
 Var
 Var
   D : TXMLDocument;
   D : TXMLDocument;
-
 begin
 begin
   D:=TXMLDocument.Create;
   D:=TXMLDocument.Create;
   Try
   Try
@@ -411,11 +414,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(P: TFPPackage; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(P: TFPPackage; Stream: TStream);
 Var
 Var
   D : TXMLDocument;
   D : TXMLDocument;
-
 begin
 begin
   D:=TXMLDocument.Create;
   D:=TXMLDocument.Create;
   Try
   Try
@@ -426,11 +428,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(PS: TFPPackages; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(PS: TFPPackages; Stream: TStream);
 Var
 Var
   D : TXMLDocument;
   D : TXMLDocument;
-
 begin
 begin
   D:=TXMLDocument.Create;
   D:=TXMLDocument.Create;
   Try
   Try
@@ -441,11 +442,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(R: TFPRepository; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(R: TFPRepository; Stream: TStream);
 Var
 Var
   D : TXMLDocument;
   D : TXMLDocument;
-
 begin
 begin
   D:=TXMLDocument.Create;
   D:=TXMLDocument.Create;
   Try
   Try
@@ -456,11 +456,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(D: TFPDependency; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(D: TFPDependency; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmCreate);
   F:=TFileStream.Create(FileName,fmCreate);
   try
   try
@@ -470,11 +469,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(DS: TFPDependencies; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(DS: TFPDependencies; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmCreate);
   F:=TFileStream.Create(FileName,fmCreate);
   try
   try
@@ -484,11 +482,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(P: TFPPackage; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(P: TFPPackage; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmCreate);
   F:=TFileStream.Create(FileName,fmCreate);
   try
   try
@@ -498,11 +495,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(PS: TFPPackages; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(PS: TFPPackages; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmCreate);
   F:=TFileStream.Create(FileName,fmCreate);
   try
   try
@@ -512,11 +508,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.SaveToXml(R: TFPRepository; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.SaveToXml(R: TFPRepository; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmCreate);
   F:=TFileStream.Create(FileName,fmCreate);
   try
   try
@@ -526,77 +521,90 @@ begin
   end;
   end;
 end;
 end;
 
 
+
 procedure TFPXMLRepositoryHandler.XMLToVersion(E: TDomElement; V: TFPVersion);
 procedure TFPXMLRepositoryHandler.XMLToVersion(E: TDomElement; V: TFPVersion);
 begin
 begin
   CheckNodeType(E,SNodeVersion);
   CheckNodeType(E,SNodeVersion);
   DoXMLToVersion(E,V);
   DoXMLToVersion(E,V);
 end;
 end;
 
 
+
 procedure TFPXMLRepositoryHandler.DoXMLToVersion(E: TDomElement; V: TFPVersion);
 procedure TFPXMLRepositoryHandler.DoXMLToVersion(E: TDomElement; V: TFPVersion);
 begin
 begin
-  V.Release:=Abs(StrToIntDef(E[SAttrRelease],0));
   V.Major:=Abs(StrToIntDef(E[SAttrMajor],0));
   V.Major:=Abs(StrToIntDef(E[SAttrMajor],0));
   V.Minor:=Abs(StrToIntDef(E[SAttrMinor],0));
   V.Minor:=Abs(StrToIntDef(E[SAttrMinor],0));
-  V.Suffix:=E[SAttrSuffix];
+  V.Micro:=Abs(StrToIntDef(E[SAttrMicro],0));
+  V.Build:=Abs(StrToIntDef(E[SAttrBuild],0));
 end;
 end;
 
 
+
 procedure TFPXMLRepositoryHandler.XMLToDependency(E: TDomElement; D: TFPDependency);
 procedure TFPXMLRepositoryHandler.XMLToDependency(E: TDomElement; D: TFPDependency);
 begin
 begin
   CheckNodeType(E,SNodeDependency);
   CheckNodeType(E,SNodeDependency);
   DoXMLToDependency(E,D);
   DoXMLToDependency(E,D);
 end;
 end;
 
 
+
 procedure TFPXMLRepositoryHandler.DoXMLToDependency(E: TDomElement; D: TFPDependency);
 procedure TFPXMLRepositoryHandler.DoXMLToDependency(E: TDomElement; D: TFPDependency);
+var
+  N : TDomElement;
 begin
 begin
-  E:=FindNextElement(E.FirstChild,SNodePackage);
-  If (E=Nil) then
-    Raise EXMLpackage.Create(SErrInvalidDependencyXML);
-  D.PackageName:=E[SAttrPackageName];
-  D.MinVersion.AsString:=E[SAttrMinVersion];
+  N:=GetNextElement(E.FirstChild);
+  While (N<>Nil) do
+    begin
+      if (N.NodeName=sNodePackage) then
+        D.PackageName:=N[SAttrPackageName]
+      else if (N.NodeName=sNodeVersion) then
+        DoXMlToVersion(N,D.MinVersion)
+      else if (N.NodeName=sNodeOSes) then
+        D.OSes:=DoXMLToOSes(N)
+      else if (N.NodeName=sNodeCPUS) then
+        D.CPUs:=DoXMLToCPUs(N)
+      else if Not IgnoreUnknownNodes then
+        Raise EXMLPackage.CreateFmt(SErrUnknownNode,[N.NodeName,sNodeDependency,'']);
+      N:=GetNextElement(N.NextSibling);
+    end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.XMLToDependencies(E: TDomElement; DS: TFPDependencies);
 
 
+procedure TFPXMLRepositoryHandler.XMLToDependencies(E: TDomElement; DS: TFPDependencies);
 begin
 begin
   CheckNodeType(E,SNodeDependencies);
   CheckNodeType(E,SNodeDependencies);
   DoXMLToDependencies(E,DS)
   DoXMLToDependencies(E,DS)
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.DoXMLToDependencies(E: TDomElement;
-  DS: TFPDependencies);
 
 
+procedure TFPXMLRepositoryHandler.DoXMLToDependencies(E: TDomElement; DS: TFPDependencies);
 Var
 Var
   DN : TDomElement;
   DN : TDomElement;
   D : TFPDependency;
   D : TFPDependency;
-
 begin
 begin
   DN:=FindNextElement(E.FirstChild,SNodeDependency);
   DN:=FindNextElement(E.FirstChild,SNodeDependency);
   While (DN<>Nil) do
   While (DN<>Nil) do
     begin
     begin
-    D:=DS.AddDependency('','');
-    Try
-      DoXMLToDependency(DN,D);
-    except
-      D.Free;
-      Raise;
-    end;
-    DN:=FindNextElement(DN.NextSibling,SNodeDependency);
+      D:=DS.AddDependency('','');
+      Try
+        DoXMLToDependency(DN,D);
+      except
+        D.Free;
+        Raise;
+      end;
+      DN:=FindNextElement(DN.NextSibling,SNodeDependency);
     end;
     end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.XMLToPackage(E: TDomElement; P: TFPPackage);
 
 
+procedure TFPXMLRepositoryHandler.XMLToPackage(E: TDomElement; P: TFPPackage);
 begin
 begin
   CheckNodeType(E,sNodePackage);
   CheckNodeType(E,sNodePackage);
   DoXMLToPackage(E,P);
   DoXMLToPackage(E,P);
 end;
 end;
 
 
-Function TFPXMLRepositoryHandler.DoXMLToOSes(N : TDomElement) : TOSes;
 
 
+Function TFPXMLRepositoryHandler.DoXMLToOSes(N : TDomElement) : TOSes;
 Var
 Var
   E : TDomElement;
   E : TDomElement;
   J : Integer;
   J : Integer;
-
 begin
 begin
   Result:=[];
   Result:=[];
   E:=FindNextElement(N.FirstChild,SNodeOS);
   E:=FindNextElement(N.FirstChild,SNodeOS);
@@ -609,125 +617,120 @@ begin
     end;
     end;
 end;
 end;
 
 
-Function TFPXMLRepositoryHandler.DoXMLToCPUs(N : TDomElement) : TCPUS;
 
 
+Function TFPXMLRepositoryHandler.DoXMLToCPUs(N : TDomElement) : TCPUS;
 Var
 Var
   E : TDomElement;
   E : TDomElement;
   J : Integer;
   J : Integer;
-
 begin
 begin
   Result:=[];
   Result:=[];
   E:=FindNextElement(N.FirstChild,SNodeCPU);
   E:=FindNextElement(N.FirstChild,SNodeCPU);
   While (E<>Nil) do
   While (E<>Nil) do
     begin
     begin
-    J:=GetEnumValue(TypeInfo(TCPU),E[SAttrName]);
-    If (J<>-1) then
-      Include(Result,TCPU(J));
-    E:=FindNextElement(E.NextSibling,SNodeCPU);
+      J:=GetEnumValue(TypeInfo(TCPU),E[SAttrName]);
+      If (J<>-1) then
+        Include(Result,TCPU(J));
+      E:=FindNextElement(E.NextSibling,SNodeCPU);
     end;
     end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.DoXMLToPackage(E: TDomElement; P: TFPPackage);
 
 
+procedure TFPXMLRepositoryHandler.DoXMLToPackage(E: TDomElement; P: TFPPackage);
 Var
 Var
   N : TDomElement;
   N : TDomElement;
-
 begin
 begin
   P.Name:=E[sAttrName];
   P.Name:=E[sAttrName];
   N:=GetNextElement(E.FirstChild);
   N:=GetNextElement(E.FirstChild);
   While (N<>Nil) do
   While (N<>Nil) do
     begin
     begin
-    if (N.NodeName=sNodeAuthor) then
-      P.Author:=NodeText(N)
-    else if (N.NodeName=sNodeExternalURL) then
-      P.ExternalURL:=NodeText(N)
-    else if (N.NodeName=sNodeFileName) then
-      P.FileName:=NodeText(N)
-    else if (N.NodeName=sNodeEmail) then
-      P.Email:=NodeText(N)
-    else if (N.NodeName=sNodeDescription) then
-      P.Description:=NodeText(N)
-    else if (N.NodeName=sNodeLicense) then
-      P.License:=NodeText(N)
-    else if (N.NodeName=sNodeVersion) then
-      DoXMlToVersion(N,P.Version)
-    else if (N.NodeName=sNodeOSes) then
-      P.OSes:=DoXMLToOSes(N)
-    else if (N.NodeName=sNodeCPUS) then
-      P.CPUs:=DoXMLToCPUs(N)
-    else if (N.NodeName=sNodeDependencies) then
-      DoXMlToDependencies(N,P.Dependencies)
-    else if Not IgnoreUnknownNodes then
-      Raise EXMLPackage.CreateFmt(SErrUnknownPackageNode,[N.NodeName,P.Name]);
-    N:=GetNextElement(N.NextSibling);
+      if (N.NodeName=sNodeAuthor) then
+        P.Author:=NodeText(N)
+      else if (N.NodeName=sNodeExternalURL) then
+        P.ExternalURL:=NodeText(N)
+      else if (N.NodeName=sNodeFileName) then
+        P.FileName:=NodeText(N)
+      else if (N.NodeName=sNodeEmail) then
+        P.Email:=NodeText(N)
+      else if (N.NodeName=sNodeDescription) then
+        P.Description:=NodeText(N)
+      else if (N.NodeName=sNodeLicense) then
+        P.License:=NodeText(N)
+      else if (N.NodeName=sNodeVersion) then
+        DoXMlToVersion(N,P.Version)
+      else if (N.NodeName=sNodeOSes) then
+        P.OSes:=DoXMLToOSes(N)
+      else if (N.NodeName=sNodeCPUS) then
+        P.CPUs:=DoXMLToCPUs(N)
+      else if (N.NodeName=sNodeDependencies) then
+        DoXMlToDependencies(N,P.Dependencies)
+      else if Not IgnoreUnknownNodes then
+        Raise EXMLPackage.CreateFmt(SErrUnknownNode,[N.NodeName,sNodePackage,P.Name]);
+      N:=GetNextElement(N.NextSibling);
     end;
     end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.XMLToPackages(E: TDomElement; PS: TFPPackages);
 
 
+procedure TFPXMLRepositoryHandler.XMLToPackages(E: TDomElement; PS: TFPPackages);
 begin
 begin
   CheckNodeType(E,SNodePackages);
   CheckNodeType(E,SNodePackages);
   DoXMLToPackages(E,PS);
   DoXMLToPackages(E,PS);
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.DoXMLToPackages(E: TDomElement; PS: TFPPackages);
 
 
+procedure TFPXMLRepositoryHandler.DoXMLToPackages(E: TDomElement; PS: TFPPackages);
 Var
 Var
   PN : TDomElement;
   PN : TDomElement;
   P : TFPPackage;
   P : TFPPackage;
-
 begin
 begin
   PN:=FindNextElement(E.FirstChild,SNodePackage);
   PN:=FindNextElement(E.FirstChild,SNodePackage);
   While (PN<>Nil) do
   While (PN<>Nil) do
     begin
     begin
-    P:=PS.AddPackage('');
-    try
-      DoXMLToPackage(PN,P);
-    except
-      P.Free;
-      Raise;
-    end;
-    PN:=FindNextElement(PN.NextSibling,SNodePackage);
+      P:=PS.AddPackage('');
+      try
+        DoXMLToPackage(PN,P);
+      except
+        P.Free;
+        Raise;
+      end;
+      PN:=FindNextElement(PN.NextSibling,SNodePackage);
     end;
     end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.XMLToRepository(E: TDomElement; R: TFPRepository);
 
 
+procedure TFPXMLRepositoryHandler.XMLToRepository(E: TDomElement; R: TFPRepository);
 begin
 begin
   CheckNodeType(E,SNodeRepository);
   CheckNodeType(E,SNodeRepository);
   DoXMLToRepository(E,R);
   DoXMLToRepository(E,R);
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.DoXMLToRepository(E: TDomElement; R: TFPRepository);
 
 
+procedure TFPXMLRepositoryHandler.DoXMLToRepository(E: TDomElement; R: TFPRepository);
 Var
 Var
   PSN,PN : TDomElement;
   PSN,PN : TDomElement;
   P : TFPPackage;
   P : TFPPackage;
-
 begin
 begin
   PSN:=FindNextElement(E.FirstChild,SNodePackages);
   PSN:=FindNextElement(E.FirstChild,SNodePackages);
   If (PSN<>Nil) then
   If (PSN<>Nil) then
     begin
     begin
-    PN:=FindNextElement(PSN.FirstChild,SNodePackage);
-    While (PN<>Nil) do
-      begin
-      P:=R.AddPackage('');
-      try
-        DoXMLToPackage(PN,P);
-      except
-        P.Free;
-        Raise;
-      end;
-      PN:=FindNextElement(PN.NextSibling,SNodePackage);
-      end;
+      PN:=FindNextElement(PSN.FirstChild,SNodePackage);
+      While (PN<>Nil) do
+        begin
+          P:=R.AddPackage('');
+          try
+            DoXMLToPackage(PN,P);
+          except
+            P.Free;
+            Raise;
+          end;
+          PN:=FindNextElement(PN.NextSibling,SNodePackage);
+        end;
     end;
     end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(D: TFPDependency; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(D: TFPDependency; Stream: TStream);
 Var
 Var
   XML : TXMLDocument;
   XML : TXMLDocument;
-
 begin
 begin
   XML:=TXMLDocument.Create;
   XML:=TXMLDocument.Create;
   try
   try
@@ -738,12 +741,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(DS: TFPDependencies;
-  Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(DS: TFPDependencies; Stream: TStream);
 Var
 Var
   XML : TXMLDocument;
   XML : TXMLDocument;
-
 begin
 begin
   XML:=TXMLDocument.Create;
   XML:=TXMLDocument.Create;
   try
   try
@@ -754,11 +755,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(P: TFPPackage; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(P: TFPPackage; Stream: TStream);
 Var
 Var
   XML : TXMLDocument;
   XML : TXMLDocument;
-
 begin
 begin
   XML:=TXMLDocument.Create;
   XML:=TXMLDocument.Create;
   try
   try
@@ -769,11 +769,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(PS: TFPPackages; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(PS: TFPPackages; Stream: TStream);
 Var
 Var
   XML : TXMLDocument;
   XML : TXMLDocument;
-
 begin
 begin
   XML:=TXMLDocument.Create;
   XML:=TXMLDocument.Create;
   try
   try
@@ -784,11 +783,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(R: TFPRepository; Stream: TStream);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(R: TFPRepository; Stream: TStream);
 Var
 Var
   XML : TXMLDocument;
   XML : TXMLDocument;
-
 begin
 begin
   XML:=TXMLDocument.Create;
   XML:=TXMLDocument.Create;
   try
   try
@@ -799,11 +797,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(D: TFPDependency; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(D: TFPDependency; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmOpenRead);
   F:=TFileStream.Create(FileName,fmOpenRead);
   try
   try
@@ -813,11 +810,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(DS: TFPDependencies; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(DS: TFPDependencies; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmOpenRead);
   F:=TFileStream.Create(FileName,fmOpenRead);
   try
   try
@@ -827,11 +823,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(P: TFPPackage; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(P: TFPPackage; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmOpenRead);
   F:=TFileStream.Create(FileName,fmOpenRead);
   try
   try
@@ -841,11 +836,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(PS: TFPPackages; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(PS: TFPPackages; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmOpenRead);
   F:=TFileStream.Create(FileName,fmOpenRead);
   try
   try
@@ -855,11 +849,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFPXMLRepositoryHandler.LoadFromXml(R: TFPRepository; const FileName: String);
 
 
+procedure TFPXMLRepositoryHandler.LoadFromXml(R: TFPRepository; const FileName: String);
 Var
 Var
   F : TFileStream;
   F : TFileStream;
-
 begin
 begin
   F:=TFileStream.Create(FileName,fmOpenRead);
   F:=TFileStream.Create(FileName,fmOpenRead);
   try
   try
@@ -889,7 +882,7 @@ begin
       else if (N.NodeName=sNodeWeight) then
       else if (N.NodeName=sNodeWeight) then
         P.Weight:=StrToInt(NodeText(N))
         P.Weight:=StrToInt(NodeText(N))
       else if Not IgnoreUnknownNodes then
       else if Not IgnoreUnknownNodes then
-        Raise EXMLPackage.CreateFmt(SErrUnknownMirrorNode,[N.NodeName,P.Name]);
+        Raise EXMLPackage.CreateFmt(SErrUnknownNode,[N.NodeName,sNodeMirror,P.Name]);
       N:=GetNextElement(N.NextSibling);
       N:=GetNextElement(N.NextSibling);
     end;
     end;
 end;
 end;

+ 17 - 13
utils/fppkg/pkgcommands.pp

@@ -254,21 +254,25 @@ begin
   for i:=0 to CurrentPackage.Dependencies.Count-1 do
   for i:=0 to CurrentPackage.Dependencies.Count-1 do
     begin
     begin
       D:=CurrentPackage.Dependencies[i];
       D:=CurrentPackage.Dependencies[i];
-      DepPackage:=CurrentRepository.PackageByName(D.PackageName);
-      // Need installation?
-      if (DepPackage.InstalledVersion.Empty) or
-         (DepPackage.InstalledVersion.CompareVersion(D.MinVersion)<0) then
+      if (CompilerOptions.CompilerOS in D.OSes) and
+         (CompilerOptions.CompilerCPU in D.CPUs) then
         begin
         begin
-          if DepPackage.Version.CompareVersion(D.MinVersion)<0 then
-            status:='Not Available!'
+          DepPackage:=CurrentRepository.PackageByName(D.PackageName);
+          // Need installation?
+          if (DepPackage.InstalledVersion.Empty) or
+             (DepPackage.InstalledVersion.CompareVersion(D.MinVersion)<0) then
+            begin
+              if DepPackage.Version.CompareVersion(D.MinVersion)<0 then
+                status:='Not Available!'
+              else
+                status:='Updating';
+              L.Add(DepPackage.Name);
+            end
           else
           else
-            status:='Updating';
-          L.Add(DepPackage.Name);
-        end
-      else
-        status:='OK';
-      Log(vlDebug,SDbgPackageDependency,
-          [D.PackageName,D.MinVersion.AsString,DepPackage.InstalledVersion.AsString,DepPackage.Version.AsString,status]);
+            status:='OK';
+          Log(vlDebug,SDbgPackageDependency,
+              [D.PackageName,D.MinVersion.AsString,DepPackage.InstalledVersion.AsString,DepPackage.Version.AsString,status]);
+        end;
     end;
     end;
   // Install needed updates
   // Install needed updates
   for i:=0 to L.Count-1 do
   for i:=0 to L.Count-1 do

+ 8 - 0
utils/fppkg/pkgfpmake.pp

@@ -248,6 +248,14 @@ Var
 
 
 begin
 begin
   OOptions:='';
   OOptions:='';
+  // Does the current package support this CPU-OS?
+  if assigned(CurrentPackage) then
+    begin
+      if not(CompilerOptions.CompilerOS in CurrentPackage.OSes) or
+         not(CompilerOptions.CompilerCPU in CurrentPackage.CPUs) then
+        Error(SErrPackageDoesNotSupportTarget,[CurrentPackage.Name,
+            MakeTargetString(CompilerOptions.CompilerCPU,CompilerOptions.CompilerOS)]);
+    end;
   { Maybe compile fpmake executable? }
   { Maybe compile fpmake executable? }
   ExecuteAction(CurrentPackage,'compilefpmake');
   ExecuteAction(CurrentPackage,'compilefpmake');
   { Create options }
   { Create options }

+ 1 - 1
utils/fppkg/pkgmessages.pp

@@ -42,7 +42,7 @@ Resourcestring
   SErrConvertFPMakeExists    = 'Found existing fpmake.pp, aborting conversion';
   SErrConvertFPMakeExists    = 'Found existing fpmake.pp, aborting conversion';
   SErrFailedToSelectMirror   = 'Could not select a mirror, run update and retry';
   SErrFailedToSelectMirror   = 'Could not select a mirror, run update and retry';
   SErrUnsupportedConfigVersion = 'Configuration file "%s" is too old, delete file manual and retry';
   SErrUnsupportedConfigVersion = 'Configuration file "%s" is too old, delete file manual and retry';
-
+  SErrPackageDoesNotSupportTarget = 'Package %s does not support %s';
   SErrHTTPGetFailed          = 'HTTP Download failed.';
   SErrHTTPGetFailed          = 'HTTP Download failed.';
   SErrLoginFailed            = 'FTP LOGIN command failed.';
   SErrLoginFailed            = 'FTP LOGIN command failed.';
   SErrCWDFailed              = 'FTP CWD "%s" command failed.';
   SErrCWDFailed              = 'FTP CWD "%s" command failed.';

Some files were not shown because too many files changed in this diff