apt: Fix locale header and hardcoded libname issues

apt wasn't building on modern libc/compiler combinations due to missing
header includes.

The libcpp version was also being hardcoded, this patch generates it
dynamically to work on different host systems which no longer have
this.

(From OE-Core rev: 4bcffbcd05c86903fbdf47bb46bf1a52b888dfeb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-11-23 23:24:20 +00:00
parent 164a4d1bac
commit 08d70734d5
6 changed files with 104 additions and 10 deletions

View File

@ -0,0 +1,91 @@
Add in missing header includes to resolve compile failures with recent
compiler/glibc combinations.
Upstream-Status: Inappropriate [Resolved upstream]
RP 2011/11/23
Index: apt-0.7.14/apt-pkg/init.cc
===================================================================
--- apt-0.7.14.orig/apt-pkg/init.cc 2011-11-23 22:48:53.544637868 +0000
+++ apt-0.7.14/apt-pkg/init.cc 2011-11-23 22:48:59.456638260 +0000
@@ -16,6 +16,7 @@
#include <config.h>
#include <cstdlib>
#include <sys/stat.h>
+#include <locale>
/*}}}*/
#define Stringfy_(x) # x
Index: apt-0.7.14/cmdline/apt-cache.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-cache.cc 2011-11-23 22:53:29.048631067 +0000
+++ apt-0.7.14/cmdline/apt-cache.cc 2011-11-23 22:54:15.784616212 +0000
@@ -32,6 +32,7 @@
#include <apti18n.h>
#include <locale.h>
+#include <locale>
#include <iostream>
#include <unistd.h>
#include <errno.h>
Index: apt-0.7.14/cmdline/apt-cdrom.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-cdrom.cc 2011-11-23 22:53:29.064631096 +0000
+++ apt-0.7.14/cmdline/apt-cdrom.cc 2011-11-23 22:53:57.616630261 +0000
@@ -27,6 +27,7 @@
//#include "indexcopy.h"
#include <locale.h>
+#include <locale>
#include <iostream>
#include <fstream>
#include <vector>
Index: apt-0.7.14/cmdline/apt-config.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-config.cc 2011-11-23 22:50:16.796635352 +0000
+++ apt-0.7.14/cmdline/apt-config.cc 2011-11-23 22:50:25.640633906 +0000
@@ -27,6 +27,7 @@
#include <locale.h>
#include <iostream>
#include <string>
+#include <locale>
/*}}}*/
using namespace std;
Index: apt-0.7.14/cmdline/apt-extracttemplates.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-extracttemplates.cc 2011-11-23 22:53:29.080631084 +0000
+++ apt-0.7.14/cmdline/apt-extracttemplates.cc 2011-11-23 22:53:38.304630439 +0000
@@ -39,6 +39,7 @@
#include <config.h>
#include <apti18n.h>
#include "apt-extracttemplates.h"
+#include <locale>
/*}}}*/
using namespace std;
Index: apt-0.7.14/cmdline/apt-get.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-get.cc 2011-11-23 22:53:29.096631090 +0000
+++ apt-0.7.14/cmdline/apt-get.cc 2011-11-23 22:53:49.368629452 +0000
@@ -48,6 +48,7 @@
#include <set>
#include <locale.h>
+#include <locale>
#include <langinfo.h>
#include <fstream>
#include <termios.h>
Index: apt-0.7.14/cmdline/apt-sortpkgs.cc
===================================================================
--- apt-0.7.14.orig/cmdline/apt-sortpkgs.cc 2011-11-23 22:52:03.872640247 +0000
+++ apt-0.7.14/cmdline/apt-sortpkgs.cc 2011-11-23 22:52:10.880638611 +0000
@@ -27,6 +27,7 @@
#include <locale.h>
#include <unistd.h>
+#include <locale>
/*}}}*/
using namespace std;

View File

@ -40,10 +40,11 @@ do_install_base () {
install -m 0755 bin/apt-extracttemplates ${D}${bindir}/
eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'`
oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${D}${libdir}/
ln -sf libapt-pkg$GLIBC_VER-6.so ${D}${libdir}/libapt-pkg.so
oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${D}${libdir}/
ln -sf libapt-inst$GLIBC_VER-6.so ${D}${libdir}/libapt-inst.so
eval `cat environment.mak | grep ^LIBSTDCPP_VER | sed -e's, = ,=,'`
oe_libinstall -so -C bin libapt-pkg$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-pkg$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-pkg.so
oe_libinstall -so -C bin libapt-inst$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-inst$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-inst.so
install -d ${D}${libdir}/apt/methods
install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/

View File

@ -1,6 +1,6 @@
require apt-native.inc
PR = "r5"
PR = "r6"
SRC_URI += "file://nodoc.patch \
file://noconfigure.patch \

View File

@ -78,10 +78,11 @@ do_install () {
install -m 0755 bin/apt-extracttemplates ${D}${bindir}/
eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'`
oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${D}${libdir}/
ln -sf libapt-pkg$GLIBC_VER-6.so ${D}${libdir}/libapt-pkg.so
oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${D}${libdir}/
ln -sf libapt-inst$GLIBC_VER-6.so ${D}${libdir}/libapt-inst.so
eval `cat environment.mak | grep ^LIBSTDCPP_VER | sed -e's, = ,=,'`
oe_libinstall -so -C bin libapt-pkg$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-pkg$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-pkg.so
oe_libinstall -so -C bin libapt-inst$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-inst$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-inst.so
install -d ${D}${libdir}/apt/methods
install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/

View File

@ -5,6 +5,7 @@ SECTION = "base"
SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/apt_${PV}.tar.gz \
file://no-ko-translation.patch \
file://use-host.patch \
file://localefixes.patch \
"
inherit autotools gettext

View File

@ -3,7 +3,7 @@ RDEPENDS_${PN} = "dpkg"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
require apt.inc
PR = "r8"
PR = "r9"
SRC_URI += "file://nodoc.patch \
file://includes-fix.patch "