summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/deblistparser.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2005-10-17 14:20:25 +0000
committerMichael Vogt <mvo@debian.org>2005-10-17 14:20:25 +0000
commitc511502fcec38680fff2f27aec75908e348e5905 (patch)
tree113bdb52474c1111110da47939342c9fd2994f1a /apt-pkg/deb/deblistparser.cc
parent3226f06e15d6c9816c26e87bb58f5589b84a467b (diff)
parent422eeaaadf17904bf2f08cdf9e8998bec645097c (diff)
* merged ddtp support
Patches applied: * michael.vogt@ubuntu.com--2005/apt--ddtp--0--base-0 tag of otavio@debian.org--2005/apt--ddtp--0.6--patch-14 * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-1 * fixed a problem when it comes to the cache rebuilding * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-2 * try harder to get the correct language code * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-3 * fix for output of the description and the debTranslationsIndex::Exists() * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-4 * made the translation downloading work * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-5 * FindInCache() uses the correct file now * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-6 * don't throw any more warnings * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-7 * merged with otavoi * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-8 * merged with otavios branch * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-9 * code cleanups (thanks matt!), moved UsePackage before the description list build in pkgcachegen to catch MMap errors early * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-10 * added a BUGS file with known problem, added apt-cdrom support for translated package descriptions * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-11 * updated with mainline * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-12 * added README.ddtp * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-13 * merged with apt--mvo * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-14 * added DDTP::URL-Remap. KILL THIS FEATURE once ddtp support is offical * michael.vogt@ubuntu.com--2005/apt--ddtp--0--patch-15 * remvoed the remap feature again, dosn't work anyway * otavio@debian.org--2005/apt--ddtp--0.6--base-0 tag of apt@packages.debian.org/apt--main--0--patch-71 * otavio@debian.org--2005/apt--ddtp--0.6--patch-1 Port DDTP to APT 0.6 branch * otavio@debian.org--2005/apt--ddtp--0.6--patch-2 Fix sintax error on apt-cache * otavio@debian.org--2005/apt--ddtp--0.6--patch-3 Remove a unused var. * otavio@debian.org--2005/apt--ddtp--0.6--patch-4 Fix problems due APT and structural changes. * otavio@debian.org--2005/apt--ddtp--0.6--patch-5 Fix problems due APT and structural changes. * otavio@debian.org--2005/apt--ddtp--0.6--patch-6 Sync with apt@packages.debian.org/apt--main--0--patch-74 * otavio@debian.org--2005/apt--ddtp--0.6--patch-7 Sync with apt@packages.debian.org/apt--main--0--patch-75 * otavio@debian.org--2005/apt--ddtp--0.6--patch-8 Sync with apt--main--0--patch-76 * otavio@debian.org--2005/apt--ddtp--0.6--patch-9 Remote a changelog entry added by mistake while merging. * otavio@debian.org--2005/apt--ddtp--0.6--patch-10 Sync with apt--main--0--patch-78 * otavio@debian.org--2005/apt--ddtp--0.6--patch-11 Revert fixes changes to move these to apt--fixes--0 branch. * otavio@debian.org--2005/apt--ddtp--0.6--patch-12 Another fix included here by mistake. Moving it to apt--fixes--0 branch. * otavio@debian.org--2005/apt--ddtp--0.6--patch-13 Merge last changes from apt--main--0. * otavio@debian.org--2005/apt--ddtp--0.6--patch-14 Add FindInCache method to skip the rebuild of cache every time. * otavio@debian.org--2005/apt--ddtp--0.6--patch-15 Merge changes did by Michael Vogt to solve some rebuilding mistakes. * otavio@debian.org--2005/apt--ddtp--0.6--patch-16 Does't show Description twice * otavio@debian.org--2005/apt--ddtp--0.6--patch-17 Merge last fixes did by Michael but preserve my version of apt-cache.cc fix. * otavio@debian.org--2005/apt--ddtp--0.6--patch-18 Revert changes did by mistake on translation files. * otavio@debian.org--2005/apt--ddtp--0.6--patch-19 Merge last changes did from upstream side. * otavio@debian.org--2005/apt--ddtp--0.6--patch-20 Sync with apt--main--0--patch-87
Diffstat (limited to 'apt-pkg/deb/deblistparser.cc')
-rw-r--r--apt-pkg/deb/deblistparser.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 25b533773..97553ab82 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -15,6 +15,7 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/crc-16.h>
+#include <apt-pkg/md5.h>
#include <ctype.h>
@@ -117,6 +118,48 @@ bool debListParser::NewVersion(pkgCache::VerIterator Ver)
return true;
}
/*}}}*/
+// ListParser::Description - Return the description string /*{{{*/
+// ---------------------------------------------------------------------
+/* This is to return the string describing the package in debian
+ form. If this returns the blank string then the entry is assumed to
+ only describe package properties */
+string debListParser::Description()
+{
+ if (DescriptionLanguage().empty())
+ return Section.FindS("Description");
+ else
+ return Section.FindS(("Description-" + pkgIndexFile::LanguageCode()).c_str());
+}
+ /*}}}*/
+// ListParser::DescriptionLanguage - Return the description lang string /*{{{*/
+// ---------------------------------------------------------------------
+/* This is to return the string describing the language of
+ description. If this returns the blank string then the entry is
+ assumed to describe original description. */
+string debListParser::DescriptionLanguage()
+{
+ return Section.FindS("Description").empty() ? pkgIndexFile::LanguageCode() : "";
+}
+ /*}}}*/
+// ListParser::Description - Return the description_md5 MD5SumValue /*{{{*/
+// ---------------------------------------------------------------------
+/* This is to return the md5 string to allow the check if it is the right
+ description. If no Description-md5 is found in the section it will be
+ calculated.
+ */
+MD5SumValue debListParser::Description_md5()
+{
+ string value = Section.FindS("Description-md5");
+
+ if (value.empty())
+ {
+ MD5Summation md5;
+ md5.Add((Description() + "\n").c_str());
+ return md5.Result();
+ } else
+ return MD5SumValue(value);
+}
+ /*}}}*/
// ListParser::UsePackage - Update a package structure /*{{{*/
// ---------------------------------------------------------------------
/* This is called to update the package with any new information