--- /dev/null
+From 70d10c10288da23755055c881bea01b61a2d4df7 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 22:57:35 +0200
+Subject: [PATCH 09/10] Revert "Add Recommended packages to the
+ depended_upon_by field."
+
+This reverts commit ac2222f7d6514fb403ce0848f6812a22a48f75c7.
+---
+ libopkg/pkg_depends.c | 70 ++++++++++++++++++++++---------------------------
+ 1 file changed, 32 insertions(+), 38 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index f237733..ec60b99 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -787,49 +787,43 @@ pkg_depend_str(pkg_t *pkg, int idx)
+ return str;
+ }
+
++/*
++ * WARNING: This function assumes pre_depends and depends are at the
++ * start of the pkg->depends array.
++ */
+ void buildDependedUponBy(pkg_t * pkg, abstract_pkg_t * ab_pkg)
+ {
+- compound_depend_t * depends;
+- int count, othercount;
+- int i, j;
+- abstract_pkg_t * ab_depend;
+- abstract_pkg_t ** temp;
+-
+- count = pkg->pre_depends_count +
+- pkg->depends_count +
+- pkg->recommends_count +
+- pkg->suggests_count;
+-
+- for (i = 0; i < count; i++) {
+- depends = &pkg->depends[i];
+- if (depends->type != PREDEPEND
+- && depends->type != DEPEND
+- && depends->type != RECOMMEND)
+- continue;
+- for (j = 0; j < depends->possibility_count; j++) {
+- ab_depend = depends->possibilities[j]->pkg;
+- if (!ab_depend->depended_upon_by) {
+- ab_depend->depended_upon_by =
+- xcalloc(1, sizeof(abstract_pkg_t *));
+- }
++ compound_depend_t * depends;
++ int count, othercount;
++ int i, j;
++ abstract_pkg_t * ab_depend;
++ abstract_pkg_t ** temp;
+
+- temp = ab_depend->depended_upon_by;
+- othercount = 1;
+- while (*temp) {
+- temp++;
+- othercount++;
+- }
+- *temp = ab_pkg;
++ count = pkg->pre_depends_count + pkg->depends_count;
++ depends = pkg->depends;
+
+- ab_depend->depended_upon_by =
+- xrealloc(ab_depend->depended_upon_by,
+- (othercount + 1) * sizeof(abstract_pkg_t *));
++ for (i = 0; i < count; i++) {
++ for (j = 0; j < depends->possibility_count; j++){
++ ab_depend = depends->possibilities[j]->pkg;
++ if(!ab_depend->depended_upon_by)
++ ab_depend->depended_upon_by = xcalloc(1, sizeof(abstract_pkg_t *));
++
++ temp = ab_depend->depended_upon_by;
++ othercount = 1;
++ while(*temp){
++ temp++;
++ othercount++;
++ }
++ *temp = ab_pkg;
+
+- /* the array may have been moved by realloc */
+- temp = ab_depend->depended_upon_by + othercount;
+- *temp = NULL;
+- }
+- }
++ ab_depend->depended_upon_by = xrealloc(ab_depend->depended_upon_by,
++ (othercount + 1) * sizeof(abstract_pkg_t *));
++ /* the array may have moved */
++ temp = ab_depend->depended_upon_by + othercount;
++ *temp = NULL;
++ }
++ depends++;
++ }
+ }
+
+ static depend_t * depend_init(void)
+--
+1.7.9.5
+