summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/debrecords.cc
diff options
context:
space:
mode:
authorMichael Vogt <egon@bottom>2007-06-06 23:56:19 +0200
committerMichael Vogt <egon@bottom>2007-06-06 23:56:19 +0200
commit484dbb814fd2b787b2206ffe9504798dfd73ae6c (patch)
tree5ba4ad9d3364b5005416b7bc6d687230878c895f /apt-pkg/deb/debrecords.cc
parentfaa6596e09eec9535189c5baa7a6d2d4531f9239 (diff)
parent0be7a32e21dca2e96ce46f6e5b701011aea76586 (diff)
* merged the debian/experimental changes back
into the debian/sid branch * merged from Christian Perrier: * mr.po: New Marathi translation Closes: #416806 * zh_CN.po: Updated by Eric Pareja Closes: #416822 * tl.po: Updated by Eric Pareja Closes: #416638 * gl.po: Updated by Jacobo Tarrio * da.po: Updated by Claus Hindsgaul * fr.po: Remove a non-breakable space for usability * ru.po: Updated Russian translation. Closes: #405476 * *.po: Unfuzzy after upstream typo corrections * buildlib/archtable: - added support for sh3/sh4 (closes: #424870) - added support for m32r (closes: #394096) * buildlib/systemtable: - added support for lpia * configure.in: - check systemtable for architecture mapping too * Package that contains tall the new features * Removed all #pragma interface/implementation * Branch that contains tall the new features: * translated package descriptions * task install support * automatic dependency removal (thanks to Daniel Burrows) * merged support for the new dpkg "Breaks" field (thanks to Ian Jackson) * handle network failures more gracefully on "update" * support for unattended-upgrades (via unattended-upgrades package) * added apt-transport-https method * merged "install-recommends" branch (ABI break): - new "--install-recommends" - install new recommends on "upgrade" if --install-recommends is given - new "--fix-policy" option to install all packages with unmet important dependencies (usefull with --install-recommends to see what not-installed recommends are on the system) - fix of recommended packages display (only show CandidateVersion fix or-group handling) * merged "install-task" branch (use with "apt-get install taskname^") * Applied patch from Daniel Schepler to make apt bin-NMU able. * eu.po: Updated * fix apt-get dist-upgrade * fix warning if no /var/lib/apt/extended_states is present * don't download Translations for deb-src sources.list lines * apt-pkg/tagfile.cc: - support not-mmapable files again * added support for i18n of the package descriptions * added support for aptitude like auto-install tracking (a HUGE HUGE thanks to Daniel Burrows who made this possible) * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental * apt-pkg/depcache.cc: - added Debug::pkgDepCache::AutoInstall (thanks to infinity) * apt-pkg/acquire-item.cc: - fix missing chmod() in the new aquire code (thanks to Bastian Blank, Closes: #367425) * merged from http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: * sk.po: Completed to 512t * eu.po: Completed to 512t * fr.po: Completed to 512t * sv.po: Completed to 512t * Update all PO and the POT. Gives 506t6f for formerly complete translations * Fix a incorrect example in the man-page (closes: #282918)
Diffstat (limited to 'apt-pkg/deb/debrecords.cc')
-rw-r--r--apt-pkg/deb/debrecords.cc23
1 files changed, 21 insertions, 2 deletions
diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc
index 26ca36799..2aa47e343 100644
--- a/apt-pkg/deb/debrecords.cc
+++ b/apt-pkg/deb/debrecords.cc
@@ -12,7 +12,9 @@
#pragma implementation "apt-pkg/debrecords.h"
#endif
#include <apt-pkg/debrecords.h>
+#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
+#include <langinfo.h>
/*}}}*/
// RecordParser::debRecordParser - Constructor /*{{{*/
@@ -31,6 +33,10 @@ bool debRecordParser::Jump(pkgCache::VerFileIterator const &Ver)
{
return Tags.Jump(Section,Ver->Offset);
}
+bool debRecordParser::Jump(pkgCache::DescFileIterator const &Desc)
+{
+ return Tags.Jump(Section,Desc->Offset);
+}
/*}}}*/
// RecordParser::FileName - Return the archive filename on the site /*{{{*/
// ---------------------------------------------------------------------
@@ -77,7 +83,7 @@ string debRecordParser::Maintainer()
/* */
string debRecordParser::ShortDesc()
{
- string Res = Section.FindS("Description");
+ string Res = LongDesc();
string::size_type Pos = Res.find('\n');
if (Pos == string::npos)
return Res;
@@ -89,7 +95,20 @@ string debRecordParser::ShortDesc()
/* */
string debRecordParser::LongDesc()
{
- return Section.FindS("Description");
+ string orig, dest;
+ char *codeset = nl_langinfo(CODESET);
+
+ if (!Section.FindS("Description").empty())
+ orig = Section.FindS("Description").c_str();
+ else
+ orig = Section.FindS(("Description-" + pkgIndexFile::LanguageCode()).c_str()).c_str();
+
+ if (strcmp(codeset,"UTF-8") != 0) {
+ UTF8ToCodeset(codeset, orig, &dest);
+ orig = dest;
+ }
+
+ return orig;
}
/*}}}*/