apt: Fix a latent bug exposed by gcc 4.7

Further Details are in patch itself

(From OE-Core rev: 0dc952e35da00a753317a4f878b23eab8bb7bc4a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2012-03-30 12:07:38 -07:00 committed by Richard Purdie
parent 38ba438303
commit 9d526462fe
2 changed files with 61 additions and 2 deletions

View File

@ -0,0 +1,57 @@
Fix build errors
deb/deblistparser.cc: In member function 'virtual short unsigned int debListParser::VersionHash()':
deb/deblistparser.cc:212:13: error: redeclaration of 'char* I'
deb/deblistparser.cc:202:22: error: 'const char** I' previously declared here
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: apt-0.7.14/apt-pkg/deb/deblistparser.cc
===================================================================
--- apt-0.7.14.orig/apt-pkg/deb/deblistparser.cc 2012-03-30 11:17:09.112456632 -0700
+++ apt-0.7.14/apt-pkg/deb/deblistparser.cc 2012-03-30 11:25:40.484481643 -0700
@@ -209,18 +209,18 @@
/* Strip out any spaces from the text, this undoes dpkgs reformatting
of certain fields. dpkg also has the rather interesting notion of
reformatting depends operators < -> <= */
- char *I = S;
+ char *J = S;
for (; Start != End; Start++)
{
if (isspace(*Start) == 0)
- *I++ = tolower(*Start);
+ *J++ = tolower(*Start);
if (*Start == '<' && Start[1] != '<' && Start[1] != '=')
- *I++ = '=';
+ *J++ = '=';
if (*Start == '>' && Start[1] != '>' && Start[1] != '=')
- *I++ = '=';
+ *J++ = '=';
}
- Result = AddCRC16(Result,S,I - S);
+ Result = AddCRC16(Result,S,J - S);
}
return Result;
Index: apt-0.7.14/cmdline/apt-get.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-get.cc 2012-03-30 11:28:56.048490824 -0700
+++ apt-0.7.14/cmdline/apt-get.cc 2012-03-30 11:32:00.248499740 -0700
@@ -1752,12 +1752,12 @@
if ((*Cache)[I].Install() == false)
continue;
- const char **J;
- for (J = CmdL.FileList + 1; *J != 0; J++)
- if (strcmp(*J,I.Name()) == 0)
+ const char **K;
+ for (K = CmdL.FileList + 1; *K != 0; J++)
+ if (strcmp(*K,I.Name()) == 0)
break;
- if (*J == 0) {
+ if (*K == 0) {
List += string(I.Name()) + " ";
VersionsList += string(Cache[I].CandVersion) + "\n";
}

View File

@ -3,10 +3,12 @@ RDEPENDS_${PN} = "dpkg"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
require apt.inc
PR = "r10"
PR = "r11"
SRC_URI += "file://nodoc.patch \
file://includes-fix.patch "
file://includes-fix.patch \
file://remove-redeclaration.patch \
"
SRC_URI[md5sum] = "19efa18fb1ef20c58b9b44e94258b814"
SRC_URI[sha256sum] = "8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045"