aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/apt
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/apt
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadopenembedded-core-contrib-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
openembedded-core-contrib-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.bz2
openembedded-core-contrib-29d6678fd546377459ef75cf54abeef5b969b5cf.zip
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/apt')
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/includes-fix.patch42
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/no-ko-translation.patch9
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/noconfigure.patch35
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/nodoc.patch19
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/use-host.patch44
-rw-r--r--meta/recipes-devtools/apt/apt-native.inc63
-rw-r--r--meta/recipes-devtools/apt/apt-native_0.7.14.bb8
-rw-r--r--meta/recipes-devtools/apt/apt-package.inc104
-rw-r--r--meta/recipes-devtools/apt/apt.inc26
-rw-r--r--meta/recipes-devtools/apt/apt_0.7.14.bb15
-rw-r--r--meta/recipes-devtools/apt/files/apt.conf43
-rw-r--r--meta/recipes-devtools/apt/files/db_linking_hack.patch27
-rw-r--r--meta/recipes-devtools/apt/files/environment.patch13
-rw-r--r--meta/recipes-devtools/apt/files/no-curl.patch44
14 files changed, 492 insertions, 0 deletions
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/includes-fix.patch b/meta/recipes-devtools/apt/apt-0.7.14/includes-fix.patch
new file mode 100644
index 00000000000..f4661648ea6
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/includes-fix.patch
@@ -0,0 +1,42 @@
+Add missing includes required when building with modern toolchain, based on
+patch from Debian bugzilla:
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505954
+
+Should no longer be required once upgraded to 0.7.22 or later.
+
+Index: apt-0.7.14/apt-pkg/acquire.cc
+===================================================================
+--- apt-0.7.14.orig/apt-pkg/acquire.cc 2008-05-28 14:22:13.000000000 +0100
++++ apt-0.7.14/apt-pkg/acquire.cc 2010-07-23 17:30:11.494883936 +0100
+@@ -22,6 +22,7 @@
+
+ #include <apti18n.h>
+
++#include <cstdio>
+ #include <iostream>
+ #include <sstream>
+
+Index: apt-0.7.14/apt-pkg/contrib/sha256.h
+===================================================================
+--- apt-0.7.14.orig/apt-pkg/contrib/sha256.h 2008-05-28 14:22:14.000000000 +0100
++++ apt-0.7.14/apt-pkg/contrib/sha256.h 2010-07-23 17:30:11.494883936 +0100
+@@ -14,6 +14,7 @@
+ #ifndef APTPKG_SHA256_H
+ #define APTPKG_SHA256_H
+
++#include <stdint.h>
+ #include <string>
+ #include <cstring>
+ #include <algorithm>
+Index: apt-0.7.14/apt-pkg/deb/dpkgpm.cc
+===================================================================
+--- apt-0.7.14.orig/apt-pkg/deb/dpkgpm.cc 2008-05-28 14:22:14.000000000 +0100
++++ apt-0.7.14/apt-pkg/deb/dpkgpm.cc 2010-07-23 17:30:36.960856870 +0100
+@@ -20,6 +20,7 @@
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #include <sys/select.h>
++#include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <signal.h>
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/no-ko-translation.patch b/meta/recipes-devtools/apt/apt-0.7.14/no-ko-translation.patch
new file mode 100644
index 00000000000..5f3634b32a1
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/no-ko-translation.patch
@@ -0,0 +1,9 @@
+---
+ po/LINGUAS | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- apt-0.7.14.orig/po/LINGUAS
++++ apt-0.7.14/po/LINGUAS
+@@ -1 +1 @@
+-ar bg bs ca cs cy da de dz el en_GB es eu fi fr gl he hu it ja km ko ku mr nb ne nl nn pl pt pt_BR ro ru sk sl sv th tl uk vi zh_CN zh_TW
++ar bg bs ca cs cy da de dz el en_GB es eu fi fr gl he hu it ja km ku mr nb ne nl nn pl pt pt_BR ro ru sk sl sv th tl uk vi zh_CN zh_TW
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/noconfigure.patch b/meta/recipes-devtools/apt/apt-0.7.14/noconfigure.patch
new file mode 100644
index 00000000000..682a96da24a
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/noconfigure.patch
@@ -0,0 +1,35 @@
+---
+ apt-pkg/packagemanager.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- apt-0.6.45exp2.orig/apt-pkg/packagemanager.cc
++++ apt-0.6.45exp2/apt-pkg/packagemanager.cc
+@@ -534,10 +534,12 @@ bool pkgPackageManager::SmartUnPack(PkgI
+
+ List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
+
++#if 0
+ // Perform immedate configuration of the package.
+ if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
+ if (SmartConfigure(Pkg) == false)
+ return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name());
++#endif
+
+ return true;
+ }
+@@ -609,6 +611,7 @@ pkgPackageManager::OrderResult pkgPackag
+ DoneSomething = true;
+ }
+
++#if 0
+ // Final run through the configure phase
+ if (ConfigureAll() == false)
+ return Failed;
+@@ -623,6 +626,7 @@ pkgPackageManager::OrderResult pkgPackag
+ return Failed;
+ }
+ }
++#endif
+
+ return Completed;
+ }
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/nodoc.patch b/meta/recipes-devtools/apt/apt-0.7.14/nodoc.patch
new file mode 100644
index 00000000000..db8cf937172
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/nodoc.patch
@@ -0,0 +1,19 @@
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- apt-0.7.14.orig/Makefile
++++ apt-0.7.14/Makefile
+@@ -15,11 +15,11 @@ all headers library clean veryclean bina
+ $(MAKE) -C apt-inst $@
+ $(MAKE) -C methods $@
+ $(MAKE) -C cmdline $@
+ $(MAKE) -C ftparchive $@
+ $(MAKE) -C dselect $@
+- $(MAKE) -C doc $@
++# $(MAKE) -C doc $@
+ $(MAKE) -C po $@
+
+ # Some very common aliases
+ .PHONY: maintainer-clean dist-clean distclean pristine sanity
+ maintainer-clean dist-clean distclean pristine sanity: veryclean
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch b/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch
new file mode 100644
index 00000000000..894a6976610
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch
@@ -0,0 +1,44 @@
+---
+ buildlib/sizetable | 4 +++-
+ configure.in | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- apt-0.7.14.orig/buildlib/sizetable
++++ apt-0.7.14/buildlib/sizetable
+@@ -9,16 +9,19 @@
+ #
+ # This is used primarily for the MD5 algorithm.
+ # The format is:-
+ # CPU endian sizeof: char, int, short, long
+ i386 little 1 4 2 4
++i486 little 1 4 2 4
++i586 little 1 4 2 4
++i686 little 1 4 2 4
+ armeb big 1 4 2 4
+ arm little 1 4 2 4
+ alpha little 1 4 2 8
+ mipsel little 1 4 2 4
+ sparc big 1 4 2 4
+ sparc64 big 1 4 2 8
+ m68k big 1 4 2 4
+ powerpc big 1 4 2 4
+ mips big 1 4 2 4
+ hppa big 1 4 2 4
+-m32r big 1 4 2 4
+\ No newline at end of file
++m32r big 1 4 2 4
+--- apt-0.7.14.orig/configure.in
++++ apt-0.7.14/configure.in
+@@ -86,11 +86,11 @@ AC_SUBST(BDBLIB)
+ dnl Converts the ARCH to be something singular for this general CPU family
+ dnl This is often the dpkg architecture string.
+ dnl First check against the full canonical canoncial-system-type in $target
+ dnl and if that fails, just look for the cpu
+ AC_MSG_CHECKING(debian architecture)
+-archset="`dpkg-architecture -qDEB_HOST_ARCH`"
++archset="`echo $host_alias|cut -d'-' -f1`"
+ if test "x$archset" = "x"; then
+ AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture])
+ fi
+ AC_MSG_RESULT($archset)
+ AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset")
diff --git a/meta/recipes-devtools/apt/apt-native.inc b/meta/recipes-devtools/apt/apt-native.inc
new file mode 100644
index 00000000000..b16f99e93c5
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-native.inc
@@ -0,0 +1,63 @@
+require apt.inc
+inherit native
+
+DEPENDS += "dpkg-native gettext-native"
+PACKAGES = ""
+USE_NLS = "yes"
+
+SRC_URI += "file://db_linking_hack.patch"
+
+python do_install () {
+ bb.build.exec_func('do_install_base', d)
+ bb.build.exec_func('do_install_config', d)
+}
+
+python do_install_config () {
+ indir = os.path.dirname(bb.data.getVar('FILE',d,1))
+ infile = file(os.path.join(indir, 'files', 'apt.conf'), 'r')
+ data = infile.read()
+ infile.close()
+
+ data = bb.data.expand(data, d)
+
+ outdir = os.path.join(bb.data.getVar('D', d, 1), bb.data.getVar('sysconfdir', d, 1), 'apt')
+ if not os.path.exists(outdir):
+ os.makedirs(outdir)
+ outpath = os.path.join(outdir, 'apt.conf.sample')
+
+ outfile = file(outpath, 'w')
+ outfile.write(data)
+ outfile.close()
+}
+
+do_install_base () {
+ install -d ${D}${bindir}
+ install -m 0755 bin/apt-cdrom ${D}${bindir}/
+ install -m 0755 bin/apt-get ${D}${bindir}/
+ install -m 0755 bin/apt-config ${D}${bindir}/
+ install -m 0755 bin/apt-cache ${D}${bindir}/
+ install -m 0755 bin/apt-sortpkgs ${D}${bindir}/
+ 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
+
+ install -d ${D}${libdir}/apt/methods
+ install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/
+
+ install -d ${D}${libdir}/dpkg/methods/apt
+ install -m 0644 dselect/desc.apt ${D}${libdir}/dpkg/methods/apt/
+ install -m 0644 dselect/names ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/install ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/setup ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/update ${D}${libdir}/dpkg/methods/apt/
+
+ install -d ${D}${sysconfdir}/apt
+ install -d ${D}${localstatedir}/lib/apt/lists/partial
+ install -d ${D}${localstatedir}/cache/apt/archives/partial
+
+ install -d ${D}${localstatedir}/log/apt/
+}
diff --git a/meta/recipes-devtools/apt/apt-native_0.7.14.bb b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
new file mode 100644
index 00000000000..2f04b72cabc
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
@@ -0,0 +1,8 @@
+require apt-native.inc
+
+PR = "r3"
+
+SRC_URI += "file://nodoc.patch \
+ file://noconfigure.patch \
+ file://no-curl.patch \
+ file://includes-fix.patch"
diff --git a/meta/recipes-devtools/apt/apt-package.inc b/meta/recipes-devtools/apt/apt-package.inc
new file mode 100644
index 00000000000..9e104f12ed5
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt-package.inc
@@ -0,0 +1,104 @@
+apt-manpages="doc/apt-cache.8 \
+ doc/apt-cdrom.8 \
+ doc/apt-config.8 \
+ doc/apt-get.8 \
+ doc/apt.8 \
+ doc/apt.conf.5 \
+ doc/apt_preferences.5 \
+ doc/fr/apt-cache.fr.8 \
+ doc/fr/apt-cdrom.fr.8 \
+ doc/fr/apt-config.fr.8 \
+ doc/fr/apt-get.fr.8 \
+ doc/fr/apt.conf.fr.5 \
+ doc/fr/apt_preferences.fr.5 \
+ doc/fr/sources.list.fr.5 \
+ doc/es/apt.es.8 \
+ doc/es/apt-cache.es.8 \
+ doc/es/apt-cdrom.es.8 \
+ doc/es/apt-config.es.8 \
+ doc/es/apt-get.es.8 \
+ doc/es/apt.conf.es.5 \
+ doc/es/apt_preferences.es.5 \
+ doc/es/sources.list.es.5 \
+ doc/pt_BR/apt_preferences.pt_BR.5 \
+ doc/ja/apt-cache.ja.8 \
+ doc/ja/apt-cdrom.ja.8 \
+ doc/ja/apt-get.ja.8 \
+ doc/ja/apt.conf.ja.5 \
+ doc/sources.list.5"
+apt-utils-manpages="doc/apt-extracttemplates.1 \
+ doc/apt-sortpkgs.1 \
+ doc/fr/apt-extracttemplates.fr.1 \
+ doc/fr/apt-sortpkgs.fr.1"
+# doc/fr/apt-ftparchive.fr.1
+# doc/apt-ftparchive.1
+
+def get_files_apt_doc(d, bb, manpages):
+ import re
+ manpages = re.sub(r'\bdoc/(\S+)/(\S+)\.\1\.(.)\b', r'${mandir}/\1/man\3/\2.\3', manpages)
+ manpages = re.sub(r'\bdoc/(\S+)\.(.)\b', r'${mandir}/man\2/\1.\2', manpages)
+ return manpages
+
+def get_commands_apt_doc(d, bb, manpages):
+ import os
+ s = list()
+ __dir_cache__ = list()
+ for m in manpages.split():
+ dest = get_files_apt_doc(d, bb, m)
+ dir = os.path.dirname(dest)
+ if not dir in __dir_cache__:
+ s.append("install -d ${D}/%s" % dir)
+ __dir_cache__.append(dir)
+ s.append("install -m 0644 %s ${D}/%s" % (m, dest))
+ return "\n".join(s)
+
+PACKAGES += "${PN}-utils ${PN}-utils-doc"
+FILES_${PN} = "${bindir}/apt-cdrom ${bindir}/apt-get \
+ ${bindir}/apt-config ${bindir}/apt-cache \
+ ${libdir}/apt ${libdir}/libapt*.so.* \
+ ${localstatedir} ${sysconfdir} \
+ ${libdir}/dpkg"
+FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates"
+FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, bb.data.getVar('apt-manpages', d, 1))} \
+ ${docdir}/apt"
+FILES_${PN}-utils-doc = "${@get_files_apt_doc(d, bb, bb.data.getVar('apt-utils-manpages', d, 1))}"
+FILES_${PN}-dev = "${libdir}/libapt*.so"
+
+do_install () {
+ set -x
+ ${@get_commands_apt_doc(d, bb, bb.data.getVar('apt-manpages', d, 1))}
+ ${@get_commands_apt_doc(d, bb, bb.data.getVar('apt-utils-manpages', d, 1))}
+ install -d ${D}${bindir}
+ install -m 0755 bin/apt-cdrom ${D}${bindir}/
+ install -m 0755 bin/apt-get ${D}${bindir}/
+ install -m 0755 bin/apt-config ${D}${bindir}/
+ install -m 0755 bin/apt-cache ${D}${bindir}/
+
+ install -m 0755 bin/apt-sortpkgs ${D}${bindir}/
+ 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
+
+ install -d ${D}${libdir}/apt/methods
+ install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/
+
+ install -d ${D}${libdir}/dpkg/methods/apt
+ install -m 0644 dselect/desc.apt ${D}${libdir}/dpkg/methods/apt/
+ install -m 0644 dselect/names ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/install ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/setup ${D}${libdir}/dpkg/methods/apt/
+ install -m 0755 dselect/update ${D}${libdir}/dpkg/methods/apt/
+
+ install -d ${D}${sysconfdir}/apt
+ install -d ${D}${localstatedir}/lib/apt/lists/partial
+ install -d ${D}${localstatedir}/cache/apt/archives/partial
+ install -d ${D}${docdir}/apt/examples
+ install -m 0644 doc/examples/* ${D}${docdir}/apt/examples/
+
+ install -d ${D}${includedir}/apt-pkg/
+ install -m 0644 include/apt-pkg/*.h ${D}${includedir}/apt-pkg/
+}
diff --git a/meta/recipes-devtools/apt/apt.inc b/meta/recipes-devtools/apt/apt.inc
new file mode 100644
index 00000000000..546683f9bc5
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt.inc
@@ -0,0 +1,26 @@
+DESCRIPTION = "Advanced front-end for dpkg."
+LICENSE = "GPL"
+SECTION = "base"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/apt_${PV}.tar.gz \
+ file://no-ko-translation.patch \
+ file://use-host.patch \
+ "
+
+inherit autotools gettext
+
+EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
+
+# Apt wants to know the glibc version by running a binary file, which will
+# fail, so we have to tell configure which version to use Since I don't know
+# the impliations of setting a wrong value I only provide one for angstrom,
+# which uses glibc 2.5 (which claims to be 2.4)
+# Koen - 20070327
+EXTRA_OECONF_append_angstrom = " ac_cv_glibc_ver=libc6.4"
+
+# under Debian it is set to libc6.3 as they use glibc 2.3
+# They also provide glibc 2.5 in 'experimental' and it works with APT built
+# for 2.3 so we set it in same way
+EXTRA_OECONF_append = " ac_cv_glibc_ver=libc6.3"
+
+FILES_${PN}-dbg += "${libdir}/apt/methods/.debug/"
diff --git a/meta/recipes-devtools/apt/apt_0.7.14.bb b/meta/recipes-devtools/apt/apt_0.7.14.bb
new file mode 100644
index 00000000000..0ea9b481427
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt_0.7.14.bb
@@ -0,0 +1,15 @@
+DEPENDS = "curl db"
+RDEPENDS = "dpkg"
+
+require apt.inc
+
+PR = "r3"
+
+SRC_URI += "file://nodoc.patch \
+ file://includes-fix.patch"
+
+require apt-package.inc
+
+FILES_${PN} += "${bindir}/apt-key"
+apt-manpages += "doc/apt-key.8"
+
diff --git a/meta/recipes-devtools/apt/files/apt.conf b/meta/recipes-devtools/apt/files/apt.conf
new file mode 100644
index 00000000000..2bd9ddbfaf9
--- /dev/null
+++ b/meta/recipes-devtools/apt/files/apt.conf
@@ -0,0 +1,43 @@
+Dir "${STAGING_DIR_NATIVE}/"
+{
+ State "var/lib/apt/"
+ {
+ Lists "lists/";
+ status "${IMAGE_ROOTFS}/var/dpkg/status";
+ };
+ Cache "var/cache/apt/"
+ {
+ Archives "archives/";
+ pkgcache "";
+ srcpkgcache "";
+ };
+ Bin "${STAGING_BINDIR_NATIVE}/"
+ {
+ methods "${STAGING_LIBDIR}/apt/methods/";
+ gzip "/bin/gzip";
+ dpkg "dpkg";
+ dpkg-source "dpkg-source";
+ dpkg-buildpackage "dpkg-buildpackage";
+ apt-get "apt-get";
+ apt-cache "apt-cache";
+ };
+ Etc "etc/apt/"
+ {
+ Preferences "preferences";
+ };
+};
+
+APT
+{
+ Install-Recommends "true";
+ Immediate-Configure "false";
+ Architecture "i586";
+ Get
+ {
+ Assume-Yes "true";
+ Force-Yes "true"
+ };
+};
+
+DPkg::Options {"--root=${IMAGE_ROOTFS}";"--admindir=${IMAGE_ROOTFS}/var/dpkg";"--force-all";"--no-debsig"};
+};
diff --git a/meta/recipes-devtools/apt/files/db_linking_hack.patch b/meta/recipes-devtools/apt/files/db_linking_hack.patch
new file mode 100644
index 00000000000..3c8368b1ed7
--- /dev/null
+++ b/meta/recipes-devtools/apt/files/db_linking_hack.patch
@@ -0,0 +1,27 @@
+Index: apt-0.7.3/configure.in
+===================================================================
+--- apt-0.7.3.orig/configure.in 2007-07-01 10:38:45.000000000 +0000
++++ apt-0.7.3/configure.in 2007-08-21 13:39:26.000000000 +0000
+@@ -67,8 +67,20 @@
+ [AC_DEFINE(HAVE_BDB)
+ BDBLIB="-ldb"
+ AC_MSG_RESULT(yes)],
+- [BDBLIB=""
+- AC_MSG_RESULT(no)]
++
++ LIBS="$LIBS -lpthread"
++ [AC_MSG_CHECKING(if we can link against BerkeleyDB with pthread)
++ AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM(
++ [#include <db.h>],
++ [int r, s, t; db_version(&r, &s, &t);]
++ )],
++ [AC_DEFINE(HAVE_BDB)
++ BDBLIB="-ldb -lpthread"
++ AC_MSG_RESULT(yes)],
++ [BDBLIB=""
++ AC_MSG_RESULT(no)]
++ )]
+ )]
+ )
+
diff --git a/meta/recipes-devtools/apt/files/environment.patch b/meta/recipes-devtools/apt/files/environment.patch
new file mode 100644
index 00000000000..5bea1a01304
--- /dev/null
+++ b/meta/recipes-devtools/apt/files/environment.patch
@@ -0,0 +1,13 @@
+Index: apt-0.6.46.2/buildlib/environment.mak.in
+===================================================================
+--- apt-0.6.46.2.orig/buildlib/environment.mak.in 2007-03-29 11:38:58.000000000 +0100
++++ apt-0.6.46.2/buildlib/environment.mak.in 2007-03-29 11:39:12.000000000 +0100
+@@ -62,7 +62,7 @@
+
+ # Shared library things
+ HOST_OS = @host_os@
+-ifneq ($(words $(filter linux-gnu gnu% %gnu,$(HOST_OS))),0)
++ifneq ($(words $(filter linux-gnu linux-gnueabi gnu% %gnu,$(HOST_OS))),0)
+ SONAME_MAGIC=-Wl,-soname -Wl,
+ LFLAGS_SO=
+ else
diff --git a/meta/recipes-devtools/apt/files/no-curl.patch b/meta/recipes-devtools/apt/files/no-curl.patch
new file mode 100644
index 00000000000..4e07c8f2dc2
--- /dev/null
+++ b/meta/recipes-devtools/apt/files/no-curl.patch
@@ -0,0 +1,44 @@
+---
+ configure.in | 6 ------
+ methods/makefile | 7 -------
+ 2 files changed, 13 deletions(-)
+
+--- apt-0.7.14.orig/configure.in
++++ apt-0.7.14/configure.in
+@@ -84,16 +84,10 @@ AC_CHECK_HEADER(db.h,
+ )]
+ )
+
+ LIBS="$saveLIBS"
+
+-AC_CHECK_LIB(curl, curl_easy_init,
+- [AC_CHECK_HEADER(curl/curl.h,
+- curl_ok=yes,
+- curl_ok=no)],
+- AC_MSG_ERROR([failed: I need CURL due https support]),
+-)
+
+ AC_SUBST(BDBLIB)
+
+ dnl Converts the ARCH to be something singular for this general CPU family
+ dnl This is often the dpkg architecture string.
+--- apt-0.7.14.orig/methods/makefile
++++ apt-0.7.14/methods/makefile
+@@ -50,17 +50,10 @@ PROGRAM=http
+ SLIBS = -lapt-pkg $(SOCKETLIBS)
+ LIB_MAKES = apt-pkg/makefile
+ SOURCE = http.cc rfc2553emu.cc connect.cc
+ include $(PROGRAM_H)
+
+-# The https method
+-PROGRAM=https
+-SLIBS = -lapt-pkg -lcurl
+-LIB_MAKES = apt-pkg/makefile
+-SOURCE = https.cc
+-include $(PROGRAM_H)
+-
+ # The ftp method
+ PROGRAM=ftp
+ SLIBS = -lapt-pkg $(SOCKETLIBS)
+ LIB_MAKES = apt-pkg/makefile
+ SOURCE = ftp.cc rfc2553emu.cc connect.cc