From 1e71397c23c90fc74f76db4d6e34917f4d58af0f Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Thu, 7 Jun 2012 16:37:09 -0700 Subject: apt 0.7.14: do_compile failed with gcc 4.7 apt do_compile failed with gcc 4.7: 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 Backport the patch from the upstream would fix the problem, both target and native apt need it. [YOCTO #2488] (From OE-Core rev: fae7fc49052720f037bac128084851c09d420381) Signed-off-by: Robert Yang Signed-off-by: Elizabeth Flanagan Signed-off-by: Richard Purdie --- .../apt/apt-0.7.14/remove-redeclaration.patch | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 meta/recipes-devtools/apt/apt-0.7.14/remove-redeclaration.patch (limited to 'meta/recipes-devtools/apt/apt-0.7.14/remove-redeclaration.patch') diff --git a/meta/recipes-devtools/apt/apt-0.7.14/remove-redeclaration.patch b/meta/recipes-devtools/apt/apt-0.7.14/remove-redeclaration.patch new file mode 100644 index 0000000000..8d7c891545 --- /dev/null +++ b/meta/recipes-devtools/apt/apt-0.7.14/remove-redeclaration.patch @@ -0,0 +1,63 @@ +Fix build errors on gcc 4.7: + +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: Robert Yang +--- + apt-pkg/deb/deblistparser.cc | 10 +++++----- + cmdline/apt-get.cc | 8 ++++---- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc +--- a/apt-pkg/deb/deblistparser.cc ++++ b/apt-pkg/deb/deblistparser.cc +@@ -209,18 +209,18 @@ unsigned short debListParser::VersionHash() + /* 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; +diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc +--- a/cmdline/apt-get.cc ++++ b/cmdline/apt-get.cc +@@ -1752,12 +1752,12 @@ bool DoInstall(CommandLine &CmdL) + 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; K++) ++ if (strcmp(*K,I.Name()) == 0) + break; + +- if (*J == 0) { ++ if (*K == 0) { + List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CandVersion) + "\n"; + } +-- +1.7.1 + -- cgit v1.2.3-54-g00ecf