All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 0/2] Tidy up some files
@ 2012-02-24 10:12 Paul Eggleton
  2012-02-24 10:12 ` [meta-oe][PATCH 1/2] python-setuptools: remove Paul Eggleton
  2012-02-24 10:12 ` [meta-oe][PATCH 2/2] Tidy up unused files Paul Eggleton
  0 siblings, 2 replies; 3+ messages in thread
From: Paul Eggleton @ 2012-02-24 10:12 UTC (permalink / raw)
  To: openembedded-devel

Pick off some low-hanging fruit.

The following changes since commit 9cca08ee27f166395e500718bf184fa86112c224:

  systemd: split out libraries from ${PN} (2012-02-24 10:55:49 +0100)

are available in the git repository at:
  git://git.openembedded.org/meta-openembedded-contrib paule/tidy
  http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=paule/tidy

Paul Eggleton (2):
  python-setuptools: remove
  Tidy up unused files

 .../eglibc/ldconfig-native-2.12.1/32and64bit.patch |  331 --------------
 .../eglibc/ldconfig-native-2.12.1/README           |    8 -
 .../endian-ness_handling.patch                     |  454 -------------------
 .../ldconfig-native-2.12.1/endianess-header.patch  |  113 -----
 .../eglibc/ldconfig-native-2.12.1/flag_fix.patch   |   24 -
 .../ldconfig-native-2.12.1.tar.bz2                 |  Bin 21491 -> 0 bytes
 .../eglibc/ldconfig-native-2.12.1/ldconfig.patch   |  471 --------------------
 .../ldconfig_aux-cache_path_fix.patch              |   36 --
 .../python/python-setuptools_0.6c11.bb             |   33 --
 .../0001-don-t-try-to-run-generated-binaries.patch |   68 ---
 .../cups/cups-1.4.6/use_echo_only_in_init.patch    |   11 -
 meta-oe/recipes-support/cups/cups14.inc            |   84 ----
 12 files changed, 0 insertions(+), 1633 deletions(-)
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/README
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
 delete mode 100644 meta-oe/recipes-devtools/python/python-setuptools_0.6c11.bb
 delete mode 100644 meta-oe/recipes-support/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
 delete mode 100644 meta-oe/recipes-support/cups/cups-1.4.6/use_echo_only_in_init.patch
 delete mode 100644 meta-oe/recipes-support/cups/cups14.inc

-- 
1.7.5.4




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [meta-oe][PATCH 1/2] python-setuptools: remove
  2012-02-24 10:12 [meta-oe][PATCH 0/2] Tidy up some files Paul Eggleton
@ 2012-02-24 10:12 ` Paul Eggleton
  2012-02-24 10:12 ` [meta-oe][PATCH 2/2] Tidy up unused files Paul Eggleton
  1 sibling, 0 replies; 3+ messages in thread
From: Paul Eggleton @ 2012-02-24 10:12 UTC (permalink / raw)
  To: openembedded-devel

This is identical to the version now in OE-Core except for the
NATIVE_INSTALL_WORKS line and that variable is no longer used, so remove
this recipe.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../python/python-setuptools_0.6c11.bb             |   33 --------------------
 1 files changed, 0 insertions(+), 33 deletions(-)
 delete mode 100644 meta-oe/recipes-devtools/python/python-setuptools_0.6c11.bb

diff --git a/meta-oe/recipes-devtools/python/python-setuptools_0.6c11.bb b/meta-oe/recipes-devtools/python/python-setuptools_0.6c11.bb
deleted file mode 100644
index 32e2e57..0000000
--- a/meta-oe/recipes-devtools/python/python-setuptools_0.6c11.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "Download, build, install, upgrade, and uninstall Python packages"
-HOMEPAGE = "http://cheeseshop.python.org/pypi/setuptools"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=23;endline=23;md5=8a314270dd7a8dbca741775415f1716e"
-
-SRCNAME = "setuptools"
-PR = "ml3"
-DEPENDS += "python"
-DEPENDS_virtclass-native += "python-native"
-
-SRC_URI = "\
-  http://cheeseshop.python.org/packages/source/s/setuptools/${SRCNAME}-${PV}.tar.gz\
-"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit distutils
-
-do_install_prepend() {
-    install -d ${D}/${libdir}/${PYTHON_DIR}/site-packages
-}
-
-RDEPENDS_${PN} = "\
-  python-distutils \
-  python-compression \
-"
-
-SRC_URI[md5sum] = "7df2a529a074f613b509fb44feefe74e"
-SRC_URI[sha256sum] = "630fea9b726320b73ee3ca6ff61732cb32675b0389be658080fe46383b87a1d3"
-
-BBCLASSEXTEND = "native"
-
-NATIVE_INSTALL_WORKS = "1"
-- 
1.7.5.4




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [meta-oe][PATCH 2/2] Tidy up unused files
  2012-02-24 10:12 [meta-oe][PATCH 0/2] Tidy up some files Paul Eggleton
  2012-02-24 10:12 ` [meta-oe][PATCH 1/2] python-setuptools: remove Paul Eggleton
@ 2012-02-24 10:12 ` Paul Eggleton
  1 sibling, 0 replies; 3+ messages in thread
From: Paul Eggleton @ 2012-02-24 10:12 UTC (permalink / raw)
  To: openembedded-devel

In 3fdcb18dd6861f442f18c7c3a1638e9c8e158b83 the cups and ldconfig-native
recipes were removed but the associated files weren't, so remove those
as well.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../eglibc/ldconfig-native-2.12.1/32and64bit.patch |  331 --------------
 .../eglibc/ldconfig-native-2.12.1/README           |    8 -
 .../endian-ness_handling.patch                     |  454 -------------------
 .../ldconfig-native-2.12.1/endianess-header.patch  |  113 -----
 .../eglibc/ldconfig-native-2.12.1/flag_fix.patch   |   24 -
 .../ldconfig-native-2.12.1.tar.bz2                 |  Bin 21491 -> 0 bytes
 .../eglibc/ldconfig-native-2.12.1/ldconfig.patch   |  471 --------------------
 .../ldconfig_aux-cache_path_fix.patch              |   36 --
 .../0001-don-t-try-to-run-generated-binaries.patch |   68 ---
 .../cups/cups-1.4.6/use_echo_only_in_init.patch    |   11 -
 meta-oe/recipes-support/cups/cups14.inc            |   84 ----
 11 files changed, 0 insertions(+), 1600 deletions(-)
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/README
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch
 delete mode 100644 meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
 delete mode 100644 meta-oe/recipes-support/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
 delete mode 100644 meta-oe/recipes-support/cups/cups-1.4.6/use_echo_only_in_init.patch
 delete mode 100644 meta-oe/recipes-support/cups/cups14.inc

diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch
deleted file mode 100644
index cdfeaea..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch
+++ /dev/null
@@ -1,331 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-We run the ldconfig in the cross fashion. make the code bitsize aware so that 
-we can cross build ldconfig cache for various architectures.
-
-Richard Purdie <richard.purdie@linuxfoundation.org> 2009/05/19
-Nitin A Kamble <nitin.a.kamble@intel.com> 2009/03/29
-
-Index: ldconfig-native-2.12.1/readelflib.c
-===================================================================
---- ldconfig-native-2.12.1.orig/readelflib.c
-+++ ldconfig-native-2.12.1/readelflib.c
-@@ -40,39 +40,212 @@ do								\
- 
- /* Returns 0 if everything is ok, != 0 in case of error.  */
- int
--process_elf_file (const char *file_name, const char *lib, int *flag,
-+process_elf_file32 (const char *file_name, const char *lib, int *flag,
- 		  unsigned int *osversion, char **soname, void *file_contents,
- 		  size_t file_length)
- {
-   int i;
-   unsigned int j;
--  ElfW(Addr) loadaddr;
-+  Elf32_Addr loadaddr;
-   unsigned int dynamic_addr;
-   size_t dynamic_size;
-   char *program_interpreter;
- 
--  ElfW(Ehdr) *elf_header;
--  ElfW(Phdr) *elf_pheader, *segment;
--  ElfW(Dyn) *dynamic_segment, *dyn_entry;
-+  Elf32_Ehdr *elf_header;
-+  Elf32_Phdr *elf_pheader, *segment;
-+  Elf32_Dyn *dynamic_segment, *dyn_entry;
-   char *dynamic_strings;
- 
--  elf_header = (ElfW(Ehdr) *) file_contents;
-+  elf_header = (Elf32_Ehdr *) file_contents;
-   *osversion = 0;
- 
--  if (elf_header->e_ident [EI_CLASS] != ElfW (CLASS))
-+  if (elf_header->e_type != ET_DYN)
-     {
--      if (opt_verbose)
-+      error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
-+	     elf_header->e_type);
-+      return 1;
-+    }
-+
-+  /* Get information from elf program header.  */
-+  elf_pheader = (Elf32_Phdr *) (elf_header->e_phoff + file_contents);
-+  check_ptr (elf_pheader);
-+
-+  /* The library is an elf library, now search for soname and
-+     libc5/libc6.  */
-+  *flag = FLAG_ELF;
-+
-+  loadaddr = -1;
-+  dynamic_addr = 0;
-+  dynamic_size = 0;
-+  program_interpreter = NULL;
-+  for (i = 0, segment = elf_pheader;
-+       i < elf_header->e_phnum; i++, segment++)
-+    {
-+      check_ptr (segment);
-+
-+      switch (segment->p_type)
- 	{
--	  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
--	    error (0, 0, _("%s is a 32 bit ELF file.\n"), file_name);
--	  else if (elf_header->e_ident [EI_CLASS] == ELFCLASS64)
--	    error (0, 0, _("%s is a 64 bit ELF file.\n"), file_name);
--	  else
--	    error (0, 0, _("Unknown ELFCLASS in file %s.\n"), file_name);
-+	case PT_LOAD:
-+	  if (loadaddr == (Elf32_Addr) -1)
-+	    loadaddr = segment->p_vaddr - segment->p_offset;
-+	  break;
-+
-+	case PT_DYNAMIC:
-+	  if (dynamic_addr)
-+	    error (0, 0, _("more than one dynamic segment\n"));
-+
-+	  dynamic_addr = segment->p_offset;
-+	  dynamic_size = segment->p_filesz;
-+	  break;
-+
-+	case PT_INTERP:
-+	  program_interpreter = (char *) (file_contents + segment->p_offset);
-+	  check_ptr (program_interpreter);
-+
-+	  /* Check if this is enough to classify the binary.  */
-+	  for (j = 0; j < sizeof (interpreters) / sizeof (interpreters [0]);
-+	       ++j)
-+	    if (strcmp (program_interpreter, interpreters[j].soname) == 0)
-+	      {
-+		*flag = interpreters[j].flag;
-+		break;
-+	      }
-+	  break;
-+
-+	case PT_NOTE:
-+	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
-+	    {
-+	      Elf32_Word *abi_note = (Elf32_Word *) (file_contents
-+						     + segment->p_offset);
-+	      Elf32_Addr size = segment->p_filesz;
-+
-+	      while (abi_note [0] != 4 || abi_note [1] != 16
-+		     || abi_note [2] != 1
-+		     || memcmp (abi_note + 3, "GNU", 4) != 0)
-+		{
-+#define ROUND(len) (((len) + sizeof (Elf32_Word)) - 1) & -sizeof (Elf32_Word)))
-+		  Elf32_Addr) note_size = 3 * sizeof (Elf32_Word))
-+					 + ROUND (abi_note[0])
-+					 + ROUND (abi_note[1]);
-+
-+		  if (size - 32 < note_size || note_size == 0)
-+		    {
-+		      size = 0;
-+		      break;
-+		    }
-+		  size -= note_size;
-+		  abi_note = (void *) abi_note + note_size;
-+		}
-+
-+	      if (size == 0)
-+		break;
-+
-+	      *osversion = (abi_note [4] << 24) |
-+			   ((abi_note [5] & 0xff) << 16) |
-+			   ((abi_note [6] & 0xff) << 8) |
-+			   (abi_note [7] & 0xff);
-+	    }
-+	  break;
-+
-+	default:
-+	  break;
-+	}
-+
-+    }
-+  if (loadaddr == (Elf32_Addr) -1)
-+    {
-+      /* Very strange. */
-+      loadaddr = 0;
-+    }
-+
-+  /* Now we can read the dynamic sections.  */
-+  if (dynamic_size == 0)
-+    return 1;
-+
-+  dynamic_segment = (Elf32_Dyn *) (file_contents + dynamic_addr);
-+  check_ptr (dynamic_segment);
-+
-+  /* Find the string table.  */
-+  dynamic_strings = NULL;
-+  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+       ++dyn_entry)
-+    {
-+      check_ptr (dyn_entry);
-+      if (dyn_entry->d_tag == DT_STRTAB)
-+	{
-+	  dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr);
-+	  check_ptr (dynamic_strings);
-+	  break;
- 	}
--      return 1;
-     }
- 
-+  if (dynamic_strings == NULL)
-+    return 1;
-+
-+  /* Now read the DT_NEEDED and DT_SONAME entries.  */
-+  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+       ++dyn_entry)
-+    {
-+      if (dyn_entry->d_tag == DT_NEEDED || dyn_entry->d_tag == DT_SONAME)
-+	{
-+	  char *name = dynamic_strings + dyn_entry->d_un.d_val;
-+	  check_ptr (name);
-+
-+	  if (dyn_entry->d_tag == DT_NEEDED)
-+	    {
-+
-+	      if (*flag == FLAG_ELF)
-+		{
-+		  /* Check if this is enough to classify the binary.  */
-+		  for (j = 0;
-+		       j < sizeof (known_libs) / sizeof (known_libs [0]);
-+		       ++j)
-+		    if (strcmp (name, known_libs [j].soname) == 0)
-+		      {
-+			*flag = known_libs [j].flag;
-+			break;
-+		      }
-+		}
-+	    }
-+
-+	  else if (dyn_entry->d_tag == DT_SONAME)
-+	    *soname = xstrdup (name);
-+
-+	  /* Do we have everything we need?  */
-+	  if (*soname && *flag != FLAG_ELF)
-+	    return 0;
-+	}
-+    }
-+
-+  /* We reach this point only if the file doesn't contain a DT_SONAME
-+     or if we can't classify the library.  If it doesn't have a
-+     soname, return the name of the library.  */
-+  if (*soname == NULL)
-+    *soname = xstrdup (lib);
-+
-+  return 0;
-+}
-+
-+int
-+process_elf_file64 (const char *file_name, const char *lib, int *flag,
-+		  unsigned int *osversion, char **soname, void *file_contents,
-+		  size_t file_length)
-+{
-+  int i;
-+  unsigned int j;
-+  Elf64_Addr loadaddr;
-+  unsigned int dynamic_addr;
-+  size_t dynamic_size;
-+  char *program_interpreter;
-+
-+  Elf64_Ehdr *elf_header;
-+  Elf64_Phdr *elf_pheader, *segment;
-+  Elf64_Dyn *dynamic_segment, *dyn_entry;
-+  char *dynamic_strings;
-+
-+  elf_header = (Elf64_Ehdr *) file_contents;
-+  *osversion = 0;
-+
-   if (elf_header->e_type != ET_DYN)
-     {
-       error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
-@@ -81,7 +254,7 @@ process_elf_file (const char *file_name,
-     }
- 
-   /* Get information from elf program header.  */
--  elf_pheader = (ElfW(Phdr) *) (elf_header->e_phoff + file_contents);
-+  elf_pheader = (Elf64_Phdr *) (elf_header->e_phoff + file_contents);
-   check_ptr (elf_pheader);
- 
-   /* The library is an elf library, now search for soname and
-@@ -100,7 +273,7 @@ process_elf_file (const char *file_name,
-       switch (segment->p_type)
- 	{
- 	case PT_LOAD:
--	  if (loadaddr == (ElfW(Addr)) -1)
-+	  if (loadaddr == (Elf64_Addr) -1)
- 	    loadaddr = segment->p_vaddr - segment->p_offset;
- 	  break;
- 
-@@ -129,16 +302,16 @@ process_elf_file (const char *file_name,
- 	case PT_NOTE:
- 	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
- 	    {
--	      ElfW(Word) *abi_note = (ElfW(Word) *) (file_contents
-+	      Elf64_Word *abi_note = (Elf64_Word *) (file_contents
- 						     + segment->p_offset);
--	      ElfW(Addr) size = segment->p_filesz;
-+	      Elf64_Addr size = segment->p_filesz;
- 
- 	      while (abi_note [0] != 4 || abi_note [1] != 16
- 		     || abi_note [2] != 1
- 		     || memcmp (abi_note + 3, "GNU", 4) != 0)
- 		{
--#define ROUND(len) (((len) + sizeof (ElfW(Word)) - 1) & -sizeof (ElfW(Word)))
--		  ElfW(Addr) note_size = 3 * sizeof (ElfW(Word))
-+#define ROUND(len) (((len) + sizeof (Elf64_Word) - 1) & -sizeof (Elf64_Word))
-+		  Elf64_Addr note_size = 3 * sizeof (Elf64_Word)
- 					 + ROUND (abi_note[0])
- 					 + ROUND (abi_note[1]);
- 
-@@ -166,7 +339,7 @@ process_elf_file (const char *file_name,
- 	}
- 
-     }
--  if (loadaddr == (ElfW(Addr)) -1)
-+  if (loadaddr == (Elf64_Addr) -1)
-     {
-       /* Very strange. */
-       loadaddr = 0;
-@@ -176,7 +349,7 @@ process_elf_file (const char *file_name,
-   if (dynamic_size == 0)
-     return 1;
- 
--  dynamic_segment = (ElfW(Dyn) *) (file_contents + dynamic_addr);
-+  dynamic_segment = (Elf64_Dyn *) (file_contents + dynamic_addr);
-   check_ptr (dynamic_segment);
- 
-   /* Find the string table.  */
-@@ -233,3 +406,33 @@ process_elf_file (const char *file_name,
- 
-   return 0;
- }
-+/* Returns 0 if everything is ok, != 0 in case of error.  */
-+int
-+process_elf_file (const char *file_name, const char *lib, int *flag,
-+		  unsigned int *osversion, char **soname, void *file_contents,
-+		  size_t file_length)
-+{
-+  int i;
-+  unsigned int j;
-+  ElfW(Addr) loadaddr;
-+  unsigned int dynamic_addr;
-+  size_t dynamic_size;
-+  char *program_interpreter;
-+
-+  ElfW(Ehdr) *elf_header;
-+  ElfW(Phdr) *elf_pheader, *segment;
-+  ElfW(Dyn) *dynamic_segment, *dyn_entry;
-+  char *dynamic_strings;
-+
-+  elf_header = (ElfW(Ehdr) *) file_contents;
-+  *osversion = 0;
-+
-+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
-+    return process_elf_file32(file_name, lib,flag, osversion, soname, file_contents, file_length);
-+  else if (elf_header->e_ident [EI_CLASS] == ELFCLASS64)
-+    return process_elf_file64(file_name, lib,flag, osversion, soname, file_contents, file_length);
-+  error (0, 0, _("Unknown ELFCLASS in file %s.\n"), file_name);
-+  return 1;
-+}
-+
-+
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/README b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/README
deleted file mode 100644
index 43fb983..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/README
+++ /dev/null
@@ -1,8 +0,0 @@
-The files are pulled verbatim from glibc 2.5 and then patched to allow
-standalone compilation of ldconfig.
-
-Richard Purdie
-OpenedHand Ltd.
-
-Upgraded the ldconfig recipe to eglibc 2.12.1
-Nitin A Kamble <nitin.a.kamble@intel.com> 2011/03/29
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
deleted file mode 100644
index 7f8e4db..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
+++ /dev/null
@@ -1,454 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Do data input/output handling according to endien-ness of the library file. That 
-enables use of ldconfig in the cross fashion for any architecture.
-
-2011/04/04
-Richard Purdie <richard.purdie@linuxfoundation.org>
-Nitin Kamble <nitin.a.kamble@intel.com>
-
-Index: ldconfig-native-2.12.1/readelflib.c
-===================================================================
---- ldconfig-native-2.12.1.orig/readelflib.c
-+++ ldconfig-native-2.12.1/readelflib.c
-@@ -38,6 +38,28 @@ do								\
-   }								\
-  while (0);
- 
-+int be;
-+static uint16_t read16(uint16_t x, int be)
-+{
-+  if (be)
-+        return be16toh(x);
-+  return le16toh(x);
-+}
-+
-+static uint32_t read32(uint32_t x, int be)
-+{
-+  if (be)
-+        return be32toh(x);
-+  return le32toh(x);
-+}
-+
-+static uint64_t read64(uint64_t x, int be)
-+{
-+  if (be)
-+        return be64toh(x);
-+  return le64toh(x);
-+}
-+
- /* Returns 0 if everything is ok, != 0 in case of error.  */
- int
- process_elf_file32 (const char *file_name, const char *lib, int *flag,
-@@ -59,15 +81,17 @@ process_elf_file32 (const char *file_nam
-   elf_header = (Elf32_Ehdr *) file_contents;
-   *osversion = 0;
- 
--  if (elf_header->e_type != ET_DYN)
-+  be = (elf_header->e_ident[EI_DATA] == ELFDATA2MSB);
-+
-+  if (read16(elf_header->e_type, be) != ET_DYN)
-     {
-       error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
--	     elf_header->e_type);
-+	     read16(elf_header->e_type, be));
-       return 1;
-     }
- 
-   /* Get information from elf program header.  */
--  elf_pheader = (Elf32_Phdr *) (elf_header->e_phoff + file_contents);
-+  elf_pheader = (Elf32_Phdr *) (read32(elf_header->e_phoff, be) + file_contents);
-   check_ptr (elf_pheader);
- 
-   /* The library is an elf library, now search for soname and
-@@ -79,27 +103,27 @@ process_elf_file32 (const char *file_nam
-   dynamic_size = 0;
-   program_interpreter = NULL;
-   for (i = 0, segment = elf_pheader;
--       i < elf_header->e_phnum; i++, segment++)
-+       i < read16(elf_header->e_phnum, be); i++, segment++)
-     {
-       check_ptr (segment);
- 
--      switch (segment->p_type)
-+      switch (read32(segment->p_type, be))
- 	{
- 	case PT_LOAD:
- 	  if (loadaddr == (Elf32_Addr) -1)
--	    loadaddr = segment->p_vaddr - segment->p_offset;
-+	    loadaddr = read32(segment->p_vaddr, be) - read32(segment->p_offset, be);
- 	  break;
- 
- 	case PT_DYNAMIC:
- 	  if (dynamic_addr)
- 	    error (0, 0, _("more than one dynamic segment\n"));
- 
--	  dynamic_addr = segment->p_offset;
--	  dynamic_size = segment->p_filesz;
-+	  dynamic_addr = read32(segment->p_offset, be);
-+	  dynamic_size = read32(segment->p_filesz, be);
- 	  break;
- 
- 	case PT_INTERP:
--	  program_interpreter = (char *) (file_contents + segment->p_offset);
-+	  program_interpreter = (char *) (file_contents + read32(segment->p_offset, be));
- 	  check_ptr (program_interpreter);
- 
- 	  /* Check if this is enough to classify the binary.  */
-@@ -113,20 +137,20 @@ process_elf_file32 (const char *file_nam
- 	  break;
- 
- 	case PT_NOTE:
--	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
-+	  if (!*osversion && read32(segment->p_filesz, be) >= 32 && segment->p_align >= 4)
- 	    {
- 	      Elf32_Word *abi_note = (Elf32_Word *) (file_contents
--						     + segment->p_offset);
--	      Elf32_Addr size = segment->p_filesz;
-+						     + read32(segment->p_offset, be));
-+	      Elf32_Addr size = read32(segment->p_filesz, be);
- 
--	      while (abi_note [0] != 4 || abi_note [1] != 16
--		     || abi_note [2] != 1
-+	      while (read32(abi_note [0], be) != 4 || read32(abi_note [1], be) != 16
-+		     || read32(abi_note [2], be) != 1
- 		     || memcmp (abi_note + 3, "GNU", 4) != 0)
- 		{
--#define ROUND(len) (((len) + sizeof (Elf32_Word)) - 1) & -sizeof (Elf32_Word)))
--		  Elf32_Addr) note_size = 3 * sizeof (Elf32_Word))
--					 + ROUND (abi_note[0])
--					 + ROUND (abi_note[1]);
-+#define ROUND(len) (((len) + sizeof (Elf32_Word) - 1) & -sizeof (Elf32_Word))
-+		  Elf32_Addr note_size = 3 * sizeof (Elf32_Word)
-+					 + ROUND (read32(abi_note[0], be))
-+					 + ROUND (read32(abi_note[1], be));
- 
- 		  if (size - 32 < note_size || note_size == 0)
- 		    {
-@@ -140,10 +164,10 @@ process_elf_file32 (const char *file_nam
- 	      if (size == 0)
- 		break;
- 
--	      *osversion = (abi_note [4] << 24) |
--			   ((abi_note [5] & 0xff) << 16) |
--			   ((abi_note [6] & 0xff) << 8) |
--			   (abi_note [7] & 0xff);
-+	      *osversion = (read32(abi_note [4], be) << 24) |
-+			   ((read32(abi_note [5], be) & 0xff) << 16) |
-+			   ((read32(abi_note [6], be) & 0xff) << 8) |
-+			   (read32(abi_note [7], be) & 0xff);
- 	    }
- 	  break;
- 
-@@ -167,13 +191,13 @@ process_elf_file32 (const char *file_nam
- 
-   /* Find the string table.  */
-   dynamic_strings = NULL;
--  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+  for (dyn_entry = dynamic_segment; read32(dyn_entry->d_tag, be) != DT_NULL;
-        ++dyn_entry)
-     {
-       check_ptr (dyn_entry);
--      if (dyn_entry->d_tag == DT_STRTAB)
-+      if (read32(dyn_entry->d_tag, be) == DT_STRTAB)
- 	{
--	  dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr);
-+	  dynamic_strings = (char *) (file_contents + read32(dyn_entry->d_un.d_val, be) - loadaddr);
- 	  check_ptr (dynamic_strings);
- 	  break;
- 	}
-@@ -183,15 +207,15 @@ process_elf_file32 (const char *file_nam
-     return 1;
- 
-   /* Now read the DT_NEEDED and DT_SONAME entries.  */
--  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+  for (dyn_entry = dynamic_segment; read32(dyn_entry->d_tag, be) != DT_NULL;
-        ++dyn_entry)
-     {
--      if (dyn_entry->d_tag == DT_NEEDED || dyn_entry->d_tag == DT_SONAME)
-+      if (read32(dyn_entry->d_tag, be) == DT_NEEDED || read32(dyn_entry->d_tag, be) == DT_SONAME)
- 	{
--	  char *name = dynamic_strings + dyn_entry->d_un.d_val;
-+	  char *name = dynamic_strings + read32(dyn_entry->d_un.d_val, be);
- 	  check_ptr (name);
- 
--	  if (dyn_entry->d_tag == DT_NEEDED)
-+	  if (read32(dyn_entry->d_tag, be) == DT_NEEDED)
- 	    {
- 
- 	      if (*flag == FLAG_ELF)
-@@ -208,7 +232,7 @@ process_elf_file32 (const char *file_nam
- 		}
- 	    }
- 
--	  else if (dyn_entry->d_tag == DT_SONAME)
-+	  else if (read32(dyn_entry->d_tag, be) == DT_SONAME)
- 	    *soname = xstrdup (name);
- 
- 	  /* Do we have everything we need?  */
-@@ -246,15 +270,17 @@ process_elf_file64 (const char *file_nam
-   elf_header = (Elf64_Ehdr *) file_contents;
-   *osversion = 0;
- 
--  if (elf_header->e_type != ET_DYN)
-+  be = (elf_header->e_ident[EI_DATA] == ELFDATA2MSB);
-+
-+  if (read16(elf_header->e_type, be) != ET_DYN)
-     {
-       error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
--	     elf_header->e_type);
-+	     read16(elf_header->e_type, be));
-       return 1;
-     }
- 
-   /* Get information from elf program header.  */
--  elf_pheader = (Elf64_Phdr *) (elf_header->e_phoff + file_contents);
-+  elf_pheader = (Elf64_Phdr *) (read64(elf_header->e_phoff, be) + file_contents);
-   check_ptr (elf_pheader);
- 
-   /* The library is an elf library, now search for soname and
-@@ -266,27 +292,27 @@ process_elf_file64 (const char *file_nam
-   dynamic_size = 0;
-   program_interpreter = NULL;
-   for (i = 0, segment = elf_pheader;
--       i < elf_header->e_phnum; i++, segment++)
-+       i < read16(elf_header->e_phnum, be); i++, segment++)
-     {
-       check_ptr (segment);
- 
--      switch (segment->p_type)
-+      switch (read32(segment->p_type, be))
- 	{
- 	case PT_LOAD:
- 	  if (loadaddr == (Elf64_Addr) -1)
--	    loadaddr = segment->p_vaddr - segment->p_offset;
-+	    loadaddr = read64(segment->p_vaddr, be) - read64(segment->p_offset, be);
- 	  break;
- 
- 	case PT_DYNAMIC:
- 	  if (dynamic_addr)
- 	    error (0, 0, _("more than one dynamic segment\n"));
- 
--	  dynamic_addr = segment->p_offset;
--	  dynamic_size = segment->p_filesz;
-+	  dynamic_addr = read64(segment->p_offset, be);
-+	  dynamic_size = read32(segment->p_filesz, be);
- 	  break;
- 
- 	case PT_INTERP:
--	  program_interpreter = (char *) (file_contents + segment->p_offset);
-+	  program_interpreter = (char *) (file_contents + read64(segment->p_offset, be));
- 	  check_ptr (program_interpreter);
- 
- 	  /* Check if this is enough to classify the binary.  */
-@@ -300,20 +326,21 @@ process_elf_file64 (const char *file_nam
- 	  break;
- 
- 	case PT_NOTE:
--	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
-+	  if (!*osversion && read32(segment->p_filesz, be) >= 32 && read32(segment->p_align, be) >= 4)
- 	    {
- 	      Elf64_Word *abi_note = (Elf64_Word *) (file_contents
--						     + segment->p_offset);
--	      Elf64_Addr size = segment->p_filesz;
-+						     + read64(segment->p_offset, be));
-+	      Elf64_Addr size = read32(segment->p_filesz, be);
- 
--	      while (abi_note [0] != 4 || abi_note [1] != 16
--		     || abi_note [2] != 1
-+	      while (read32(abi_note [0], be) != 4 || read32(abi_note [1], be) != 16
-+		     || read32(abi_note [2], be) != 1
- 		     || memcmp (abi_note + 3, "GNU", 4) != 0)
- 		{
-+#undef ROUND
- #define ROUND(len) (((len) + sizeof (Elf64_Word) - 1) & -sizeof (Elf64_Word))
- 		  Elf64_Addr note_size = 3 * sizeof (Elf64_Word)
--					 + ROUND (abi_note[0])
--					 + ROUND (abi_note[1]);
-+					 + ROUND (read32(abi_note[0], be))
-+					 + ROUND (read32(abi_note[1], be));
- 
- 		  if (size - 32 < note_size || note_size == 0)
- 		    {
-@@ -327,10 +354,10 @@ process_elf_file64 (const char *file_nam
- 	      if (size == 0)
- 		break;
- 
--	      *osversion = (abi_note [4] << 24) |
--			   ((abi_note [5] & 0xff) << 16) |
--			   ((abi_note [6] & 0xff) << 8) |
--			   (abi_note [7] & 0xff);
-+	      *osversion = (read32(abi_note [4], be) << 24) |
-+			   ((read32(abi_note [5], be) & 0xff) << 16) |
-+			   ((read32(abi_note [6], be) & 0xff) << 8) |
-+			   (read32(abi_note [7], be) & 0xff);
- 	    }
- 	  break;
- 
-@@ -354,13 +381,13 @@ process_elf_file64 (const char *file_nam
- 
-   /* Find the string table.  */
-   dynamic_strings = NULL;
--  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+  for (dyn_entry = dynamic_segment; read64(dyn_entry->d_tag, be) != DT_NULL;
-        ++dyn_entry)
-     {
-       check_ptr (dyn_entry);
--      if (dyn_entry->d_tag == DT_STRTAB)
-+      if (read64(dyn_entry->d_tag, be) == DT_STRTAB)
- 	{
--	  dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr);
-+	  dynamic_strings = (char *) (file_contents + read64(dyn_entry->d_un.d_val, be) - loadaddr);
- 	  check_ptr (dynamic_strings);
- 	  break;
- 	}
-@@ -370,15 +397,15 @@ process_elf_file64 (const char *file_nam
-     return 1;
- 
-   /* Now read the DT_NEEDED and DT_SONAME entries.  */
--  for (dyn_entry = dynamic_segment; dyn_entry->d_tag != DT_NULL;
-+  for (dyn_entry = dynamic_segment; read64(dyn_entry->d_tag, be) != DT_NULL;
-        ++dyn_entry)
-     {
--      if (dyn_entry->d_tag == DT_NEEDED || dyn_entry->d_tag == DT_SONAME)
-+      if (read64(dyn_entry->d_tag, be) == DT_NEEDED || read64(dyn_entry->d_tag, be) == DT_SONAME)
- 	{
--	  char *name = dynamic_strings + dyn_entry->d_un.d_val;
-+	  char *name = dynamic_strings + read64(dyn_entry->d_un.d_val, be);
- 	  check_ptr (name);
- 
--	  if (dyn_entry->d_tag == DT_NEEDED)
-+	  if (read64(dyn_entry->d_tag, be) == DT_NEEDED)
- 	    {
- 
- 	      if (*flag == FLAG_ELF)
-@@ -395,7 +422,7 @@ process_elf_file64 (const char *file_nam
- 		}
- 	    }
- 
--	  else if (dyn_entry->d_tag == DT_SONAME)
-+	  else if (read64(dyn_entry->d_tag, be) == DT_SONAME)
- 	    *soname = xstrdup (name);
- 
- 	  /* Do we have everything we need?  */
-Index: ldconfig-native-2.12.1/readlib.c
-===================================================================
---- ldconfig-native-2.12.1.orig/readlib.c
-+++ ldconfig-native-2.12.1/readlib.c
-@@ -169,7 +169,8 @@ process_file (const char *real_file_name
-       ret = 1;
-     }
-   /* Libraries have to be shared object files.  */
--  else if (elf_header->e_type != ET_DYN)
-+  else if ((elf_header->e_ident[EI_DATA] == ELFDATA2MSB && be16toh(elf_header->e_type) != ET_DYN) ||
-+      (elf_header->e_ident[EI_DATA] == ELFDATA2LSB && le16toh(elf_header->e_type) != ET_DYN))
-     ret = 1;
-   else if (process_elf_file (file_name, lib, flag, osversion, soname,
- 			     file_contents, statbuf.st_size))
-Index: ldconfig-native-2.12.1/cache.c
-===================================================================
---- ldconfig-native-2.12.1.orig/cache.c
-+++ ldconfig-native-2.12.1/cache.c
-@@ -39,6 +39,29 @@
- # define N_(msgid)  msgid
- #define _(msg) msg
- 
-+extern int be;
-+
-+static uint16_t write16(uint16_t x, int be)
-+{
-+  if (be)
-+        return htobe16(x);
-+  return htole16(x);
-+}
-+
-+static uint32_t write32(uint32_t x, int be)
-+{
-+  if (be)
-+        return htobe32(x);
-+  return htole32(x);
-+}
-+
-+static uint64_t write64(uint64_t x, int be)
-+{
-+  if (be)
-+        return htobe64(x);
-+  return htole64(x);
-+}
-+
- struct cache_entry
- {
-   char *lib;			/* Library name.  */
-@@ -279,7 +302,12 @@ save_cache (const char *cache_name)
-   /* Number of normal cache entries.  */
-   int cache_entry_old_count = 0;
- 
--  for (entry = entries; entry != NULL; entry = entry->next)
-+    if (be)
-+      printf("saving cache in big endian encoding\n");
-+    else
-+      printf("saving cache in little endian encoding\n");
-+
-+    for (entry = entries; entry != NULL; entry = entry->next)
-     {
-       /* Account the final NULs.  */
-       total_strlen += strlen (entry->lib) + strlen (entry->path) + 2;
-@@ -310,7 +338,7 @@ save_cache (const char *cache_name)
-       memset (file_entries, '\0', sizeof (struct cache_file));
-       memcpy (file_entries->magic, CACHEMAGIC, sizeof CACHEMAGIC - 1);
- 
--      file_entries->nlibs = cache_entry_old_count;
-+      file_entries->nlibs = write32(cache_entry_old_count, be);
-     }
- 
-   struct cache_file_new *file_entries_new = NULL;
-@@ -330,8 +358,8 @@ save_cache (const char *cache_name)
-       memcpy (file_entries_new->version, CACHE_VERSION,
- 	      sizeof CACHE_VERSION - 1);
- 
--      file_entries_new->nlibs = cache_entry_count;
--      file_entries_new->len_strings = total_strlen;
-+      file_entries_new->nlibs = write32(cache_entry_count, be);
-+      file_entries_new->len_strings = write32(total_strlen, be);
-     }
- 
-   /* Pad for alignment of cache_file_new.  */
-@@ -358,9 +386,9 @@ save_cache (const char *cache_name)
-       /* First the library.  */
-       if (opt_format != 2 && entry->hwcap == 0)
- 	{
--	  file_entries->libs[idx_old].flags = entry->flags;
-+	  file_entries->libs[idx_old].flags = write32(entry->flags, be);
- 	  /* XXX: Actually we can optimize here and remove duplicates.  */
--	  file_entries->libs[idx_old].key = str_offset + pad;
-+	  file_entries->libs[idx_old].key = write32(str_offset + pad, be);
- 	}
-       if (opt_format != 0)
- 	{
-@@ -368,10 +396,10 @@ save_cache (const char *cache_name)
- 	     not doing so makes the code easier, the string table
- 	     always begins at the beginning of the the new cache
- 	     struct.  */
--	  file_entries_new->libs[idx_new].flags = entry->flags;
--	  file_entries_new->libs[idx_new].osversion = entry->osversion;
--	  file_entries_new->libs[idx_new].hwcap = entry->hwcap;
--	  file_entries_new->libs[idx_new].key = str_offset;
-+	  file_entries_new->libs[idx_new].flags = write32(entry->flags, be);
-+	  file_entries_new->libs[idx_new].osversion = write32(entry->osversion, be);
-+	  file_entries_new->libs[idx_new].hwcap = write64(entry->hwcap, be);
-+	  file_entries_new->libs[idx_new].key = write32(str_offset, be);
- 	}
- 
-       size_t len = strlen (entry->lib) + 1;
-@@ -379,9 +407,9 @@ save_cache (const char *cache_name)
-       str_offset += len;
-       /* Then the path.  */
-       if (opt_format != 2 && entry->hwcap == 0)
--	file_entries->libs[idx_old].value = str_offset + pad;
-+	file_entries->libs[idx_old].value = write32(str_offset + pad, be);
-       if (opt_format != 0)
--	file_entries_new->libs[idx_new].value = str_offset;
-+	file_entries_new->libs[idx_new].value = write32(str_offset, be);
-       len = strlen (entry->path) + 1;
-       str = mempcpy (str, entry->path, len);
-       str_offset += len;
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
deleted file mode 100644
index a18b2c2..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-Upstream-Status: Inappropriate [fix poky patch]
-
-This patch fixes build issues with a previous endian-ness_handling.patch on
-distros that don't have macros referenced
-
-7/20/2011
-Matthew McClintock <msm@freescale.com>
-
-diff -purN ldconfig-native-2.12.1.orig/endian_extra.h ldconfig-native-2.12.1/endian_extra.h
---- ldconfig-native-2.12.1.orig/endian_extra.h	1969-12-31 18:00:00.000000000 -0600
-+++ ldconfig-native-2.12.1/endian_extra.h	2011-07-19 18:09:14.323048417 -0500
-@@ -0,0 +1,64 @@
-+/* Copyright (C) 1992, 1996, 1997, 2000, 2008 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#include <endian.h>
-+
-+#ifndef	_ENDIAN_EXTRA_H
-+#define	_ENDIAN_EXTRA_H	1
-+
-+/* Don't redefine these macros if they already exist */
-+#ifndef htobe16
-+#ifdef __USE_BSD
-+/* Conversion interfaces.  */
-+# include <byteswap.h>
-+
-+# if __BYTE_ORDER == __LITTLE_ENDIAN
-+#  define htobe16(x) __bswap_16 (x)
-+#  define htole16(x) (x)
-+#  define be16toh(x) __bswap_16 (x)
-+#  define le16toh(x) (x)
-+
-+#  define htobe32(x) __bswap_32 (x)
-+#  define htole32(x) (x)
-+#  define be32toh(x) __bswap_32 (x)
-+#  define le32toh(x) (x)
-+
-+#  define htobe64(x) __bswap_64 (x)
-+#  define htole64(x) (x)
-+#  define be64toh(x) __bswap_64 (x)
-+#  define le64toh(x) (x)
-+# else
-+#  define htobe16(x) (x)
-+#  define htole16(x) __bswap_16 (x)
-+#  define be16toh(x) (x)
-+#  define le16toh(x) __bswap_16 (x)
-+
-+#  define htobe32(x) (x)
-+#  define htole32(x) __bswap_32 (x)
-+#  define be32toh(x) (x)
-+#  define le32toh(x) __bswap_32 (x)
-+
-+#  define htobe64(x) (x)
-+#  define htole64(x) __bswap_64 (x)
-+#  define be64toh(x) (x)
-+#  define le64toh(x) __bswap_64 (x)
-+# endif
-+#endif
-+#endif
-+
-+#endif	/* endian_extra.h */
-diff -purN ldconfig-native-2.12.1.orig/cache.c ldconfig-native-2.12.1/cache.c
---- ldconfig-native-2.12.1.orig/cache.c	2011-07-19 18:21:28.347041301 -0500
-+++ ldconfig-native-2.12.1/cache.c	2011-07-19 18:22:54.118048064 -0500
-@@ -39,6 +39,8 @@
- # define N_(msgid)  msgid
- #define _(msg) msg
- 
-+#include "endian_extra.h"
-+
- extern int be;
- 
- static uint16_t write16(uint16_t x, int be)
-diff -purN ldconfig-native-2.12.1.orig/readelflib.c ldconfig-native-2.12.1/readelflib.c
---- ldconfig-native-2.12.1.orig/readelflib.c	2011-07-19 18:21:28.346041593 -0500
-+++ ldconfig-native-2.12.1/readelflib.c	2011-07-19 18:23:05.324059875 -0500
-@@ -25,6 +25,9 @@
- 
- /* check_ptr checks that a pointer is in the mmaped file and doesn't
-    point outside it.  */
-+
-+#include "endian_extra.h"
-+
- #undef check_ptr
- #define check_ptr(ptr)						\
- do								\
-diff -purN ldconfig-native-2.12.1.orig/readlib.c ldconfig-native-2.12.1/readlib.c
---- ldconfig-native-2.12.1.orig/readlib.c	2011-07-19 18:21:28.346041593 -0500
-+++ ldconfig-native-2.12.1/readlib.c	2011-07-19 18:23:23.877046210 -0500
-@@ -40,6 +40,8 @@
- 
- #include "ldconfig.h"
- 
-+#include "endian_extra.h"
-+
- #define _(msg) msg
- 
- #define Elf32_CLASS ELFCLASS32
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
deleted file mode 100644
index 4e9aab9..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-The native version of ldconfig was using native definition of LD_SO (i.e. 
-ld-linux-x86-64.so.2 ) which is not correct for doing the cross ldconfig.
-This was causing libc.so on the target marked as ELF lib rather than 
-FLAG_ELF_LIBC6 in the ld.so.cache.
-
-Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/4
-
-Index: ldconfig-native-2.12.1/readlib.c
-===================================================================
---- ldconfig-native-2.12.1.orig/readlib.c
-+++ ldconfig-native-2.12.1/readlib.c
-@@ -51,6 +51,10 @@ struct known_names
-   int flag;
- };
- 
-+/* don't use host's definition of LD_SO */
-+#undef LD_SO 
-+#define LD_SO "ld.so.1"
-+
- static struct known_names interpreters[] =
- {
-   { "/lib/" LD_SO, FLAG_ELF_LIBC6 },
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2 b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2
deleted file mode 100644
index dc1e79888e9bf28226cf18513ebd4478ec90175f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21491
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%0DHdO4>d<dmgwq7hnwA~>6vabfI8
z^F&V+Bu%+S0p~Yf_@fstp-lmNx^%6#k<YQC&UR@*_(eLMBk{P2@*~HybNXjTRGcjf
zAVvg%5-@X4H4zaqL1ZRWCqlsi5O%eI+*Fnt;?dLHF=MG12b^44hO$O`>F+zg9VHYK
z=r<2OR5qSozlV?zMJ3P`9I`;E!_FPwCRp?Ify<UKkF~T`&-!(_H~g%%wMq%X{q`xF
z$R5zVO*1bhLSjW^pB`QtVj;b8GgwQB@}_9DHJAx$x=yg>NMKyrSSSVvK&MH=3>^Q6
zhVy1Ha+#f+4vrY}a*T<Www-Efbz+-F14^nBX=+Z%)y}!W>=iNUFLKkjT+@+GtqRI+
z=8tXxoIe!`$fKQRCt<TleQ-#2fsze6w)<@5w%TwoDq3EU+0OM1EU?OSFasx`2PA-Y
z*g)5E4^fc<DsP4N(*cTMB6gxDWWh{sTWE1k0nIV8bsglBNl@+C==1v1{h~V(kWDl)
zK>QFmY&q;5_DxiP9wG(i)yUlOo??1ARvu<*s;pf*PL&#}qLQsS2XPjlk2(&peE~fU
z8Sq_?#}{wEHal|XHN`lA-JDD8@Y3B$G|C{kVfCT-5UdC5F9BevgpnbP#>Qmeq*FtA
zx58)>3Nlx50uYQ-CCFk-jzN$*<ekN+i6aR<3QM_deDTK^cklChzLSB_f;jn{aj6d%
z&M4|ha$Fq;fSp4IK%v^JpC3NnB@N*R0S%P$9|>+vM_f5JU}O=PdbxbX8o|?vM8B^8
z-%?<tz_o?S*N2kyyCo@+Ecl^qXvlTiwRr~ReY1=(ZX-!w$6)KGqYyiqX@xv_xk`nM
zn|kn*+Xft)-JP<aCw#aqL3_cahi#Dsrb|v(k!WagDfC-0Ff!8s#Y~d}moFQ*>0Zg=
z?)UNV?j2s)L=gm5OcKUUn`psB^VNadmtp6_3DT`fXtYb)%-chi@W^7Ss;Z)>(gB2p
zVk2aVO>&^PQk78PiyN#Ez|()f<Z}0&XLv;FHVa}(Te49OUtVrEe%Z?=V^&8A%S}kz
zH;bk;i$x|hk^UqJ&4%M{FOFASgNt;=;^&70hGV6Wmaq4)bk9r};lm28!=eqcR>Vs)
zaF}jfc1W}~_Uj^64dFSYPB!gTb=c~K16(^X!*|$Wx*FQL=JL!?yFM65%tZEeMF;}Z
zX_)P2chzdpj;BHlY0c72Y?-iwY|Zb*h7m)*S?1(sO@uzUM2M`CN+@lRPBiN##om>o
zRlIF2Y{CI75w`Q$Dsb)$`@_c(r%%EuNP)NL+_Xa`d=AW7vb(byW-RMRLO9QEmBuqN
zXTxMzD+a=>CmZflqLNXD61<T}K5Dr>4v7^M`sYcl7smcIjbYb(!Aes*XT{*xCi&=-
z#gui!?o2~LE!rDtc_?>>jur|IP}KDr!?4QTg^KBPDDw4}Eh!KTEdgOMH%eou9grA{
zfh$I(+ey}4(h(`dwPVA?4EmVHLiySd;sZ-D+zJ#Qk{rG)9yCoN7DWheQ#NWq!zS%`
zqZM~x))$3RIU$9@!X$m1jjO@bPE&~{d#uIT!omdB$CHFFI6VZzxZ-2eo7mQ>PFsc7
z4(KlKJ86`zV$;dpTsO1T;aEH<Ac|ZaBs;ymz~pEeYr%!D14J3{Y=UgI<GO|b!mSbn
zL=uF^Qj4=60C@q~()0z!f`b5uBydS67>5Z1Di~#vh%wy5XsQV2is{mJhd<F8jD*1$
z=TeFh&)o(_5ep5BX+xC$Yvghdo$v6;PMeb;6Y{4UU*&X5f<1)SQTKZ@p`97vr;c1;
z^j?r{Fr|BMkI%ksYRs<a+QF)sfZmzfK{$>`IGq+!Fxx;h>=_X4n9A3^^_#dRp2eeE
z8|J-sn;42z03QV|q}d#o{QGZEG$0^$){+wVEgGrt9HjzT(Kqu_Hd(q%{v+ZTJ;5XN
z{0q9RL-iX0>N+RU{CdI#6s9Zlxmg7yO-UaK>EIye?SqZcJo36tnB83`*rqQD#=(0%
zSQ%9#NKg?98M~qDJ97i7Qa7`OA6Y1Q{EkE~U&q(rc;pjdkIQOx;3L_F$I-v)Kshj+
z7swnwuv5Fd?|RyS2DB(iZ3mOe^i*IMUSK6M7iEPt2oy3f111}AyNN#^YtE=q60kW0
z8%>ZI7!2!@CH{{_!w_jnE~Xe&5Edgtwq_{AMJjN>L@&Xk4bBo(8PM4md8rdng2E@r
zfE`b_yz&{bv;m^=h6{A1!1r<o<=#d&oYIYindBh|Dm+&H&^z;gQ9DhLva%jHRC)H~
z3x{OF+FthHaq(0ycqa7>!;op?l+hIB;?SKRUxbkQr^NW~(K8ISw54LXl*^7+D~>Wk
zK!hwmmj;(DwBumjs6C^}Kf1}=-_nX92#}ANH+WD(zZSX@Psr)Mt>@3iv4?!>&`+Mv
zA2mG877%#Sy&>X=!^-uW(|4^vq|!1qY><?IZ%m&khXB;v!)JU`WS?TN^4<`EBd^bP
z5)uc`u<Z8(l}r$PCQ(=4@|N2N>X#^^^<r)v3VlaLxD(3f1R7L62?8WZ<mECG836Tz
z(j~N@dg379FnkDyz@#euVF2Sr2@BHHW&OaGD7Ze)f9m*f`n}{|xARILZBG1ffIAlw
z3=qJaVG0oIB>>4t%uPT<kqk&Wfm|doBw3shu$K+7_k&0rFZiPCVJg{D6i6v)WJT5#
z`Ir_(gjQI>i~=b+X;8M+g}wi5>USV2We!wx!5wJ9fgs^A1BMJ=SaMiLP$zRdj-a53
zLMJ6U^w}nV4gZyO=K|DX9MMik2kF=wkO>k)!bqNe?X>Y&qF~dJ5l&de1lD3C7D1e|
z0al~=E=(7g87J!HsoP7uaLR_}IayeZN;9&tL-muaC5r=4tp1a$nh7bHl~}5^SOp5b
zs?3qC)CP=0tq>p+%AMbtkTtk|t2QTgQJc)eBaN{7H(Fsw_R$@QGn*4lE@G}O2N6<O
zoerfifj7h+EH{YXcEjbG3MLxxEGkudlh%fP%tI5f8s4L@()r=nN*Ejx9x(D=mO1Bs
z*2OMnBE=9zjl$y~eg+<2842T^=E?bgaQG5KAvw_XZ@QF0GL5O1?Mwv^6%O?2Lb6O*
z0D;L`2i2?r6-Fp~B2=R`6H`cg>?#O51CuByf?*3dU{IylE0k!%&~^?Zk6q{xbq&Bd
zSDxFGMD;V#IGIm<y&5a}aqrj@hzs#z5@+f2HT8P7wq4g~y<i7E!lGG<A%KZU35jZn
zI?a=c<e};hU)Sj&AWOI0PGp_@t3wM2IAhtLhSd}q7ilOWh^90Jk)<)`?KB`9p-QeG
zHdPD^2<WKcbODG)>Gm512q}ZG!M~}(DRGeD6Xrf6bRBX(SMmj6sft+zk$#d40#c<4
zz*!q*N+2*w)+-RvQImi~GniH)#5n~eDAF{<20)Y{NhqLi%=(&?U|7_%$kY)ALU~9!
zX!IY}?v@jBQNY5PV_0?4lwfiP1SHIw4ak9l38G0LVQ|xiT+KORr?&$%YJstk(G@}*
zz-77;d~R)->~YUtR2;Mq=i!TmL#|m_n%I4tR=H*o<})MD9==%whs!(5Q9pp;3{FH4
zkH~@e`+M(d0G^@@l@F>>go;3vfs#Q@0>F5}Y-TEbdNmdKL@*d3iY#0~ZA%3Bgf#T)
z?}lTaj`{+TJ=w&?H2eyku~<Ry@zY?BToc>tk`KvhtSm*~agZV$a8m6pw{UMi5-YDE
zgR2&rz}`<0zLJJw>chD^6q|O7;6N=U6smP9ebbtHs%m4^nU)m)B2g64X<clJtW;dI
zQl>d5ny89tB1niWSV>7vOtGd|nI%+IiVEW>R-&kc1i>;uLPT1?$eM<zii$OwHI!<|
zjo->*Qa=2z&k3bAPhrf3QE1Yh&Sxa_3J_lzBH5@!kWh)Td;7w*Tt7;EfcmhX%tUBd
zND(Mu5|ao417(piUzuGW03M)l3_Hvetk#byb7Cj54G!_6@p?8#pnE7eVk26FBtk(3
z6ucf!US@GSy4ahb10YC=-~L-Z6U&E$KIvF|;{Efz%8LLX0RmSrT$*8`RUDTn^Bf13
zk3OGNsM2&CE#lqo4H|4cKh}n7lb&8SdS=bbxa0{j2?>JOkTMPA_ebFNzRwM2dAkG;
zno1NYLy_ViG4hdnBP==17qsExb=7rAP(bz3>&zvHPRV{a93Y4`2y%CZk<W!8L?cBQ
zCE}~B`Rt1#ErY*PL)XnTGjbL13zjlHr-B9tU~o$wC0L}8DS~AshDibfl98w=ib@7j
zB82;|x@S}A-~fBs5c{6%5_{dEkqAH%voNqlO8IjdkVpuqh@wI7PnX>R(-SQ0Ph<JM
z4CgmyJ7x*)Phy<DjAX%V?|~roq|j3uL)`p2I3pD?A~;1X5iqJs$qSf<gR*t006Ce)
z=s$>VP&t~U5wLG6c{4Z@g)L&@<o64ro`lo5d}^k-RY&0=Vk(KRudw=y_ovhz^Rcus
z$|qXyAO}$psUaiqYQ6DMk(kkl=48T5W>GC+nM1G?lr13NEwVlTi+XKw%MOlBaqpjW
z@AgOC&f0A#fUDk5aecmGy-`BR#qxf9D<_a`df8C)3s##N)CN&eNN0!6d#$OD0VSTd
zbaw;aBaEe{h?yw_rqsl8LM3)F!O{jU0~x>KAEc7?pq~U4Ar))L8_r45<KS4ZCLo;f
zOh?2mBOt|`rN0yM)AkCRCqN)`hwA?~|37#9d4CW8e~<9}|HpaCPlzPl%|P<NUn>Yf
z2u|f7=Z+Vw!QmkZAdRzpICYboWi+U33aJ)NrH0%vixH4H5<ogd6Jzw7y*KU3*Tm^k
zXNScQzmaAA(+)M4a!?|guPxwd$(UtVElQV`e(D;jd;G`9Ts2l0G;ilfd@<XK|0twE
z>n^UJD&Ok)qq^wh(3P+|%8)`{%yda0qA?7>)@bwz2uEh4AG)1)A?h5a*4K>MK$in)
zS&M(Co8QBbhKz>gdea36zPK-wBGZ~|(qu$LeIJLp;o}qyZM(Q0gaODMpo6dAfDtt#
zN6qqQ5Y3S0pad2Vz&Rsd4NBnC<)r+S;#?%!!?m_dkg0_qlLG-tlT&ypi1}WCJJJSE
zzk!3{^kADHAAW6B$pG+xW+&qO+xofJo_mXZqwp1cue!vew|;Cj;-v=(-g;Hoq{^S_
z?KX;F5H1~Aj)NpTV-v?_ixgK_xq&|5;3}Jxx!Rgp<ZV3FL^h_G?Sq+Wk_2)1H^B7>
zXXei=xk6^8Y$-JGw<>~lNy(u}W-HKlN8ki?@|%Vi+If5|vZ&titNh7P7)11r{{8eA
zUFMLeOF2y;Eux7Sj1Io#J@Ld&{}KX*fQdk*2#Q|#B0_|NF;amMp<-GWQ@1xp1cT9)
zRGy+KMDv`z;)FQ7BdBkTOp=sg@cO$r7yNSq9a&}uJxF^4tjIb;nR0n}34nYcI&|rK
zft<9lJ)k64co8I170ePPukEnPT43r%lXiDe#EpXN+%HCqEknxDBd9S*14Q>p-c73E
zOcztaicQd`F)rE<O=by=G8SE?PP_x>p!@U3Y0_Z*;WuW8cdB}JUL338k-0%;CQWlS
z(mRMg4F?TL$R&l?$Wl9|2E?VzpcX+Wg(6LGV>qC4!*Ba2?tpy<w`Xc9kLXZYYvyKF
zK0c2@hmvvm#<|Ld1hTctUb7boy;MDBgvic35<teiThV%Q5bn=MRIC<y1n<R^lw$Z7
zvx}7hJ7zN(FvTpK!?!X(;;!}2P!TdR<TZDDW+$9xr&Th2o9*}6p|xl^xi?}ze+p$j
zlOcU=wwm`t%#Cl*-D{#19%3%0d8m|_qmXCqH5oh`;ojg>FI0^vp`$0A+`ZF?uHMYY
z!qC*GPGuG1Vh$~lP9`%3)Jja`u;RKih1ij1CkeM3Z+)g~Rl&@!Y_-HWO2WMy)N<q&
zN5NB{b<DA$t57OjFJ>QbTI~X`W?BX~h|5|S+elx5nJ$B7AjL8<K>Nih1G1Y4*DTx(
z4+F8Vt2DDo6%thSdzdg#+7gd;5u)HZO;rlVH3+1W;ZwE*tN`@<xFhtSe8Vu>V|yKH
z8lt9(_jAq#A;dF>kP+%12p1S&hLs6PK<@%TI}<_Ww0)+hzvbODhG&f*;El9mk`REh
zAefla1#t56p*dS-!;<koWEjFkr0&pl5<5J~Wm5DZY0{)Kj#L|)fE&P4Mk^wGqIO6G
zkRIe>W@_*KcEo-i?*lwa3doS;3Swtip{o#6LSqAJ3nmDP5IO<{pv_>J3qs&UYPE?m
zs}L$8MwD?foCjc__3wx}MI;D5A`BhW`RI{AZX|#Z$URX?K--rz{8i@%O?hq|umSTw
zf55{WUoIG=xfGO@kYCG*`u4!K#wGqc({Tp&Z;V2CU(p+cA<-O3x9R21r28_)9@Y@3
zvbWLWNO6%3n=mX1GqM_vU^V-Hq@m~DYicHukyex=^`15%tOl@lAY_kXs~ANEj{<l2
z9>NX;Bq1aop#xBN@BltT>=k$WS9ggc7j<aBIz;(9u8+aV-Z$Aer(47<yX=YRd`Ki=
zW?~4Ft`w<{GI9;H&@w>LK%RvpG8#dM`%<|JBy=i|BcFym_`@QKB+_gE{yI0kp(2?k
zK=glRs%8oXW5YMYs;YGa-lCXyVy5@4f?{xc{!;WZ72Q7D7l~1#0Dd$lF&+r9&SqP3
zwUDssB=nLVkZFC%uE>OfmP!?`>k9*5dk?ai--~&OV(OuB)M7QMNK{-#+@sNb|KTKZ
zF*JONMioRNQ#*+V*jy6Fze>BvgWNnGlgaG#;jb<X5zBz`RTV`N6AtcwXJxmykTPw;
z?x_N{{1oZw_5UP3(oo}sqlujUiqh<XPGFIP<I;PT_>dt>L=r}VfwCzO#U~&i5Og8j
zmk-Auh5G(m#PK#ikx%j|dbm0s_@}g<Y3_^FLIwcxpAd_;6*~RT(ANb%&&peU0jzre
zMYa=?`Xl<t@jE>oMi~?Bz;An{^2ziNbR`iFx}`$Imf1@5Qe2X?3r-2}{ZE%YFT?R?
zH}+%R?smNTv=}bY-@W2^@(9DuKQ`L>Fl+OW(k$RnCXuAyH)(ycJy~?ae1=yC-4u|z
zYb4grla@GQ658bYt}I}^YU-8^OS6<pv2uX(50_BwkHzwuI+8tK52HNl(tt2L!SL*R
zeLIg`_P)Lu1Fh83t%laYXj|6kRK%wyoZ%WK(z9p|20OPmR5s2<%@b|cuF{Q(l<W8@
z(MUY|6ZEfkKr;M>>Qjj4X{NUxn^q)&A%dP+Q;6`OPs6t}MXUqNB62$+uxNd&l*pZ&
z%=Xn>JkG(ynER{JJX^?u2q1k^zhW5&!3WmJpfj_TMQ!}4K(=zlo}Tl&rAUY}E1gJ;
z4QsOt=bB<M2QK2tStSw(<=<Q=PH9IleV`i%90!C=Wvq!3`*{lk7C@}Y@fd1I&_N~|
z)1)QVj5G^V5@-;H%5(YINT7|63|I<bXz6faxDk?j=~aM;q0>;*n3E}CK?^M;7zn!|
zY;Bcdq+}5~Y7=Yf_Z#&ccRUxlm>DC%$0b3<aK=|%%PNZjkOmV6yF%@Qx-}@?W>)8s
zg#Z{%43OwfNC&(LVgqjQeTq1wK!gP`4g)fF==119lYu7p5eQSev<wJgD3~yTc`Xt$
z3yFb~&Wp23Itg<eC@NH`U~Ig%4`dHa{V}L@deqnv@9&R!<a-$=lyY1eTxjDn3o2*P
zLo}gHDngG*XcMS=#(ZysAtD!3xjY1WBiq|zNB5d3^(R3RAQE@bwfy+_>}*-*Fb1Df
zo+SjFBZ#025&#u}>R#P#({N=}>CKVf(F3zCG{s@j2lTt~F)l*T>Pk=MxaP@FxXB<@
z)xyxaG!vJjwG{N8K)3CzLPhvei9|+~B}oKPBC3Rjr^F8Z5YP+-13)Q+1vGQ^r{qYc
zrY0KX0PLzARHfn|WV1^ON<s_<Cy9iz^WH0Oo*n>?nr{zQK#LuM0+kgrMGiX_%*Ds9
zyOI_srWce%{z+VTiLkt$iFRE?XF`&rfH)M$6J#t6GeD$C6bo%+Wr0%w0PNj{;wvGR
zGLQ-+1q)b!AThOwN>bEX<*>%kN`Ns`MPf)mVNzBUYYS@HR8c@kl_Z%5>HGJ$T669B
zx1Ao|x_>*-cn7#m_ln*&nOIO?92<n*4LhhznISkN*?d6h2#0!?tn4;O*$y9G^&a6f
zqExJL#~;wRl+h1)@HU89M3KB&N90F_#Iq1`;p^z&9S$wd(}~=HgAil3d6}}{bbDc*
z<)BF$3BiwpVdVL{P)}8<<d~HKM>>u#fz0a6Kud6eupxt%W5Lbh&9zJKn1i4=Z5d4j
zaS+;w$<ECmF?s1b@gxg&FtPj@fVO0f4Azvmr)*8>*Q4Xg?7@g%EMis$MuK3b8R#so
zXp$^D$a|^c@cKNA-S3~d<xGm4GeIViEc8rc7Y^9mONO3=>21f|yCQfpAaZ(yiXB4o
z<rSt|^0^p?siO-n&aJgEEe!x@lWu5O_Xl7dD}p+p7MlSf=k`@qWyn!EcOo2yCU|%$
z&Viy&*g+1=>Y8mzV-jOq!kOG7rd;Y3S;nLn43w*328_nZ9Tfc&dFrbAv9@W#0kyQJ
z;;)TVfK>ceS9b12pG@ypY1Jd_4+U^wNCu5^md8L_4_cH`Gd=UN*qf6{kwTQ<!rn@Q
zkGQew*wR|y=|Ex*^Y!nX7U?e2sGz0PIU$f+kg!J)1oYZ`)Zw%`+L*8pET*KIMle4s
z7lpEyGvtS*B|RB@Lf=2krCPChGC>HR3kTMbdX64C2DD<zpHG$y>!R_3L8X(xiG_pm
zsY<HE<U2*tDXy(Ww&d4R?U_^>deHX1g9NX(!u+SO$i%cl$qV3@*b}x3wOc6xJSf(R
z%+4`P&O=0dZHQ%j^$p<&HpzsCmL(xFly*CaVi=Nx2^=Hm-Sk~($2+PA=FC`o;=aj#
z59@~Z*|@<>vQ&pveKAs^7zI%kQ$|pB<AzyfrXs15U=(>*vLc+*+>OEM#P^fC9_2AR
zP}f#E!>%$9O~JcrrQ2ougxbx_KBNmlxm(3N%2#71ZR$#+3nEl#CMhv(NN6PprVAA4
zHK+=S9{e&U$e~h&w$LqXVOc>XvY?H=Y?NHKTWvlJz|zGJj@jaetc*Wi9;gyf>i{^b
z#-M2Y$4z$b4{W-s{B_87BlTwh=tZUP4-;eYgQ;^vlkzRyg12XSyY$@)l`wLKt>Q=&
z*z*u*cXtv(NRu|5Zxa`x$oGo1g+|hmS~6^ske#e2+{{ByKzx>;E;`RzXQ>E-qIP3A
zmS{}FWY#gu;gGgBqg}#N1k4uB7r6m7lw(WboX0rbPW_bD91Rda^^OrZW+=l;gf=Dc
z=s+fM^iTwd+dOVe1>7VRr132&Vh*Tk5<(JTBYwJj)_I3nB>NJ}n9~@-W+QoHD{fmO
z#IqSw)>|5T>5$gk#^w;oHv8=XJyuvqqO=y}%`x6Msf=7mvDa}{&N`N+LdIk~W~L4w
zYcA9<7E2Sxc&$L~YGPpJP>ZJ)!^1JPOoX77RV>FaT{|(A{h@ZiL3c$P9euH=JEx+;
zF3Txm?d<E~dD;%l8MBJ%ODQasl131dL<>u#0fZ1nU_3E{iDob{Df}i}eFErT4%R(!
zZ=157qM*Z?D{3*3!ZraQgi+)<*e)7rTWga-9obbw#1C~il9rR<CdG<n4$(to0l5OK
z!aABOa1$VI=IR+3AW&GKzzq{{SQaJ%6fpwO&@$}hUCu>%k;}S+lA0-s8-c|)BuBT$
z-dGVFbyJzvIP4+a1EkV)n51O3dhENfn2JS(8ryKSBIJP*jyE-|jBb>nv1&I<CZ`?j
zBE|S#86fX^QPrngttp8NVO(?vO%Rbt28iICgC{2}LL3NW5^y2LdQgQ#D9U~!l_G$J
zNK(?HsX~D_RHaaRWf0cm4eYS_P*FG}rCgfPK*ow9hd78*bT(Wfc9#+8xb<xbaJH5}
z$g)Uf7*iCXT7-&ayCiD0z_|mH{8zmL#v#3Qq)K2dL_AR6%}e~Wavg{Xj-K2f80tIE
zKf$-Sc&CwqV2PxlCMuAbiV9#-R{=D9v87F<9F*@FNf2P|iXsJ9Mu9?=QK0jKCa&^3
z?|Mx#8lrLt4d+63h0dpTG?!3MAgQC6WTe$4b_vr8WNLcfDM8>D6!hf><E8#1kxZY+
zR65^k0nJM7^&+nkRNW1sa4dutS>gbk0w2o&If!}T=aL>}GIdiuCu%={qzev_djs92
zzJq7;P*n0u`n<m3c66uYlgI%6g9>o`Y4hLN+w^zxHztALM?j01OO(i$9te}e*m=Zl
zJ81qSh0nZ?Pf<2UpvU%mFWzL5)F_^hTY-_odU@j}<euUrBY3VKS=;(^ApVqk4}nf8
zPPTFkibU-&(wN8^76$%{ID)U&BrD^QAH+wQ0otFIThEm9(Dr`1DyhfkE5eE@A1<KS
zWO)=HU876_#B3Z>$W#)UbR51cGD0Qvv5Hc#2o8)!kTm!#h7m7WC1`1(c3<d(QBy=s
z+$VOvDK?q|W#L1d6a+yORWb@`>G{2a2ee>z2b_Ds+^g?J0JHVQO%f=4Fq3Apv1mw1
zVmm<Tuja5kwoXH2LszB%(UE?VBtXAI1}-)2ZGi%gzwHO|pSv7W6;X&86=SRDE}5(_
zS4l(t5Xdr_Fh2NkhmsYD7-M%B9N#tsPQ>`o@E?d}Jy7cS$f+0r%VE%fBQC>JAFp<4
z@~5jP2e~a1e_=KY4jX$`*HwD3o@jN{hIEWH?QF(@so^YJ6Ay$ql^A9$myjJXuuVkF
zl#R|Ts&FTZqekYG1gTt0w1UI+fbiaQ9G#J19gyT<Cdtd?rar$Ve#3&Y2-c#Tz&{8s
z;CTj7Hcb+qiX!&zJ?RKZB=?`hwP)?Rg~Useq*PDC;ELN8peODU5l8wD={g@7^&hky
zr-MAJPbcu?E;TZiC@SqL`4fgZ7Rgc!Lja&_l0_t%lVm0Y)DJr<Lu8X$hw<+J@9mg@
ezwiD%Is@_~HSRlblT`=*;_gVN3K9#Kf=fV+qBXz(

diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch
deleted file mode 100644
index 52986e6..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch
+++ /dev/null
@@ -1,471 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-enable standalone building of ldconfig
-
----
- cache.c        |   11 +-
- chroot_canon.c |    7 +
- dl-cache.c     |  235 ---------------------------------------------------------
- dl-cache.h     |    3 
- ldconfig.c     |   27 ++++--
- readlib.c      |    7 +
- xstrdup.c      |   11 --
- 7 files changed, 45 insertions(+), 256 deletions(-)
-
-Index: ldconfig-native-2.12.1/cache.c
-===================================================================
---- ldconfig-native-2.12.1.orig/cache.c
-+++ ldconfig-native-2.12.1/cache.c
-@@ -16,6 +16,9 @@
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
- 
-+#define _LARGEFILE64_SOURCE
-+#define _GNU_SOURCE
-+
- #include <errno.h>
- #include <error.h>
- #include <dirent.h>
-@@ -31,8 +34,10 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- 
--#include <ldconfig.h>
--#include <dl-cache.h>
-+#include "ldconfig.h"
-+#include "dl-cache.h"
-+# define N_(msgid)  msgid
-+#define _(msg) msg
- 
- struct cache_entry
- {
-Index: ldconfig-native-2.12.1/chroot_canon.c
-===================================================================
---- ldconfig-native-2.12.1.orig/chroot_canon.c
-+++ ldconfig-native-2.12.1/chroot_canon.c
-@@ -17,6 +17,9 @@
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
- 
-+#define _LARGEFILE64_SOURCE
-+#define _GNU_SOURCE
-+
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-@@ -27,7 +30,9 @@
- #include <stddef.h>
- #include <stdint.h>
- 
--#include <ldconfig.h>
-+#include "ldconfig.h"
-+
-+#define __set_errno(Val) errno = (Val)
- 
- #ifndef PATH_MAX
- #define PATH_MAX 1024
-Index: ldconfig-native-2.12.1/dl-cache.c
-===================================================================
---- ldconfig-native-2.12.1.orig/dl-cache.c
-+++ ldconfig-native-2.12.1/dl-cache.c
-@@ -20,12 +20,12 @@
- 
- #include <assert.h>
- #include <unistd.h>
--#include <ldsodefs.h>
-+//#include "ldsodefs.h"
- #include <sys/mman.h>
- #include <dl-cache.h>
- #include <dl-procinfo.h>
- 
--#include <stdio-common/_itoa.h>
-+//#include "_itoa.h"
- 
- #ifndef _DL_PLATFORMS_COUNT
- # define _DL_PLATFORMS_COUNT 0
-@@ -39,103 +39,7 @@ static size_t cachesize;
- /* 1 if cache_data + PTR points into the cache.  */
- #define _dl_cache_verify_ptr(ptr) (ptr < cache_data_size)
- 
--#define SEARCH_CACHE(cache) \
--/* We use binary search since the table is sorted in the cache file.	      \
--   The first matching entry in the table is returned.			      \
--   It is important to use the same algorithm as used while generating	      \
--   the cache file.  */							      \
--do									      \
--  {									      \
--    left = 0;								      \
--    right = cache->nlibs - 1;						      \
--									      \
--    while (left <= right)						      \
--      {									      \
--	__typeof__ (cache->libs[0].key) key;				      \
--									      \
--	middle = (left + right) / 2;					      \
--									      \
--	key = cache->libs[middle].key;					      \
--									      \
--	/* Make sure string table indices are not bogus before using	      \
--	   them.  */							      \
--	if (! _dl_cache_verify_ptr (key))				      \
--	  {								      \
--	    cmpres = 1;							      \
--	    break;							      \
--	  }								      \
--									      \
--	/* Actually compare the entry with the key.  */			      \
--	cmpres = _dl_cache_libcmp (name, cache_data + key);		      \
--	if (__builtin_expect (cmpres == 0, 0))				      \
--	  {								      \
--	    /* Found it.  LEFT now marks the last entry for which we	      \
--	       know the name is correct.  */				      \
--	    left = middle;						      \
--									      \
--	    /* There might be entries with this name before the one we	      \
--	       found.  So we have to find the beginning.  */		      \
--	    while (middle > 0)						      \
--	      {								      \
--		__typeof__ (cache->libs[0].key) key;			      \
--									      \
--		key = cache->libs[middle - 1].key;			      \
--		/* Make sure string table indices are not bogus before	      \
--		   using them.  */					      \
--		if (! _dl_cache_verify_ptr (key)			      \
--		    /* Actually compare the entry.  */			      \
--		    || _dl_cache_libcmp (name, cache_data + key) != 0)	      \
--		  break;						      \
--		--middle;						      \
--	      }								      \
--									      \
--	    do								      \
--	      {								      \
--		int flags;						      \
--		__typeof__ (cache->libs[0]) *lib = &cache->libs[middle];      \
--									      \
--		/* Only perform the name test if necessary.  */		      \
--		if (middle > left					      \
--		    /* We haven't seen this string so far.  Test whether the  \
--		       index is ok and whether the name matches.  Otherwise   \
--		       we are done.  */					      \
--		    && (! _dl_cache_verify_ptr (lib->key)		      \
--			|| (_dl_cache_libcmp (name, cache_data + lib->key)    \
--			    != 0)))					      \
--		  break;						      \
--									      \
--		flags = lib->flags;					      \
--		if (_dl_cache_check_flags (flags)			      \
--		    && _dl_cache_verify_ptr (lib->value))		      \
--		  {							      \
--		    if (best == NULL || flags == GLRO(dl_correct_cache_id))   \
--		      {							      \
--			HWCAP_CHECK;					      \
--			best = cache_data + lib->value;			      \
--									      \
--			if (flags == GLRO(dl_correct_cache_id))		      \
--			  /* We've found an exact match for the shared	      \
--			     object and no general `ELF' release.  Stop	      \
--			     searching.  */				      \
--			  break;					      \
--		      }							      \
--		  }							      \
--	      }								      \
--	    while (++middle <= right);					      \
--	    break;							      \
--	}								      \
--									      \
--	if (cmpres < 0)							      \
--	  left = middle + 1;						      \
--	else								      \
--	  right = middle - 1;						      \
--      }									      \
--  }									      \
--while (0)
--
--
- int
--internal_function
- _dl_cache_libcmp (const char *p1, const char *p2)
- {
-   while (*p1 != '\0')
-@@ -172,139 +76,3 @@ _dl_cache_libcmp (const char *p1, const 
-     }
-   return *p1 - *p2;
- }
--
--
--/* Look up NAME in ld.so.cache and return the file name stored there,
--   or null if none is found.  */
--
--const char *
--internal_function
--_dl_load_cache_lookup (const char *name)
--{
--  int left, right, middle;
--  int cmpres;
--  const char *cache_data;
--  uint32_t cache_data_size;
--  const char *best;
--
--  /* Print a message if the loading of libs is traced.  */
--  if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0))
--    _dl_debug_printf (" search cache=%s\n", LD_SO_CACHE);
--
--  if (cache == NULL)
--    {
--      /* Read the contents of the file.  */
--      void *file = _dl_sysdep_read_whole_file (LD_SO_CACHE, &cachesize,
--					       PROT_READ);
--
--      /* We can handle three different cache file formats here:
--	 - the old libc5/glibc2.0/2.1 format
--	 - the old format with the new format in it
--	 - only the new format
--	 The following checks if the cache contains any of these formats.  */
--      if (file != MAP_FAILED && cachesize > sizeof *cache
--	  && memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0)
--	{
--	  size_t offset;
--	  /* Looks ok.  */
--	  cache = file;
--
--	  /* Check for new version.  */
--	  offset = ALIGN_CACHE (sizeof (struct cache_file)
--				+ cache->nlibs * sizeof (struct file_entry));
--
--	  cache_new = (struct cache_file_new *) ((void *) cache + offset);
--	  if (cachesize < (offset + sizeof (struct cache_file_new))
--	      || memcmp (cache_new->magic, CACHEMAGIC_VERSION_NEW,
--			 sizeof CACHEMAGIC_VERSION_NEW - 1) != 0)
--	    cache_new = (void *) -1;
--	}
--      else if (file != MAP_FAILED && cachesize > sizeof *cache_new
--	       && memcmp (file, CACHEMAGIC_VERSION_NEW,
--			  sizeof CACHEMAGIC_VERSION_NEW - 1) == 0)
--	{
--	  cache_new = file;
--	  cache = file;
--	}
--      else
--	{
--	  if (file != MAP_FAILED)
--	    __munmap (file, cachesize);
--	  cache = (void *) -1;
--	}
--
--      assert (cache != NULL);
--    }
--
--  if (cache == (void *) -1)
--    /* Previously looked for the cache file and didn't find it.  */
--    return NULL;
--
--  best = NULL;
--
--  if (cache_new != (void *) -1)
--    {
--      uint64_t platform;
--
--      /* This is where the strings start.  */
--      cache_data = (const char *) cache_new;
--
--      /* Now we can compute how large the string table is.  */
--      cache_data_size = (const char *) cache + cachesize - cache_data;
--
--      platform = _dl_string_platform (GLRO(dl_platform));
--      if (platform != (uint64_t) -1)
--	platform = 1ULL << platform;
--
--#define _DL_HWCAP_TLS_MASK (1LL << 63)
--      uint64_t hwcap_exclude = ~((GLRO(dl_hwcap) & GLRO(dl_hwcap_mask))
--				 | _DL_HWCAP_PLATFORM | _DL_HWCAP_TLS_MASK);
--
--      /* Only accept hwcap if it's for the right platform.  */
--#define HWCAP_CHECK \
--      if (lib->hwcap & hwcap_exclude)					      \
--	continue;							      \
--      if (GLRO(dl_osversion) && lib->osversion > GLRO(dl_osversion))	      \
--	continue;							      \
--      if (_DL_PLATFORMS_COUNT						      \
--	  && (lib->hwcap & _DL_HWCAP_PLATFORM) != 0			      \
--	  && (lib->hwcap & _DL_HWCAP_PLATFORM) != platform)		      \
--	continue
--      SEARCH_CACHE (cache_new);
--    }
--  else
--    {
--      /* This is where the strings start.  */
--      cache_data = (const char *) &cache->libs[cache->nlibs];
--
--      /* Now we can compute how large the string table is.  */
--      cache_data_size = (const char *) cache + cachesize - cache_data;
--
--#undef HWCAP_CHECK
--#define HWCAP_CHECK do {} while (0)
--      SEARCH_CACHE (cache);
--    }
--
--  /* Print our result if wanted.  */
--  if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0)
--      && best != NULL)
--    _dl_debug_printf ("  trying file=%s\n", best);
--
--  return best;
--}
--
--#ifndef MAP_COPY
--/* If the system does not support MAP_COPY we cannot leave the file open
--   all the time since this would create problems when the file is replaced.
--   Therefore we provide this function to close the file and open it again
--   once needed.  */
--void
--_dl_unload_cache (void)
--{
--  if (cache != NULL && cache != (struct cache_file *) -1)
--    {
--      __munmap (cache, cachesize);
--      cache = NULL;
--    }
--}
--#endif
-Index: ldconfig-native-2.12.1/dl-cache.h
-===================================================================
---- ldconfig-native-2.12.1.orig/dl-cache.h
-+++ ldconfig-native-2.12.1/dl-cache.h
-@@ -101,5 +101,4 @@ struct cache_file_new
- (((addr) + __alignof__ (struct cache_file_new) -1)	\
-  & (~(__alignof__ (struct cache_file_new) - 1)))
- 
--extern int _dl_cache_libcmp (const char *p1, const char *p2)
--     internal_function;
-+extern int _dl_cache_libcmp (const char *p1, const char *p2);
-Index: ldconfig-native-2.12.1/ldconfig.c
-===================================================================
---- ldconfig-native-2.12.1.orig/ldconfig.c
-+++ ldconfig-native-2.12.1/ldconfig.c
-@@ -16,6 +16,9 @@
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
- 
-+#define _LARGEFILE64_SOURCE
-+#define _GNU_SOURCE
-+
- #define PROCINFO_CLASS static
- #include <alloca.h>
- #include <argp.h>
-@@ -39,10 +42,20 @@
- #include <glob.h>
- #include <libgen.h>
- 
--#include <ldconfig.h>
--#include <dl-cache.h>
-+#include "ldconfig.h"
-+#include "dl-cache.h"
-+
-+#include "dl-procinfo.h"
-+
-+#include "argp.h"
-+
-+
-+#define SYSCONFDIR "/etc"
-+#define LIBDIR "/usr/lib"
-+#define SLIBDIR "/lib"
-+# define N_(msgid)  msgid
-+#define _(msg) msg
- 
--#include <dl-procinfo.h>
- 
- #ifdef _DL_FIRST_PLATFORM
- # define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT)
-@@ -55,7 +68,7 @@
- #endif
- 
- /* Get libc version number.  */
--#include <version.h>
-+#include "version.h"
- 
- #define PACKAGE _libc_intl_domainname
- 
-@@ -152,8 +165,8 @@ static const struct argp_option options[
-   { NULL, 0, NULL, 0, NULL, 0 }
- };
- 
--#define PROCINFO_CLASS static
--#include <dl-procinfo.c>
-+//#define PROCINFO_CLASS static
-+//#include <dl-procinfo.c>
- 
- /* Short description of program.  */
- static const char doc[] = N_("Configure Dynamic Linker Run Time Bindings.");
-@@ -291,6 +304,7 @@ parse_opt (int key, char *arg, struct ar
-   return 0;
- }
- 
-+#define REPORT_BUGS_TO "mailing list : poky@yoctoproject.org"
- /* Print bug-reporting information in the help message.  */
- static char *
- more_help (int key, const char *text, void *input)
-@@ -315,7 +329,7 @@ For bug reporting instructions, please s
- static void
- print_version (FILE *stream, struct argp_state *state)
- {
--  fprintf (stream, "ldconfig %s%s\n", PKGVERSION, VERSION);
-+  fprintf (stream, "ldconfig (Hacked Poky Version)\n");
-   fprintf (stream, gettext ("\
- Copyright (C) %s Free Software Foundation, Inc.\n\
- This is free software; see the source for copying conditions.  There is NO\n\
-@@ -1233,6 +1247,7 @@ set_hwcap (void)
-     hwcap_mask = strtoul (mask, NULL, 0);
- }
- 
-+const char _libc_intl_domainname[] = "libc";
- 
- int
- main (int argc, char **argv)
-Index: ldconfig-native-2.12.1/readlib.c
-===================================================================
---- ldconfig-native-2.12.1.orig/readlib.c
-+++ ldconfig-native-2.12.1/readlib.c
-@@ -22,6 +22,9 @@
-    development version.  Besides the simplification, it has also been
-    modified to read some other file formats.  */
- 
-+#define _LARGEFILE64_SOURCE
-+#define _GNU_SOURCE
-+
- #include <a.out.h>
- #include <elf.h>
- #include <error.h>
-@@ -35,7 +38,9 @@
- #include <sys/stat.h>
- #include <gnu/lib-names.h>
- 
--#include <ldconfig.h>
-+#include "ldconfig.h"
-+
-+#define _(msg) msg
- 
- #define Elf32_CLASS ELFCLASS32
- #define Elf64_CLASS ELFCLASS64
-Index: ldconfig-native-2.12.1/xstrdup.c
-===================================================================
---- ldconfig-native-2.12.1.orig/xstrdup.c
-+++ ldconfig-native-2.12.1/xstrdup.c
-@@ -16,15 +16,10 @@
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
- 
--#ifdef HAVE_CONFIG_H
--# include <config.h>
--#endif
-+#define _GNU_SOURCE
-+
-+#include <string.h>
- 
--#if defined STDC_HEADERS || defined HAVE_STRING_H || _LIBC
--# include <string.h>
--#else
--# include <strings.h>
--#endif
- void *xmalloc (size_t n) __THROW;
- char *xstrdup (char *string) __THROW;
- 
diff --git a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch b/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
deleted file mode 100644
index 27bc411..0000000
--- a/meta-oe/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Pending
-
-Coming from this bug: http://sourceware.org/bugzilla/show_bug.cgi?id=11149
-
-Nitin A Kamble <nitin.a.kamble@intel.com>2011/03/29
-
---- ldconfig-native-2.12.1.orig/ldconfig.c	
-+++ ldconfig-native-2.12.1/ldconfig.c	
-@@ -1359,14 +1359,9 @@ main (int argc, char **argv)
- 
-   const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
-   if (opt_chroot)
--    {
--      aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
--      if (aux_cache_file == NULL)
--	error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"),
--	       _PATH_LDCONFIG_AUX_CACHE);
--    }
-+    aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
- 
--  if (! opt_ignore_aux_cache)
-+  if (! opt_ignore_aux_cache && aux_cache_file)
-     load_aux_cache (aux_cache_file);
-   else
-     init_aux_cache ();
-@@ -1376,7 +1371,8 @@ main (int argc, char **argv)
-   if (opt_build_cache)
-     {
-       save_cache (cache_file);
--      save_aux_cache (aux_cache_file);
-+      if (aux_cache_file)
-+        save_aux_cache (aux_cache_file);
-     }
- 
-   return 0;
-
diff --git a/meta-oe/recipes-support/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch b/meta-oe/recipes-support/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
deleted file mode 100644
index 7b544ca..0000000
--- a/meta-oe/recipes-support/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 90069586167b930befce7303aea57078f04b4ed8 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 30 Jan 2011 16:37:27 +0100
-Subject: [PATCH] don't try to run generated binaries
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- ppdc/Makefile |   30 +++++++++++++++---------------
- 1 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/ppdc/Makefile b/ppdc/Makefile
-index 0288d47..fc87f1b 100644
---- a/ppdc/Makefile
-+++ b/ppdc/Makefile
-@@ -243,8 +243,8 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/libcups.a \
- 	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
- 		libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
- 		$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
--	echo Generating localization strings...
--	./genstrings >sample.c
-+#	echo Generating localization strings...
-+#	./genstrings >sample.c
- 
- 
- #
-@@ -261,9 +261,9 @@ ppdc-static:		ppdc.o libcupsppdc.a  ../cups/libcups.a foo.drv foo-fr.po
- 	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
- 		../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- 		$(COMMONLIBS) $(LIBZ)
--	echo Testing PPD compiler...
--	./ppdc-static -l en,fr -I ../data foo.drv
--	./ppdc-static -l en,fr -z -I ../data foo.drv
-+#	echo Testing PPD compiler...
-+#	./ppdc-static -l en,fr -I ../data foo.drv
-+#	./ppdc-static -l en,fr -z -I ../data foo.drv
- 
- 
- #
-@@ -290,16 +290,16 @@ ppdi-static:		ppdc-static ppdi.o libcupsppdc.a  ../cups/libcups.a
- 		../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- 		$(COMMONLIBS) $(LIBZ)
- 	echo Testing PPD importer...
--	$(RM) -r ppd ppd2 sample-import.drv
--	./ppdc-static -I ../data sample.drv
--	./ppdi-static -I ../data -o sample-import.drv ppd/*
--	./ppdc-static -I ../data -d ppd2 sample-import.drv
--	if diff -r ppd ppd2 >/dev/null; then \
--		echo PPD import OK; \
--	else \
--		echo PPD import FAILED; \
--		exit 1; \
--	fi
-+#	$(RM) -r ppd ppd2 sample-import.drv
-+#	./ppdc-static -I ../data sample.drv
-+#	./ppdi-static -I ../data -o sample-import.drv ppd/*
-+#	./ppdc-static -I ../data -d ppd2 sample-import.drv
-+#	if diff -r ppd ppd2 >/dev/null; then \
-+#		echo PPD import OK; \
-+#	else \
-+#		echo PPD import FAILED; \
-+#		exit 1; \
-+#	fi
- 
- 
- #
--- 
-1.6.6.1
-
diff --git a/meta-oe/recipes-support/cups/cups-1.4.6/use_echo_only_in_init.patch b/meta-oe/recipes-support/cups/cups-1.4.6/use_echo_only_in_init.patch
deleted file mode 100644
index 21ff0e5..0000000
--- a/meta-oe/recipes-support/cups/cups-1.4.6/use_echo_only_in_init.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/init/cups.sh.in.orig	2008-10-04 16:50:46.000000000 -0300
-+++ b/init/cups.sh.in	2008-10-04 16:51:39.000000000 -0300
-@@ -68,7 +68,7 @@
- 		ECHO_ERROR=:
- 		;;
- 
--	Linux*)
-+	DISABLELinux*)
- 		IS_ON=/bin/true
- 		if test -f /etc/init.d/functions; then
- 			. /etc/init.d/functions
diff --git a/meta-oe/recipes-support/cups/cups14.inc b/meta-oe/recipes-support/cups/cups14.inc
deleted file mode 100644
index 430d3ab..0000000
--- a/meta-oe/recipes-support/cups/cups14.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-DESCRIPTION = "An Internet printing system for Unix."
-SECTION = "console/utils"
-LICENSE = "GPLv2 LGPLv2"
-DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib"
-PROVIDES = "cups14"
-
-SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2"
-
-LEAD_SONAME = "libcupsdriver.so"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = " \
-               --enable-gnutls \
-               --enable-dbus \
-               --enable-browsing \
-               --disable-openssl \
-               --disable-tiff \
-               --without-php \
-               --without-perl \
-               --without-python \
-               --without-java \
-               "
-
-
-do_configure() {
-	gnu-configize
-	libtoolize --force
-	DSOFLAGS="${LDFLAGS}" oe_runconf
-}
-
-do_compile () {
-	sed -i s:STRIP:NOSTRIP: Makedefs
-	sed -i s:serial:: backend/Makefile
-
-	echo "all:"    >  man/Makefile
-	echo "libs:" >> man/Makefile
-	echo "install:" >> man/Makefile
-	echo "install-data:" >> man/Makefile
-	echo "install-exec:" >> man/Makefile
-	echo "install-headers:" >> man/Makefile
-	echo "install-libs:" >> man/Makefile
-
-	oe_runmake "SSLLIBS=-lgnutls -L${STAGING_LIBDIR}" \
-		   "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
-		   "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
-		   "LIBZ=-lz -L${STAGING_LIBDIR}" \
-		   "-I."
-}
-
-fakeroot do_install () {
-	oe_runmake "DSTROOT=${D}" install
-
-   # This directory gets installed with perms 511, which makes packaging fail
-   chmod 0711 "${D}/${localstatedir}/run/cups/certs"
-}
-
-python do_package_append() {
-	# Change permissions back the way they were, they probably had a reason...
-	workdir = bb.data.getVar('WORKDIR', d, 1)
-	os.system('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir)
-}
-
-PACKAGES =+ "${PN}-lib ${PN}-libimage"
-
-FILES_${PN}-lib = "${libdir}/libcups.so.*"
-
-FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
-
-FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \
-                    ${libdir}/cups/cgi-bin/.debug \
-                    ${libdir}/cups/filter/.debug \
-                    ${libdir}/cups/monitor/.debug \
-                    ${libdir}/cups/notifier/.debug \
-                    ${libdir}/cups/daemon/.debug \
-                   "
-
-#package the html for the webgui inside the main packages (~1MB uncompressed)
-
-FILES_${PN} += "${datadir}/doc/cups/images \
-                ${datadir}/doc/cups/*html \
-                ${datadir}/doc/cups/*.css \
-                ${datadir}/icons/ \
-               "
-- 
1.7.5.4




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-02-24 10:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-24 10:12 [meta-oe][PATCH 0/2] Tidy up some files Paul Eggleton
2012-02-24 10:12 ` [meta-oe][PATCH 1/2] python-setuptools: remove Paul Eggleton
2012-02-24 10:12 ` [meta-oe][PATCH 2/2] Tidy up unused files Paul Eggleton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.