summaryrefslogtreecommitdiff
path: root/ftparchive/writer.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-12-18 17:08:45 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2009-12-18 17:08:45 +0100
commitb3bc1bd74cb5ed091c6a067d09dc49b165d6f873 (patch)
treec5b161ae69814276fde03de15939cd5e607a7b21 /ftparchive/writer.cc
parentb52da4cd38991881e0f456fb1976412886c564ee (diff)
parent8cf0b1e1a4eab0f78d86ba3dc4576b35ee46969b (diff)
* Merged from the mvo branch
* merged from the lp:~mvo/apt/history branch * Fix apt-ftparchive(1) wrt description of the "-o" option. Thanks to Dann Frazier for the patch. Closes: #273100 * po/LINGUAS. Re-disable Hebrew. Closes: #534992 * po/LINGUAS. Enable Asturian and Lithuanian * Fix typo in apt-cache.8.xml: nessasarily * Fix "with with" in apt-get.8.xml * Fix some of the typos mentioned by the german team Closes: #479997 * Polish translation update by Wiktor Wandachowicz Closes: #548571 * German translation update by Holger Wansing Closes: #551534 * Italian translation update by Milo Casagrande Closes: #555797 * Simplified Chinese translation update by Aron Xu Closes: #558737 * Slovak translation update by Ivan Masár Closes: #559277 * apt-pkg/packagemanager.cc: - add output about pre-depends configuring when debug::pkgPackageManager is used * methods/https.cc: - fix incorrect use of CURLOPT_TIMEOUT, closes: #497983, LP: #354972 thanks to Brian Thomason for the patch * merge lp:~mvo/apt/netrc branch, this adds support for a /etc/apt/auth.conf that can be used to store username/passwords in a "netrc" style file (with the extension that it supports "/" in a machine definition). Based on the maemo git branch (Closes: #518473) (thanks also to Jussi Hakala and Julian Andres Klode) * apt-pkg/deb/dpkgpm.cc: - add "purge" to list of known actions * apt-pkg/init.h: - add compatibility with old ABI name until the next ABI break * merge segfault fix from Mario Sanchez Prada, many thanks (closes: #561109) * apt-pkg/depcache.cc, apt-pkg/indexcopy.cc: - typo fix (LP: #462328) * cmdline/apt-key: - Emit a warning if removed keys keyring is missing and skip associated checks (LP: #218971) * apt-pkg/packagemanager.cc: - better debug output for ImmediateAdd with depth and why - improve the message shown for failing immediate configuration * doc/guide.it.sgml: moved to doc/it/guide.it.sgml * doc/po4a.conf: activate translation of guide.sgml and offline.sgml * doc/apt.conf.5.xml: - provide a few more details about APT::Immediate-Configure - briefly document the behaviour of the new https options * doc/sources.list.5.xml: - add note about additional apt-transport-methods * doc/apt-mark.8.xml: - correct showauto synopsis, thanks Andrew Schulman (Closes: #551440) * cmdline/apt-get.cc: - source should display his final pkg pick (Closes: #249383, #550952) - source doesn't need the complete version for match (Closes: #245250) - source ignores versions/releases if not available (Closes: #377424) - only warn if (free) space overflows (Closes: #522238) - add --debian-only as alias for --diff-only * methods/connect.cc: - display also strerror of "wicked" getaddrinfo errors - add AI_ADDRCONFIG to ai_flags as suggested by Aurelien Jarno in response to Bernhard R. Link, thanks! (Closes: #505020) * buildlib/configure.mak, buildlib/config.{sub,guess}: - remove (outdated) config.{sub,guess} and use the ones provided by the new added build-dependency autotools-dev instead * configure.in, buildlib/{xml,yodl,sgml}_manpage.mak: - remove the now obsolete manpage buildsystems * doc/{pl,pt_BR,es,it}/*.{sgml,xml}: - convert all remaining translation to the po4a system * debian/control: - drop build-dependency on docbook-utils and xmlto - add build-dependency on autotools-dev - bump policy to 3.8.3 as we have no outdated manpages anymore * debian/NEWS: - fix a typo in 0.7.24: Allready -> Already (Closes: #557674) * ftparchive/writer.{cc,h}: - add APT::FTPArchive::LongDescription to be able to disable them * apt-pkg/deb/debsrcrecords.cc: - use "diff" filetype for .debian.tar.* files (Closes: #554898) * methods/rred.cc: - rewrite to be able to handle even big patch files - adopt optional mmap+iovec patch from Morten Hustveit (Closes: #463354) which should speed up a bit. Thanks! * methods/http{,s}.cc - add config setting for User-Agent to the Acquire group, thanks Timothy J. Miller! (Closes: #355782) - add https options which default to http ones (Closes: #557085) * debian/apt.cron.daily: - check cache size even if we do nothing else otherwise, thanks Francesco Poli for patch(s) and patience! (Closes: #459344) * ftparchive/*: - fix a few typos in strings, comments and manpage, thanks Karl Goetz! (Closes: #558757) * cmdline/apt-mark: - print an error if a new state file can't be created (Closes: #521289) and - exit nicely if python-apt is not installed (Closes: #521284) * doc/de: German translation of manpages (Closes: #552606) * doc/ various manpages: - correct various errors, typos and oddities (Closes: #552535) * doc/apt-secure.8.xml: - replace literal with emphasis tags in Archive configuration * doc/apt-ftparchive.1.xml: - remove informalexample tag which hides the programlisting * doc/apt-get.8.xml: - change equivalent "for" to "to the" (purge command) - clarify --fix-broken sentence about specifying packages * apt-pkg/contib/strutl.h - Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2. * build infrastructure: - Bumped libapt version, excluded eglibc from SONAME. (Closes: #448249) * doc/apt.conf.5.xml: - Deprecate unquoted values, string concatenation and explain what should not be written inside a value (quotes,backslash). - Restrict option names to alphanumerical characters and "/-:._+". - Deprecate #include, we have apt.conf.d nowadays which should be sufficient. * ftparchive/apt-ftparchive.cc: - Call setlocale() so translations are actually used. * debian/apt.conf.autoremove: - Add kfreebsd-image-* to the list (Closes: #558803)
Diffstat (limited to 'ftparchive/writer.cc')
-rw-r--r--ftparchive/writer.cc23
1 files changed, 20 insertions, 3 deletions
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 293e851f5..4e6c9a77d 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -308,6 +308,7 @@ PackagesWriter::PackagesWriter(string DB,string Overrides,string ExtOverrides,
DoSHA256 = _config->FindB("APT::FTPArchive::SHA256",true);
DoContents = _config->FindB("APT::FTPArchive::Contents",true);
NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false);
+ LongDescription = _config->FindB("APT::FTPArchive::LongDescription",true);
if (Db.Loaded() == false)
DoContents = false;
@@ -414,10 +415,18 @@ bool PackagesWriter::DoPackage(string FileName)
NewFileName = FileName;
if (PathPrefix.empty() == false)
NewFileName = flCombine(PathPrefix,NewFileName);
-
+
+ /* Configuration says we don't want to include the long Description
+ in the package file - instead we want to ship a separated file */
+ string desc;
+ if (LongDescription == false) {
+ desc = Tags.FindS("Description").append("\n");
+ OverItem->FieldOverride["Description"] = desc.substr(0, desc.find('\n')).c_str();
+ }
+
// This lists all the changes to the fields we are going to make.
// (7 hardcoded + maintainer + suggests + end marker)
- TFRewriteData Changes[6+2+OverItem->FieldOverride.size()+1];
+ TFRewriteData Changes[6+2+OverItem->FieldOverride.size()+1+1];
unsigned int End = 0;
SetTFRewriteData(Changes[End++], "Size", Size);
@@ -429,6 +438,14 @@ bool PackagesWriter::DoPackage(string FileName)
SetTFRewriteData(Changes[End++], "Status", 0);
SetTFRewriteData(Changes[End++], "Optional", 0);
+ string DescriptionMd5;
+ if (LongDescription == false) {
+ MD5Summation descmd5;
+ descmd5.Add(desc.c_str());
+ DescriptionMd5 = descmd5.Result().Value();
+ SetTFRewriteData(Changes[End++], "Description-md5", DescriptionMd5.c_str());
+ }
+
// Rewrite the maintainer field if necessary
bool MaintFailed;
string NewMaint = OverItem->SwapMaint(Tags.FindS("Maintainer"),MaintFailed);
@@ -446,7 +463,7 @@ bool PackagesWriter::DoPackage(string FileName)
SetTFRewriteData(Changes[End++], "Maintainer", NewMaint.c_str());
/* Get rid of the Optional tag. This is an ugly, ugly, ugly hack that
- dpkg-scanpackages does.. Well sort of. dpkg-scanpackages just does renaming
+ dpkg-scanpackages does. Well sort of. dpkg-scanpackages just does renaming
but dpkg does this append bit. So we do the append bit, at least that way the
status file and package file will remain similar. There are other transforms
but optional is the only legacy one still in use for some lazy reason. */