summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/apt-ftparchive.1.xml27
-rw-r--r--ftparchive/apt-ftparchive.cc11
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();