diff --git a/ide/main.pp b/ide/main.pp index 27a3d37ea9..0d4b5d3efb 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -7883,6 +7883,8 @@ begin end; MainBuildBoss.SetBuildTargetIDE; + PackageGraph.ParseBasePackages; + // clean up PkgCompileFlags:=[]; if (not (blfDontClean in Flags)) diff --git a/packager/packagesystem.pas b/packager/packagesystem.pas index af5e9256b7..fd11377332 100644 --- a/packager/packagesystem.pas +++ b/packager/packagesystem.pas @@ -2378,6 +2378,13 @@ begin or IsStaticBasePackage(APackage.Name) or (APackage.PackageType in [lptRunTime,lptRunTimeOnly]) then continue; + + if FSrcBasePackages.IndexOf(APackage.Name)>0 then + begin + debugln(['Note: (lazarus) TLazPackageGraph.SaveAutoInstallConfig: omitting base package "',APackage.Name,'"']); + continue; + end; + StaticPackagesInc:=StaticPackagesInc +ExtractFileNameOnly(APackage.GetCompileSourceFilename) +','+LineEnding; @@ -5140,7 +5147,7 @@ begin if (Atom='') or (Atom=')') then break; if Atom[1]='''' then begin - PkgName:=copy(Atom,2,length(Atom)-1); + PkgName:=copy(Atom,2,length(Atom)-2); if IsValidPkgName(PkgName) then FSrcBasePackages.Add(PkgName); end; diff --git a/packager/pkgmanager.pas b/packager/pkgmanager.pas index a776715532..9ad5901fe0 100644 --- a/packager/pkgmanager.pas +++ b/packager/pkgmanager.pas @@ -5531,6 +5531,7 @@ begin PkgList:=nil; FPMakeList:=nil; try + PackageGraph.ParseBasePackages; // check if package is designtime package if APackage.PackageType in [lptRunTime,lptRunTimeOnly] then begin @@ -5703,6 +5704,8 @@ begin if Result<>mrOk then exit; end; + PackageGraph.ParseBasePackages; + // remove package from auto installed packages if APackage.AutoInstall<>pitNope then begin APackage.AutoInstall:=pitNope; @@ -5916,6 +5919,8 @@ begin NewFirstAutoInstallDependency:=nil; PkgList:=nil; try + PackageGraph.ParseBasePackages; + if not (piiifClear in Flags) then begin // add existing install packages to list