--- apt-0.5.27/ftparchive/apt-ftparchive.cc.orig 2004-01-02 13:48:13.000000000 -0800 +++ apt-0.5.27/ftparchive/apt-ftparchive.cc 2004-08-10 19:36:03.000000000 -0700 @@ -46,6 +46,7 @@ { // General Stuff string BaseDir; + string AllDir; string InternalPrefix; string FLFile; string PkgExt; @@ -185,6 +186,9 @@ { if (Packages.RecursiveScan(flCombine(ArchiveDir,BaseDir)) == false) return false; + if (AllDir != "") + if (Packages.RecursiveScan(flCombine(ArchiveDir,AllDir)) == false) + return false; } else { @@ -433,6 +437,8 @@ "$(DIST)/$(SECTION)/binary-$(ARCH)/"); string DSDir = Setup.Find("TreeDefault::SrcDirectory", "$(DIST)/$(SECTION)/source/"); + string DADir = Setup.Find("TreeDefault::AllDirectory", + "$(DIST)/$(SECTION)/binary-all/"); string DPkg = Setup.Find("TreeDefault::Packages", "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages"); string DIPrfx = Setup.Find("TreeDefault::InternalPrefix", @@ -447,6 +453,9 @@ string DFLFile = Setup.Find("TreeDefault::FileList", ""); string DSFLFile = Setup.Find("TreeDefault::SourceFileList", ""); + // Whether to include binary-all in each binary-$(ARCH). + bool IncludeAll = Setup.FindB("TreeDefault::IncludeAll",false); + // Process 'tree' type sections const Configuration::Item *Top = Setup.Tree("tree"); for (Top = (Top == 0?0:Top->Child); Top != 0;) @@ -487,6 +496,8 @@ { Itm.BinCacheDB = SubstVar(Block.Find("BinCacheDB",DBCache.c_str()),Vars); Itm.BaseDir = SubstVar(Block.Find("Directory",DDir.c_str()),Vars); + if (Block.FindB("IncludeAll",IncludeAll)) + Itm.AllDir = SubstVar(Block.Find("AllDirectory",DADir.c_str()),Vars); Itm.PkgFile = SubstVar(Block.Find("Packages",DPkg.c_str()),Vars); Itm.Tag = SubstVar("$(DIST)/$(SECTION)/$(ARCH)",Vars); Itm.Contents = SubstVar(Block.Find("Contents",DContents.c_str()),Vars); --- apt-0.5.27/doc/apt-ftparchive.1.xml.orig 2004-03-11 10:17:08.000000000 -0800 +++ apt-0.5.27/doc/apt-ftparchive.1.xml 2004-08-10 19:56:53.000000000 -0700 @@ -263,6 +264,15 @@ .debs will be installed, requiring a new file anyhow. The default is 10, the units are in days. + + IncludeAll + + Determines whether all packages in + $(DIST)/$(SECTION)/binary-all/ should be + included in the Packages file for each + $(Dest)/$(SECTION)/binary-$(ARCH)/ directory at + the same level. Defaults to false. + Directory @@ -270,6 +280,15 @@ $(DIST)/$(SECTION)/binary-$(ARCH)/ + AllDirectory + + Sets the top of the architecture-independent package directory + tree, whose contents will be included in the Packages file for each + architecture in the same section if IncludeAll is + set. Defaults to + $(DIST)/$(SECTION)/binary-all/ + + SrcDirectory Sets the top of the source package directory tree. Defaults to