From fae7fc49052720f037bac128084851c09d420381 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] Signed-off-by: Robert Yang Signed-off-by: Elizabeth Flanagan Signed-off-by: Richard Purdie --- .../apt/apt-0.7.14/remove-redeclaration.patch | 63 ++++++++++++++++++++++ meta/recipes-devtools/apt/apt-native_0.7.14.bb | 2 +- meta/recipes-devtools/apt/apt.inc | 1 + meta/recipes-devtools/apt/apt_0.7.14.bb | 2 +- 4 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 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 + diff --git a/meta/recipes-devtools/apt/apt-native_0.7.14.bb b/meta/recipes-devtools/apt/apt-native_0.7.14.bb index ec3fd20a8c..ca5476b6b2 100644 --- a/meta/recipes-devtools/apt/apt-native_0.7.14.bb +++ b/meta/recipes-devtools/apt/apt-native_0.7.14.bb @@ -1,6 +1,6 @@ require apt-native.inc -PR = "r7" +PR = "r8" SRC_URI += "file://nodoc.patch \ file://noconfigure.patch \ diff --git a/meta/recipes-devtools/apt/apt.inc b/meta/recipes-devtools/apt/apt.inc index 9d32ddb4c9..1f6343a9d6 100644 --- a/meta/recipes-devtools/apt/apt.inc +++ b/meta/recipes-devtools/apt/apt.inc @@ -7,6 +7,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/apt_${PV}.tar.gz \ file://use-host.patch \ file://localefixes.patch \ file://makerace.patch \ + file://remove-redeclaration.patch \ " inherit autotools gettext diff --git a/meta/recipes-devtools/apt/apt_0.7.14.bb b/meta/recipes-devtools/apt/apt_0.7.14.bb index 4055294b28..a62772845a 100644 --- a/meta/recipes-devtools/apt/apt_0.7.14.bb +++ b/meta/recipes-devtools/apt/apt_0.7.14.bb @@ -3,7 +3,7 @@ RDEPENDS_${PN} = "dpkg" LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" require apt.inc -PR = "r12" +PR = "r13" SRC_URI += "file://nodoc.patch \ file://includes-fix.patch " -- cgit v1.2.3