relocate packages on recipes-base/recipes-enigma2/recipes-wlan.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-devtools / opkg / opkg / 0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch
diff --git a/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch b/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch
new file mode 100644 (file)
index 0000000..575c1e1
--- /dev/null
@@ -0,0 +1,94 @@
+From b925a520a63fb291675f707e602d04295236c85b Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:17:52 +0200
+Subject: [PATCH 07/10] pkg_hash_fetch_conflicts: move iteration over
+ conflicts to subroutine
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |   46 ++++++++++++++++++++++++----------------------
+ 1 file changed, 24 insertions(+), 22 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index 6ff75f1..1999b64 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -284,39 +284,22 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg)
+ }
+-
+-pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
++static void __pkg_hash_fetch_conflicts(pkg_t * pkg, pkg_vec_t * installed_conflicts)
+ {
+-    pkg_vec_t * installed_conflicts, * test_vec;
++    pkg_vec_t * test_vec;
+     compound_depend_t * conflicts;
+     depend_t ** possible_satisfiers;
+     depend_t * possible_satisfier;
+     int i, j, k;
+-    abstract_pkg_t * ab_pkg;
+     pkg_t **pkg_scouts;
+     pkg_t *pkg_scout;
+-    /*
+-     * this is a setup to check for redundant/cyclic dependency checks,
+-     * which are marked at the abstract_pkg level
+-     */
+-    if(!(ab_pkg = pkg->parent)){
+-      opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
+-      return (pkg_vec_t *)NULL;
+-    }
+-
+     conflicts = pkg->conflicts;
+-    if(!conflicts){
+-      return (pkg_vec_t *)NULL;
+-    }
+-    installed_conflicts = pkg_vec_alloc();
+-
+-
+-
++    if(!conflicts)
++      return;
+     /* foreach conflict */
+     for(i = 0; i < pkg->conflicts_count; i++){
+-
+       possible_satisfiers = conflicts->possibilities;
+       /* foreach possible satisfier */
+@@ -352,11 +335,30 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+       }
+       conflicts++;
+     }
++}
++
++pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
++{
++    pkg_vec_t * installed_conflicts;
++    abstract_pkg_t * ab_pkg;
++
++    /*
++     * this is a setup to check for redundant/cyclic dependency checks,
++     * which are marked at the abstract_pkg level
++     */
++    if(!(ab_pkg = pkg->parent)){
++      opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
++      return (pkg_vec_t *)NULL;
++    }
++
++    installed_conflicts = pkg_vec_alloc();
++
++    __pkg_hash_fetch_conflicts(pkg, installed_conflicts);
+     if (installed_conflicts->len)
+           return installed_conflicts;
+     pkg_vec_free(installed_conflicts);
+-      return (pkg_vec_t *)NULL;
++    return (pkg_vec_t *)NULL;
+ }
+ int version_constraints_satisfied(depend_t * depends, pkg_t * pkg)
+-- 
+1.7.9.5
+