diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2010-03-26 19:18:21 +0100 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2010-03-26 19:18:21 +0100 |
commit | 4e794c509becfd7e2bddfddc1205dc81397a48bd (patch) | |
tree | d5e97403df895502384d4d2cdaa107dac7e8172d | |
parent | 66905344357d03c206d99964a0d941b261f7146c (diff) |
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.
-rw-r--r-- | doc/apt-ftparchive.1.xml | 27 | ||||
-rw-r--r-- | ftparchive/apt-ftparchive.cc | 11 |
2 files changed, 32 insertions, 6 deletions
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 <filename>$(DIST)/$(SECTION)/source/Sources</filename></para></listitem> </varlistentry> - + + <varlistentry><term>Translation</term> + <listitem><para> + Set the output Translation-en master file with the long descriptions if they + should be not included in the Packages file. Defaults to + <filename>$(DIST)/$(SECTION)/i18n/Translation-en</filename></para></listitem> + </varlistentry> + + <varlistentry><term>LongDescription</term> + <listitem><para> + Sets if long descriptions should be included in the Packages file or split + out into a master Translation-en file.</para></listitem> + </varlistentry> + <varlistentry><term>InternalPrefix</term> <listitem><para> 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.</para></listitem> </varlistentry> - + + <varlistentry><term>LongDescription</term> + <listitem><para> + Sets if long descriptions should be included in the Packages file or split + out into a master Translation-en file.</para></listitem> + </varlistentry> + <varlistentry><term>BinOverride</term> <listitem><para> Sets the binary override file. The override file @@ -568,8 +587,8 @@ for i in Sections do <listitem><para> This configuration option defaults to "<literal>true</literal>" and should only be set to <literal>"false"</literal> if the Archive generated with &apt-ftparchive; also provides - <filename>Translation</filename> files. Note that it is currently not possible to create these - files with <command>apt-ftparchive</command>. + <filename>Translation</filename> files. Note that the <filename>Translation-en</filename> + master file can only be created in the generate command. </para></listitem> </varlistentry> 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<PackageMap>::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<PackageMap> &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<PackageMap> &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<PackageMap> &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(); |