diff options
-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(); |