summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/deblistparser.cc7
-rw-r--r--apt-pkg/deb/debrecords.cc8
2 files changed, 13 insertions, 2 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 229cfc29b..bf9bc75ec 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -57,7 +57,12 @@ debListParser::debListParser(FileFd *File) :
// ---------------------------------------------------------------------
/* This is to return the name of the package this section describes */
string debListParser::Package() {
- string const Result = Section.FindS("Package");
+ string Result = Section.FindS("Package");
+
+ // Normalize mixed case package names to lower case, like dpkg does
+ // See Bug#807012 for details
+ std::transform(Result.begin(), Result.end(), Result.begin(), tolower_ascii);
+
if(unlikely(Result.empty() == true))
_error->Error("Encountered a section with no Package: header");
return Result;
diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc
index d78a7e2e0..beaa83bd9 100644
--- a/apt-pkg/deb/debrecords.cc
+++ b/apt-pkg/deb/debrecords.cc
@@ -65,7 +65,13 @@ string debRecordParserBase::FileName()
// RecordParserBase::Name - Return the package name /*{{{*/
string debRecordParserBase::Name()
{
- return Section.FindS("Package");
+ string Result = Section.FindS("Package");
+
+ // Normalize mixed case package names to lower case, like dpkg does
+ // See Bug#807012 for details
+ std::transform(Result.begin(), Result.end(), Result.begin(), tolower_ascii);
+
+ return Result;
}
/*}}}*/
// RecordParserBase::Homepage - Return the package homepage /*{{{*/