From: David Kalnischkies Date: Fri, 26 Mar 2010 18:18:21 +0000 (+0100) Subject: Inclusion of Long Descriptions in the Packages files can be set now X-Git-Tag: 0.8.0~9^2~64^2~11 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/4e794c509becfd7e2bddfddc1205dc81397a48bd Inclusion of Long Descriptions in the Packages files can be set now also in TreeDefaults and Tree to support generation of archives which should support and which shouldn't support splitted out Translation-en files in the same run. --- diff --git a/doc/apt-ftparchive.1.xml b/doc/apt-ftparchive.1.xml index f88dbe631..e639924ce 100644 --- a/doc/apt-ftparchive.1.xml +++ b/doc/apt-ftparchive.1.xml @@ -289,7 +289,20 @@ Sets the output Sources file. Defaults to $(DIST)/$(SECTION)/source/Sources - + + Translation + + Set the output Translation-en master file with the long descriptions if they + should be not included in the Packages file. Defaults to + $(DIST)/$(SECTION)/i18n/Translation-en + + + LongDescription + + Sets if long descriptions should be included in the Packages file or split + out into a master Translation-en file. + + InternalPrefix Sets the path prefix that causes a symlink to be @@ -371,7 +384,13 @@ for i in Sections do architectures that appear under search section. The special architecture 'source' is used to indicate that this tree has a source archive. - + + LongDescription + + Sets if long descriptions should be included in the Packages file or split + out into a master Translation-en file. + + BinOverride Sets the binary override file. The override file @@ -568,8 +587,8 @@ for i in Sections do This configuration option defaults to "true" and should only be set to "false" if the Archive generated with &apt-ftparchive; also provides - Translation files. Note that it is currently not possible to create these - files with apt-ftparchive. + Translation files. Note that the Translation-en + master file can only be created in the generate command. diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc index e69c88ddd..f3e91d90d 100644 --- a/ftparchive/apt-ftparchive.cc +++ b/ftparchive/apt-ftparchive.cc @@ -63,6 +63,7 @@ struct PackageMap string SrcExtraOverride; // Translation master file + bool LongDesc; TranslationWriter *TransWriter; // Contents @@ -103,7 +104,7 @@ struct PackageMap vector::iterator End, unsigned long &Left); - PackageMap() : TransWriter(NULL), DeLinkLimit(0), Permissions(1), + PackageMap() : LongDesc(true), TransWriter(NULL), DeLinkLimit(0), Permissions(1), ContentsDone(false), PkgDone(false), SrcDone(false), ContentsMTime(0) {}; }; @@ -174,6 +175,7 @@ bool PackageMap::GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats) Packages.InternalPrefix = flCombine(ArchiveDir,InternalPrefix); Packages.TransWriter = TransWriter; + Packages.LongDescription = LongDesc; Packages.Stats.DeLinkBytes = Stats.DeLinkBytes; Packages.DeLinkLimit = DeLinkLimit; @@ -456,6 +458,9 @@ void LoadTree(vector &PkgList,Configuration &Setup) string DFLFile = Setup.Find("TreeDefault::FileList", ""); string DSFLFile = Setup.Find("TreeDefault::SourceFileList", ""); + bool const LongDescription = Setup.FindB("TreeDefault::LongDescription", + _config->FindB("APT::FTPArchive::LongDescription", true)); + // Process 'tree' type sections const Configuration::Item *Top = Setup.Tree("tree"); for (Top = (Top == 0?0:Top->Child); Top != 0;) @@ -474,8 +479,9 @@ void LoadTree(vector &PkgList,Configuration &Setup) {"$(SECTION)",&Section}, {"$(ARCH)",&Arch}, {}}; + bool const LongDesc = Block.FindB("LongDescription", LongDescription); TranslationWriter *TransWriter; - if (DTrans.empty() == false) + if (DTrans.empty() == false && LongDesc == false) { string const TranslationFile = flCombine(Setup.FindDir("Dir::ArchiveDir"), SubstVar(Block.Find("Translation", DTrans.c_str()), Vars)); @@ -509,6 +515,7 @@ void LoadTree(vector &PkgList,Configuration &Setup) Itm.PkgFile = SubstVar(Block.Find("Packages",DPkg.c_str()),Vars); Itm.Tag = SubstVar("$(DIST)/$(SECTION)/$(ARCH)",Vars); Itm.Arch = Arch; + Itm.LongDesc = LongDesc; if (TransWriter != NULL) { TransWriter->IncreaseRefCounter();