opkg: bump SRCREV and drop applied patches
authorMartin Jansa <martin.jansa@gmail.com>
Thu, 22 Nov 2012 20:10:23 +0000 (21:10 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Nov 2012 15:12:30 +0000 (15:12 +0000)
* only change upstream which wasn't in oe-core is
  http://code.google.com/p/opkg/source/detail?r=635
  and added testcase for that

(From OE-Core rev: 5fd1d515db5966f45a3b2f936f3c4225f59186e2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
15 files changed:
meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch [deleted file]
meta/recipes-devtools/opkg/opkg/0010-pkg_depends-fix-version_constraints_satisfied.patch [deleted file]
meta/recipes-devtools/opkg/opkg/alternatives-ln.patch [deleted file]
meta/recipes-devtools/opkg/opkg/don-t-add-recommends-pkgs-to-depended-upon-by.patch [deleted file]
meta/recipes-devtools/opkg/opkg/don-t-print-provides-if-nothing-is-provided.patch [deleted file]
meta/recipes-devtools/opkg/opkg/opkg-no-sync-offline.patch [deleted file]
meta/recipes-devtools/opkg/opkg_svn.bb

diff --git a/meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch b/meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
deleted file mode 100644 (file)
index 5dc76d4..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 029cf99fd44645b5fe1b6491355c631da3096e09 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 17 Dec 2011 12:51:07 +0100
-Subject: [PATCH 1/7] add opkg_compare_versions function
-
-* not used in opkg but can be usefull, e.g. instead of
-  opkg-utils/opkg-compare-versions.c
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/opkg.c | 15 +++++++++++++++
- libopkg/opkg.h |  2 ++
- 2 files changed, 17 insertions(+)
-
-diff --git a/libopkg/opkg.c b/libopkg/opkg.c
-index 92f61f4..eaea529 100644
---- a/libopkg/opkg.c
-+++ b/libopkg/opkg.c
-@@ -870,3 +870,18 @@ opkg_repository_accessibility_check(void)
-       return ret;
- }
-+
-+int
-+opkg_compare_versions (const char *ver1, const char *ver2)
-+{
-+  pkg_t *pkg1, *pkg2;
-+
-+  pkg1 = pkg_new();
-+  pkg2 = pkg_new();
-+
-+  parse_version(pkg1, ver1);
-+  parse_version(pkg2, ver2);
-+
-+  return pkg_compare_versions(pkg1, pkg2);
-+}
-+
-diff --git a/libopkg/opkg.h b/libopkg/opkg.h
-index 4fbd404..7aa86eb 100644
---- a/libopkg/opkg.h
-+++ b/libopkg/opkg.h
-@@ -58,4 +58,6 @@ pkg_t* opkg_find_package (const char *name, const char *version, const char *arc
- int opkg_repository_accessibility_check(void);
-+int opkg_compare_versions (const char *ver1, const char *ver2);
-+
- #endif /* OPKG_H */
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch b/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
deleted file mode 100644 (file)
index f51cf58..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-From 254780ab3b0db398447150251332916598d3b9f4 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Fri, 11 Nov 2011 17:17:01 +0000
-Subject: [PATCH 2/7] Ensure we use the uname/gname fields when extracting
- tarballs
-
-When updating packages on the target device we ideally want to match
-user and group numbers from the existing file system. This patch encourages
-opkg to lookup the uname/gname fields first and only use the hardcoded
-numerical values if that fails.
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libbb/unarchive.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 47 insertions(+), 2 deletions(-)
-
-diff --git a/libbb/unarchive.c b/libbb/unarchive.c
-index 5d4464f..d583767 100644
---- a/libbb/unarchive.c
-+++ b/libbb/unarchive.c
-@@ -22,10 +22,13 @@
- #include <stdio.h>
- #include <errno.h>
- #include <stdlib.h>
-+#include <stdbool.h>
- #include <string.h>
- #include <unistd.h>
- #include <utime.h>
- #include <libgen.h>
-+#include <grp.h>
-+#include <pwd.h>
- #include "libbb.h"
-@@ -436,6 +439,42 @@ free_header_ar(file_header_t *ar_entry)
-       free(ar_entry);
- }
-+static char uname_cache[32] = "";
-+static uid_t uid_cache;
-+
-+static bool update_unamecache(char *uname) {
-+      struct passwd *passwd;
-+      if (!uname)
-+              return FALSE;
-+      if (!uname_cache[0] && strcmp(uname_cache, uname) == 0)
-+              return TRUE;
-+      passwd = getpwnam(uname);
-+      if (passwd) {
-+              uid_cache = passwd->pw_uid;
-+              strncpy(uname, uname_cache, 32);
-+              return TRUE;
-+      }
-+      return FALSE;
-+}
-+
-+static char gname_cache[32] = "";
-+static gid_t gid_cache;
-+
-+static bool update_gnamecache(char *gname) {
-+      struct group *group;
-+      if (!gname)
-+              return FALSE;
-+      if (!gname_cache[0] && strcmp(gname_cache, gname) == 0)
-+              return TRUE;
-+      group = getgrnam(gname);
-+      if (group) {
-+              gid_cache = group->gr_gid;
-+              strncpy(gname, gname_cache, 32);
-+              return TRUE;
-+      }
-+      return FALSE;
-+}
-+
- static file_header_t *
- get_header_tar(FILE *tar_stream)
-@@ -515,8 +554,14 @@ get_header_tar(FILE *tar_stream)
- */
-         tar_entry->mode = 07777 & strtol(tar.formated.mode, NULL, 8);
--      tar_entry->uid   = strtol(tar.formated.uid, NULL, 8);
--      tar_entry->gid   = strtol(tar.formated.gid, NULL, 8);
-+      if (update_unamecache(tar.formated.uname))
-+              tar_entry->uid = uid_cache;
-+      else
-+              tar_entry->uid = strtol(tar.formated.uid, NULL, 8);
-+      if (update_gnamecache(tar.formated.gname))
-+              tar_entry->gid = gid_cache;
-+      else
-+              tar_entry->gid = strtol(tar.formated.gid, NULL, 8);
-       tar_entry->size  = strtol(tar.formated.size, NULL, 8);
-       tar_entry->mtime = strtol(tar.formated.mtime, NULL, 8);
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch b/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
deleted file mode 100644 (file)
index 195598f..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-From 6a294b6dad681b0e95aa061bc368d801d2ddc781 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 15 Dec 2011 21:08:49 +0000
-Subject: [PATCH 3/7] Fix dependency issues for preinst scripts
-
-There is a problem with dependency order when installing packages. The key
-problem revolves around the satisfy_dependencies_for() function which is
-called from opkg_install_pkg just before the installation (and preinst)
-happens.
-
-The satisfy_dependencies_for() function calls pkg_hash_fetch_unsatisfied_dependencies()
-which will only return packages which were previously not marked as
-*going* to be installed at some point. For the purposes of
-opkg_install_pkg() we really need to know which dependencies haven't been
-installed yet.
-
-This patch adds pkg_hash_fetch_satisfied_dependencies() which returns a
-list of package dependencies. We can then directly check the status of
-these and ensure any hard dependencies (not suggestions or recommendations)
-are installed before returning.
-
-Consider the situation (where -> means 'depends on'):
-
-X -> A,E
-A -> B,E
-E -> B
-B -> C
-
-Currently X would install A and E. When installing A the packages B, E
-and C would be marked as "to install". When the package B is considered
-the second time (as a dependency of E rather than A), it would install
-straight away even though C was not currently installed, just marked
-as needing to be installed.
-
-The patch changes the behaviour so B can't install until C really is installed.
-
-This change is required to run the postinst scripts in the correct order.
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/opkg_install.c | 21 +++++++++++++
- libopkg/pkg_depends.c  | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++
- libopkg/pkg_depends.h  |  1 +
- 3 files changed, 104 insertions(+)
-
-diff --git a/libopkg/opkg_install.c b/libopkg/opkg_install.c
-index 3925f58..1632066 100644
---- a/libopkg/opkg_install.c
-+++ b/libopkg/opkg_install.c
-@@ -76,6 +76,27 @@ satisfy_dependencies_for(pkg_t *pkg)
-      }
-      if (ndepends <= 0) {
-+        pkg_vec_free(depends);      
-+        depends = pkg_hash_fetch_satisfied_dependencies(pkg);
-+
-+        for (i = 0; i < depends->len; i++) {
-+             dep = depends->pkgs[i];
-+             /* The package was uninstalled when we started, but another
-+                dep earlier in this loop may have depended on it and pulled
-+                it in, so check first. */
-+             if ((dep->state_status != SS_INSTALLED) && (dep->state_status != SS_UNPACKED)) {
-+                  opkg_msg(DEBUG2,"Calling opkg_install_pkg.\n");
-+                  err = opkg_install_pkg(dep, 0);
-+                  /* mark this package as having been automatically installed to
-+                   * satisfy a dependency */
-+                  dep->auto_installed = 1;
-+                  if (err) {
-+                       pkg_vec_free(depends);
-+                       return err;
-+                  }
-+             }
-+        }
-+
-         pkg_vec_free(depends);
-         return 0;
-      }
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index 1e14d1f..36c76aa 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -259,6 +259,88 @@ pkg_hash_fetch_unsatisfied_dependencies(pkg_t * pkg, pkg_vec_t *unsatisfied,
-      return unsatisfied->len;
- }
-+
-+pkg_vec_t *
-+pkg_hash_fetch_satisfied_dependencies(pkg_t * pkg)
-+{
-+     pkg_vec_t *satisfiers;
-+     int i, j, k;
-+     int count;
-+     abstract_pkg_t * ab_pkg;
-+
-+     satisfiers = pkg_vec_alloc();
-+
-+     /*
-+      * 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, with pkg %s.\n", pkg->name);
-+        return satisfiers;
-+     }
-+
-+     count = pkg->pre_depends_count + pkg->depends_count + pkg->recommends_count + pkg->suggests_count;
-+     if (!count)
-+        return satisfiers;
-+
-+     /* foreach dependency */
-+     for (i = 0; i < count; i++) {
-+        compound_depend_t * compound_depend = &pkg->depends[i];
-+        depend_t ** possible_satisfiers = compound_depend->possibilities;;
-+
-+          if (compound_depend->type == RECOMMEND || compound_depend->type == SUGGEST)
-+              continue;
-+
-+        if (compound_depend->type == GREEDY_DEPEND) {
-+             /* foreach possible satisfier */
-+             for (j = 0; j < compound_depend->possibility_count; j++) {
-+                  /* foreach provided_by, which includes the abstract_pkg itself */
-+                  abstract_pkg_t *abpkg = possible_satisfiers[j]->pkg;
-+                  abstract_pkg_vec_t *ab_provider_vec = abpkg->provided_by;
-+                  int nposs = ab_provider_vec->len;
-+                  abstract_pkg_t **ab_providers = ab_provider_vec->pkgs;
-+                  int l;
-+                  for (l = 0; l < nposs; l++) {
-+                       pkg_vec_t *test_vec = ab_providers[l]->pkgs;
-+                       /* if no depends on this one, try the first package that Provides this one */
-+                       if (!test_vec){   /* no pkg_vec hooked up to the abstract_pkg!  (need another feed?) */
-+                            continue;
-+                       }
-+
-+                       /* cruise this possiblity's pkg_vec looking for an installed version */
-+                       for (k = 0; k < test_vec->len; k++) {
-+                            pkg_t *pkg_scout = test_vec->pkgs[k];
-+                            /* not installed, and not already known about? */
-+                            if (pkg_scout->state_want == SW_INSTALL && pkg_scout != pkg)
-+                                        pkg_vec_insert(satisfiers, pkg_scout);
-+                       }
-+                  }
-+             }
-+
-+             continue;
-+        }
-+
-+        /* foreach possible satisfier, look for installed package  */
-+        for (j = 0; j < compound_depend->possibility_count; j++) {
-+             /* foreach provided_by, which includes the abstract_pkg itself */
-+             depend_t *dependence_to_satisfy = possible_satisfiers[j];
-+             abstract_pkg_t *satisfying_apkg = possible_satisfiers[j]->pkg;
-+             pkg_t *satisfying_pkg =
-+                  pkg_hash_fetch_best_installation_candidate(satisfying_apkg,
-+                                                             pkg_installed_and_constraint_satisfied,
-+                                                             dependence_to_satisfy, 0);
-+               /* Being that I can't test constraing in pkg_hash, I will test it here */
-+             if (satisfying_pkg != NULL && satisfying_pkg != pkg) {
-+                  if (pkg_constraint_satisfied(satisfying_pkg, dependence_to_satisfy) && (satisfying_pkg->state_want == SW_INSTALL || satisfying_pkg->state_want == SW_UNKNOWN))
-+                    pkg_vec_insert(satisfiers, satisfying_pkg);
-+               }
-+
-+        }
-+     }
-+     return satisfiers;
-+}
-+
-+
- /*checking for conflicts !in replaces
-   If a packages conflicts with another but is also replacing it, I should not consider it a
-   really conflicts
-diff --git a/libopkg/pkg_depends.h b/libopkg/pkg_depends.h
-index 5d1f074..b8072e2 100644
---- a/libopkg/pkg_depends.h
-+++ b/libopkg/pkg_depends.h
-@@ -82,6 +82,7 @@ char *pkg_depend_str(pkg_t *pkg, int index);
- void buildDependedUponBy(pkg_t * pkg, abstract_pkg_t * ab_pkg);
- int version_constraints_satisfied(depend_t * depends, pkg_t * pkg);
- int pkg_hash_fetch_unsatisfied_dependencies(pkg_t * pkg, pkg_vec_t *depends, char *** unresolved);
-+pkg_vec_t * pkg_hash_fetch_satisfied_dependencies(pkg_t * pkg);
- pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg);
- int pkg_dependence_satisfiable(depend_t *depend);
- int pkg_dependence_satisfied(depend_t *depend);
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch b/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
deleted file mode 100644 (file)
index 900c150..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-From 1f709b4540e12cf7e08592aae0ad7e3e35322cab Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 15 Dec 2011 21:08:49 +0000
-Subject: [PATCH 4/7] Failed postinst script is not fatal with
- conf->offline_root
-
-When we have an offline root and have specified force-postinstall,
-attempt to run the postinstall but if it fails, just leave it in the
-status file as needing to run. We can issue a NOTICE this is happened
-but supress errors. This means the OE class doesn't have to do any
-further post processing of the postinstalls itself.
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/opkg_cmd.c       | 3 ++-
- libopkg/opkg_configure.c | 5 ++++-
- libopkg/pkg.c            | 5 +++--
- 3 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c
-index 11e7867..36ff8eb 100644
---- a/libopkg/opkg_cmd.c
-+++ b/libopkg/opkg_cmd.c
-@@ -453,7 +453,8 @@ opkg_configure_packages(char *pkg_name)
-                   pkg->state_flag &= ~SF_PREFER;
-                   opkg_state_changed++;
-              } else {
--                  err = -1;
-+                    if (!conf->offline_root)
-+                       err = -1;
-              }
-         }
-      }
-diff --git a/libopkg/opkg_configure.c b/libopkg/opkg_configure.c
-index 719da5a..169828d 100644
---- a/libopkg/opkg_configure.c
-+++ b/libopkg/opkg_configure.c
-@@ -35,7 +35,10 @@ opkg_configure(pkg_t *pkg)
-     err = pkg_run_script(pkg, "postinst", "configure");
-     if (err) {
--      opkg_msg(ERROR, "%s.postinst returned %d.\n", pkg->name, err);
-+        if (!conf->offline_root)
-+           opkg_msg(ERROR, "%s.postinst returned %d.\n", pkg->name, err);
-+        else
-+           opkg_msg(NOTICE, "%s.postinst returned %d, marking as unpacked only, configuration required on target.\n", pkg->name, err);
-       return err;
-     }
-diff --git a/libopkg/pkg.c b/libopkg/pkg.c
-index d8c3984..6ccbde2 100644
---- a/libopkg/pkg.c
-+++ b/libopkg/pkg.c
-@@ -1297,8 +1297,9 @@ pkg_run_script(pkg_t *pkg, const char *script, const char *args)
-      free(cmd);
-      if (err) {
--        opkg_msg(ERROR, "package \"%s\" %s script returned status %d.\n", 
--               pkg->name, script, err);
-+          if (!conf->offline_root)
-+             opkg_msg(ERROR, "package \"%s\" %s script returned status %d.\n", 
-+                    pkg->name, script, err);
-         return err;
-      }
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch b/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
deleted file mode 100644 (file)
index 3313bf7..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From 541b6b7bd80dc321493e42955d93b277af0c9221 Mon Sep 17 00:00:00 2001
-From: Paul Eggleton <paul.eggleton@linux.intel.com>
-Date: Mon, 9 Jul 2012 11:01:15 +0100
-Subject: [PATCH 5/7] Do not read /etc/opkg/*.conf if -f is specified
-
-If a configuration file is specified on the command line, we should
-assume it contains all of the configuration and not try to read the
-configuration in /etc/opkg.
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/opkg_conf.c | 55 +++++++++++++++++++++++++++--------------------------
- 1 file changed, 28 insertions(+), 27 deletions(-)
-
-diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
-index 4711ce7..1e65bad 100644
---- a/libopkg/opkg_conf.c
-+++ b/libopkg/opkg_conf.c
-@@ -473,39 +473,40 @@ opkg_conf_load(void)
-                               &conf->pkg_src_list, &conf->dist_src_list))
-                       goto err1;
-       }
--
--      if (conf->offline_root)
--              sprintf_alloc(&etc_opkg_conf_pattern, "%s/etc/opkg/*.conf", conf->offline_root);
-       else {
--              const char *conf_file_dir = getenv("OPKG_CONF_DIR");
--              if (conf_file_dir == NULL)
--                      conf_file_dir = OPKG_CONF_DEFAULT_CONF_FILE_DIR;
--                      sprintf_alloc(&etc_opkg_conf_pattern, "%s/*.conf", conf_file_dir);
--      }
--
--      memset(&globbuf, 0, sizeof(globbuf));
--      glob_ret = glob(etc_opkg_conf_pattern, 0, glob_errfunc, &globbuf);
--      if (glob_ret && glob_ret != GLOB_NOMATCH) {
--              free(etc_opkg_conf_pattern);
--              globfree(&globbuf);
--              goto err1;
--      }
--
--      free(etc_opkg_conf_pattern);
-+              if (conf->offline_root)
-+                      sprintf_alloc(&etc_opkg_conf_pattern, "%s/etc/opkg/*.conf", conf->offline_root);
-+              else {
-+                      const char *conf_file_dir = getenv("OPKG_CONF_DIR");
-+                      if (conf_file_dir == NULL)
-+                              conf_file_dir = OPKG_CONF_DEFAULT_CONF_FILE_DIR;
-+                              sprintf_alloc(&etc_opkg_conf_pattern, "%s/*.conf", conf_file_dir);
-+              }
--      for (i = 0; i < globbuf.gl_pathc; i++) {
--              if (globbuf.gl_pathv[i])
--                      if (conf->conf_file &&
--                                      !strcmp(conf->conf_file, globbuf.gl_pathv[i]))
--                              continue;
--              if ( opkg_conf_parse_file(globbuf.gl_pathv[i],
--                      &conf->pkg_src_list, &conf->dist_src_list)<0) {
-+              memset(&globbuf, 0, sizeof(globbuf));
-+              glob_ret = glob(etc_opkg_conf_pattern, 0, glob_errfunc, &globbuf);
-+              if (glob_ret && glob_ret != GLOB_NOMATCH) {
-+                      free(etc_opkg_conf_pattern);
-                       globfree(&globbuf);
-                       goto err1;
-               }
--      }
--      globfree(&globbuf);
-+              free(etc_opkg_conf_pattern);
-+
-+              for (i = 0; i < globbuf.gl_pathc; i++) {
-+                      if (globbuf.gl_pathv[i])
-+                              if (conf->conf_file &&
-+                                              !strcmp(conf->conf_file, globbuf.gl_pathv[i]))
-+                                      continue;
-+                      if ( opkg_conf_parse_file(globbuf.gl_pathv[i],
-+                              &conf->pkg_src_list, &conf->dist_src_list)<0) {
-+                              globfree(&globbuf);
-+                              goto err1;
-+                      }
-+              }
-+
-+              globfree(&globbuf);
-+      }
-       if (conf->offline_root)
-               sprintf_alloc (&lock_file, "%s/%s", conf->offline_root, OPKGLOCKFILE);
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch b/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
deleted file mode 100644 (file)
index 5cf8618..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-From f434078a342435ae8a666b599d989c30d4c6a7f5 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Sun, 18 Dec 2011 23:54:30 +0000
-Subject: [PATCH 6/7] detect circular dependencies
-
-Add logic to detect circular dependencies. If we see any dependency from
-any given parent twice, ignore it the second time and print a notice message
-that we did so.
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/opkg_install.c | 8 ++++++++
- libopkg/pkg.c          | 2 ++
- libopkg/pkg.h          | 1 +
- libopkg/pkg_depends.c  | 3 +--
- libopkg/pkg_depends.h  | 1 +
- 5 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/libopkg/opkg_install.c b/libopkg/opkg_install.c
-index 1632066..0216914 100644
---- a/libopkg/opkg_install.c
-+++ b/libopkg/opkg_install.c
-@@ -84,8 +84,14 @@ satisfy_dependencies_for(pkg_t *pkg)
-              /* The package was uninstalled when we started, but another
-                 dep earlier in this loop may have depended on it and pulled
-                 it in, so check first. */
-+               if (is_pkg_in_pkg_vec(dep->wanted_by, pkg)) {
-+                  opkg_msg(NOTICE,"Breaking cicular dependency on %s for %s.\n", pkg->name, dep->name);
-+                  continue;
-+               }
-              if ((dep->state_status != SS_INSTALLED) && (dep->state_status != SS_UNPACKED)) {
-                   opkg_msg(DEBUG2,"Calling opkg_install_pkg.\n");
-+                    if (!is_pkg_in_pkg_vec(dep->wanted_by, pkg))
-+                       pkg_vec_insert(dep->wanted_by, pkg);
-                   err = opkg_install_pkg(dep, 0);
-                   /* mark this package as having been automatically installed to
-                    * satisfy a dependency */
-@@ -115,6 +121,8 @@ satisfy_dependencies_for(pkg_t *pkg)
-         /* The package was uninstalled when we started, but another
-            dep earlier in this loop may have depended on it and pulled
-            it in, so check first. */
-+          if (!is_pkg_in_pkg_vec(dep->wanted_by, pkg))
-+             pkg_vec_insert(dep->wanted_by, pkg);
-         if ((dep->state_status != SS_INSTALLED)
-             && (dep->state_status != SS_UNPACKED)) {
-                opkg_msg(DEBUG2,"Calling opkg_install_pkg.\n");
-diff --git a/libopkg/pkg.c b/libopkg/pkg.c
-index 6ccbde2..be486ee 100644
---- a/libopkg/pkg.c
-+++ b/libopkg/pkg.c
-@@ -86,6 +86,7 @@ pkg_init(pkg_t *pkg)
-      pkg->section = NULL;
-      pkg->description = NULL;
-      pkg->state_want = SW_UNKNOWN;
-+     pkg->wanted_by = pkg_vec_alloc();
-      pkg->state_flag = SF_OK;
-      pkg->state_status = SS_NOT_INSTALLED;
-      pkg->depends_str = NULL;
-@@ -191,6 +192,7 @@ pkg_deinit(pkg_t *pkg)
-       pkg->description = NULL;
-       pkg->state_want = SW_UNKNOWN;
-+      pkg_vec_free(pkg->wanted_by);
-       pkg->state_flag = SF_OK;
-       pkg->state_status = SS_NOT_INSTALLED;
-diff --git a/libopkg/pkg.h b/libopkg/pkg.h
-index 775b656..5d468cb 100644
---- a/libopkg/pkg.h
-+++ b/libopkg/pkg.h
-@@ -129,6 +129,7 @@ struct pkg
-      char *description;
-      char *tags;
-      pkg_state_want_t state_want;
-+     pkg_vec_t *wanted_by;
-      pkg_state_flag_t state_flag;
-      pkg_state_status_t state_status;
-      char **depends_str;
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index 36c76aa..a72eed7 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -30,7 +30,6 @@ static int parseDepends(compound_depend_t *compound_depend, char * depend_str);
- static depend_t * depend_init(void);
- static char ** add_unresolved_dep(pkg_t * pkg, char ** the_lost, int ref_ndx);
- static char ** merge_unresolved(char ** oldstuff, char ** newstuff);
--static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
- static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata)
- {
-@@ -531,7 +530,7 @@ int pkg_dependence_satisfied(depend_t *depend)
-      return 0;
- }
--static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg)
-+int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg)
- {
-     int i;
-     pkg_t ** pkgs = vec->pkgs;
-diff --git a/libopkg/pkg_depends.h b/libopkg/pkg_depends.h
-index b8072e2..ca0801f 100644
---- a/libopkg/pkg_depends.h
-+++ b/libopkg/pkg_depends.h
-@@ -87,5 +87,6 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg);
- int pkg_dependence_satisfiable(depend_t *depend);
- int pkg_dependence_satisfied(depend_t *depend);
- const char* constraint_to_str(enum version_constraint c);
-+int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
- #endif
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch b/meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
deleted file mode 100644 (file)
index f1be7b8..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 3340b120909ea353440cfffe01fed43c55387a00 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 19 Sep 2012 17:31:45 +0200
-Subject: [PATCH 7/7] merge newpkg->provides even when oldpkg->provides
- existed
-
-* introduced in http://code.google.com/p/opkg/source/diff?spec=svn277&r=277&format=side&path=/trunk/libopkg/pkg.c
-* the problem happens when oldpkg provide 1 and newpkg provide 2
-  provides_count is merged to 2, but oldpkg->provides has only 1 entry
-  causing SIGSEGV:
-  pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
-  739                           fprintf(fp, "%s %s", i == 1 ? "" : ",",
-  (gdb) bt
-  #0  pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
-  #1  0x00007ffff7bc32fc in pkg_print_status (pkg=0x120c620, file=0x1444ce0) at pkg.c:887
-  #2  0x00007ffff7bbff59 in opkg_conf_write_status_files () at opkg_conf.c:400
-  #3  0x00007ffff7bbad8a in write_status_files_if_changed () at opkg_cmd.c:65
-  #4  0x00007ffff7bbb73e in opkg_upgrade_cmd (argc=<optimized out>, argv=<optimized out>) at opkg_cmd.c:577
-  #5  0x00007ffff7bbbcc2 in opkg_cmd_exec (cmd=cmd@entry=0x7ffff7dda080, argc=argc@entry=1, argv=argv@entry=0x7fffffffe768) at opkg_cmd.c:1319
-  #6  0x000000000040165f in main (argc=3, argv=0x7fffffffe758) at opkg-cl.c:377
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=93
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/pkg.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/libopkg/pkg.c b/libopkg/pkg.c
-index be486ee..255c673 100644
---- a/libopkg/pkg.c
-+++ b/libopkg/pkg.c
-@@ -377,10 +377,8 @@ pkg_merge(pkg_t *oldpkg, pkg_t *newpkg)
-         oldpkg->provides_count = newpkg->provides_count;
-         newpkg->provides_count = 0;
--        if (!oldpkg->provides) {
--              oldpkg->provides = newpkg->provides;
--              newpkg->provides = NULL;
--        }
-+        oldpkg->provides = newpkg->provides;
-+        newpkg->provides = NULL;
-      }
-      if (!oldpkg->conflicts_count) {
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch b/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch
deleted file mode 100644 (file)
index a9b039c..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-Add the --prefer-arch-to-version option
-
-If there were more than one candidate which had the same pkg name in the
-candidate list, for example, the same pkg with different versions, then
-it would use the last one which was the highest version one in the past,
-but it will use the higher arch priority when this option is specified.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libopkg/opkg_conf.h |    1 +
- libopkg/pkg_hash.c  |   18 +++++++++++++++---
- src/opkg-cl.c       |    9 +++++++++
- 3 files changed, 25 insertions(+), 3 deletions(-)
-
-diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
---- a/libopkg/opkg_conf.h
-+++ b/libopkg/opkg_conf.h
-@@ -77,6 +77,7 @@ struct opkg_conf
-      int force_removal_of_essential_packages;
-      int force_postinstall;
-      int force_remove;
-+     int prefer_arch_to_version;
-      int check_signature;
-      int nodeps; /* do not follow dependencies */
-      char *offline_root;
-diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c
---- a/libopkg/pkg_hash.c
-+++ b/libopkg/pkg_hash.c
-@@ -376,10 +376,22 @@ pkg_hash_fetch_best_installation_candidate(abstract_pkg_t *apkg,
-           if (constraint_fcn(matching, cdata)) {
-              opkg_msg(DEBUG, "Candidate: %s %s.\n",
-                            matching->name, matching->version) ;
--             good_pkg_by_name = matching;
-            /* It has been provided by hand, so it is what user want */
--             if (matching->provided_by_hand == 1)
--                break;
-+             if (matching->provided_by_hand == 1) {
-+                 good_pkg_by_name = matching;
-+                 break;
-+             }
-+             /* Respect to the arch priorities when given alternatives */
-+             if (good_pkg_by_name && conf->prefer_arch_to_version) {
-+                 if (matching->arch_priority >= good_pkg_by_name->arch_priority) {
-+                     good_pkg_by_name = matching;
-+                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
-+                         matching->name, matching->version) ;
-+                 } else
-+                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
-+                         good_pkg_by_name->name, good_pkg_by_name->version) ;
-+             } else
-+                 good_pkg_by_name = matching;
-           }
-      }
-diff --git a/src/opkg-cl.c b/src/opkg-cl.c
---- a/src/opkg-cl.c
-+++ b/src/opkg-cl.c
-@@ -42,6 +42,7 @@ enum {
-       ARGS_OPT_FORCE_SPACE,
-       ARGS_OPT_FORCE_POSTINSTALL,
-       ARGS_OPT_FORCE_REMOVE,
-+      ARGS_OPT_PREFER_ARCH_TO_VERSION,
-       ARGS_OPT_ADD_ARCH,
-       ARGS_OPT_ADD_DEST,
-       ARGS_OPT_NOACTION,
-@@ -83,6 +84,8 @@ static struct option long_options[] = {
-       {"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
-       {"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
-       {"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
-+      {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION},
-+      {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION},
-       {"noaction", 0, 0, ARGS_OPT_NOACTION},
-       {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
-       {"nodeps", 0, 0, ARGS_OPT_NODEPS},
-@@ -173,6 +176,9 @@ args_parse(int argc, char *argv[])
-               case ARGS_OPT_FORCE_REMOVE:
-                       conf->force_remove = 1;
-                       break;
-+              case ARGS_OPT_PREFER_ARCH_TO_VERSION:
-+                      conf->prefer_arch_to_version = 1;
-+                      break;
-               case ARGS_OPT_NODEPS:
-                       conf->nodeps = 1;
-                       break;
-@@ -271,6 +277,9 @@ usage()
-       printf("\t--offline-root <dir>  offline installation of packages.\n");
-       printf("\t--add-arch <arch>:<prio>      Register architecture with given priority\n");
-       printf("\t--add-dest <name>:<path>      Register destination with given path\n");
-+      printf("\t--prefer-arch-to-version\t    Use the architecture priority package rather\n");
-+      printf("\t                              than the higher version one if more\n");
-+      printf("\t                              than one candidate is found.\n");
-       printf("\nForce Options:\n");
-       printf("\t--force-depends               Install/remove despite failed dependencies\n");
--- 
-1.7.1
-
diff --git a/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch b/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch
deleted file mode 100644 (file)
index f7aa4ea..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-From b93ce2249751e0d90dab38e91691a6e9f33c3512 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 29 Sep 2012 11:38:03 +0200
-Subject: [PATCH 09/10] pkg_depends: fix version constraints
-
-* factor parsing version constraint to str_to_constraint and use that
-  from pkg (pkg_version_satisfied) and also pkg_depends (parseDepends)
-* fix constraint_to_str(), for EARLIER and LATER it was using '<' and
-  '>' which is parsed later as EARLIER_EQUAL and LATER_EQUAL
-* show notice when deprecated '<' or '>' is used
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=94
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/pkg.c         | 36 +++++++++++--------------
- libopkg/pkg_depends.c | 73 +++++++++++++++++++++++++++++----------------------
- libopkg/pkg_depends.h |  1 +
- 3 files changed, 59 insertions(+), 51 deletions(-)
-
-diff --git a/libopkg/pkg.c b/libopkg/pkg.c
-index 255c673..1e98b9c 100644
---- a/libopkg/pkg.c
-+++ b/libopkg/pkg.c
-@@ -968,28 +968,24 @@ pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op)
-      int r;
-      r = pkg_compare_versions(it, ref);
-+     char *op2 = op;
-+     enum version_constraint constraint = str_to_constraint(&op2);
--     if (strcmp(op, "<=") == 0 || strcmp(op, "<") == 0) {
--        return r <= 0;
--     }
--
--     if (strcmp(op, ">=") == 0 || strcmp(op, ">") == 0) {
--        return r >= 0;
--     }
--
--     if (strcmp(op, "<<") == 0) {
--        return r < 0;
--     }
--
--     if (strcmp(op, ">>") == 0) {
--        return r > 0;
--     }
--
--     if (strcmp(op, "=") == 0) {
--        return r == 0;
-+     switch (constraint) 
-+     {
-+     case EARLIER_EQUAL:
-+          return r <= 0;
-+     case LATER_EQUAL:
-+          return r >= 0;
-+     case EARLIER:
-+          return r < 0;
-+     case LATER:
-+          return r > 0;
-+     case EQUAL:
-+          return r == 0;
-+     case NONE:
-+          opkg_msg(ERROR, "Unknown operator: %s.\n", op);
-      }
--
--     opkg_msg(ERROR, "Unknown operator: %s.\n", op);
-      return 0;
- }
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index a72eed7..3dd8240 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -781,7 +781,7 @@ constraint_to_str(enum version_constraint c)
-       case NONE:
-               return "";
-       case EARLIER:
--              return "< ";
-+              return "<< ";
-       case EARLIER_EQUAL:
-              return "<= ";
-       case EQUAL:
-@@ -789,12 +789,51 @@ constraint_to_str(enum version_constraint c)
-       case LATER_EQUAL:
-             return ">= ";
-       case LATER:
--           return "> ";
-+           return ">> ";
-       }
-       return "";
- }
-+enum version_constraint
-+str_to_constraint(char **str)
-+{
-+      if(!strncmp(*str, "<<", 2)){
-+              *str += 2;
-+              return EARLIER;
-+      }
-+      else if(!strncmp(*str, "<=", 2)){
-+              *str += 2;
-+              return EARLIER_EQUAL;
-+      }
-+      else if(!strncmp(*str, ">=", 2)){
-+              *str += 2;
-+              return LATER_EQUAL;
-+      }
-+      else if(!strncmp(*str, ">>", 2)){
-+              *str += 2;
-+              return LATER;
-+      }
-+      else if(!strncmp(*str, "=", 1)){
-+              *str += 1;
-+              return EQUAL;
-+      }
-+      /* should these be here to support deprecated designations; dpkg does */
-+      else if(!strncmp(*str, "<", 1)){
-+              *str += 1;
-+              opkg_msg(NOTICE, "Deprecated version constraint '<' was used with the same meaning as '<='. Use '<<' for EARLIER constraint.\n");
-+              return EARLIER_EQUAL;
-+      }
-+      else if(!strncmp(*str, ">", 1)){
-+              *str += 1;
-+              opkg_msg(NOTICE, "Deprecated version constraint '>' was used with the same meaning as '>='. Use '>>' for LATER constraint.\n");
-+              return LATER_EQUAL;
-+      }
-+      else {
-+              return NONE;
-+      }
-+}
-+
- /*
-  * Returns a printable string for pkg's dependency at the specified idx. The
-  * resultant string must be passed to free() by the caller.
-@@ -949,35 +988,7 @@ static int parseDepends(compound_depend_t *compound_depend,
-         /* extract constraint and version */
-         if(*src == '('){
-              src++;
--             if(!strncmp(src, "<<", 2)){
--                  possibilities[i]->constraint = EARLIER;
--                  src += 2;
--             }
--             else if(!strncmp(src, "<=", 2)){
--                  possibilities[i]->constraint = EARLIER_EQUAL;
--                  src += 2;
--             }
--             else if(!strncmp(src, ">=", 2)){
--                  possibilities[i]->constraint = LATER_EQUAL;
--                  src += 2;
--             }
--             else if(!strncmp(src, ">>", 2)){
--                  possibilities[i]->constraint = LATER;
--                  src += 2;
--             }
--             else if(!strncmp(src, "=", 1)){
--                  possibilities[i]->constraint = EQUAL;
--                  src++;
--             }
--             /* should these be here to support deprecated designations; dpkg does */
--             else if(!strncmp(src, "<", 1)){
--                  possibilities[i]->constraint = EARLIER_EQUAL;
--                  src++;
--             }
--             else if(!strncmp(src, ">", 1)){
--                  possibilities[i]->constraint = LATER_EQUAL;
--                  src++;
--             }
-+             possibilities[i]->constraint = str_to_constraint(&src);
-              /* now we have any constraint, pass space to version string */
-              while(isspace(*src)) src++;
-diff --git a/libopkg/pkg_depends.h b/libopkg/pkg_depends.h
-index ca0801f..685a722 100644
---- a/libopkg/pkg_depends.h
-+++ b/libopkg/pkg_depends.h
-@@ -87,6 +87,7 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg);
- int pkg_dependence_satisfiable(depend_t *depend);
- int pkg_dependence_satisfied(depend_t *depend);
- const char* constraint_to_str(enum version_constraint c);
-+enum version_constraint str_to_constraint(char **str);
- int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
- #endif
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/0010-pkg_depends-fix-version_constraints_satisfied.patch b/meta/recipes-devtools/opkg/opkg/0010-pkg_depends-fix-version_constraints_satisfied.patch
deleted file mode 100644 (file)
index a13d658..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From e9add8fe4a63ef14aba8bd238ddde84d5470b611 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 29 Sep 2012 18:56:01 +0200
-Subject: [PATCH 10/10] pkg_depends: fix version_constraints_satisfied
-
-* with
-  Package: a
-  Version: 1
-  and
-  Conflicts: a (<< 1)
-  we have comparison == 0, but constraint EARLIER is not satisfied!
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=94
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/pkg_depends.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index 3dd8240..be81b7f 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -464,7 +464,8 @@ int version_constraints_satisfied(depend_t * depends, pkg_t * pkg)
-     else if((depends->constraint == LATER) &&
-           (comparison > 0))
-       return 1;
--    else if(comparison == 0)
-+    else if((depends->constraint == EQUAL) && 
-+          (comparison == 0))
-       return 1;
-     else if((depends->constraint == LATER_EQUAL) &&
-           (comparison >= 0))
--- 
-1.7.12
-
diff --git a/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch b/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch
deleted file mode 100644 (file)
index f257eb0..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-update-alternatives: use 'ln -n'
-
-Using the '-n' option (--no-dereference) is a better way to solve the
-do-not-link-into-directory issue.  Using only 'ln -sf' can cause problems
-on SELinux enabled hosts when target is inaccessible; e.g. when preparing
-an offline rootsystem:
-
- | $ cd <offline root>
- | $ ln -sf /lib/systemd/systemd sbin/init     # alternative #1
- | $ ln -sf /bin/busybox sbin/init             # alternative #2
- | ln: accessing `sbin/init': Permission denied
- | 
- |  --> strace:
- | brk(0)                                  = 0x102b000
- | stat("sbin/init", 0x7fffaa91c900)       = -1 EACCES (Permission denied)
- | ...
- | exit_group(1)                           = ?
-
-Now with '-n':
-
- | $ ln -snf /bin/busybox sbin/init
- | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0
- | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0
- | stat("/bin/busybox", 0x7fff8c1a3bd0)    = -1 ENOENT (No such file or directory)
- | symlink("/bin/busybox", "sbin/init")    = -1 EEXIST (File exists)
- | unlink("sbin/init")                     = 0
- | symlink("/bin/busybox", "sbin/init")    = 0
-
-
-The '-n' flag is well supported (coreutils have it at least since
-1999, busybox at least since 0.60.3 (2002)) and it obsoletes the
-explicit check whether target is a directory.
-
-Upstream-Status: pending [http://code.google.com/p/opkg/issues/detail?id=95]
-Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
-
-Index: trunk/utils/update-alternatives.in
-===================================================================
---- trunk.orig/utils/update-alternatives.in
-+++ trunk/utils/update-alternatives.in
-@@ -113,14 +113,7 @@ find_best_alt() {
-               if [ ! -d $link_dir ]; then
-                       mkdir -p $link_dir
-               fi
--              if [ -h $link -a -d $link ]; then
--                      # If $link exists and the target is a directory,
--                      # 'ln -sf $path $link' doesn't replace the link to
--                      # that directory, it creates new link inside.
--                      echo "update-alternatives: Removing $link".
--                      rm -f $link
--              fi
--              ln -sf $path $link
-+              ln -snf $path $link
-               echo "update-alternatives: Linking $link to $path"
-       else
-               echo "update-alternatives: Error: not linking $link to $path since $link exists and is not a link"
diff --git a/meta/recipes-devtools/opkg/opkg/don-t-add-recommends-pkgs-to-depended-upon-by.patch b/meta/recipes-devtools/opkg/opkg/don-t-add-recommends-pkgs-to-depended-upon-by.patch
deleted file mode 100644 (file)
index e581dc0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-While removing a package with opkg, the process shouldn't be blocked if
-another package RECOMMENDS the package wanted to be removed. This is
-because, while generating the dependencies, opkg adds dependencies to
-depended_upon_by even if dependency's type is RECOMMEND. The fix is to
-skip dependencies of type RECOMMEND while constructing depended_upon_by.
-
-Bug info:
-https://bugzilla.yoctoproject.org/show_bug.cgi?id=2431
-
-Upstream-Status: Pending
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: trunk/libopkg/pkg_depends.c
-===================================================================
---- trunk.orig/libopkg/pkg_depends.c   2011-09-03 05:54:56.000000000 +0300
-+++ trunk/libopkg/pkg_depends.c        2012-10-20 22:23:03.783573202 +0300
-@@ -785,8 +785,7 @@
-       for (i = 0; i < count; i++) {
-               depends = &pkg->depends[i];
-               if (depends->type != PREDEPEND
--                  && depends->type != DEPEND
--                  && depends->type != RECOMMEND)
-+                  && depends->type != DEPEND)
-                       continue;
-               for (j = 0; j < depends->possibility_count; j++) {
-                       ab_depend = depends->possibilities[j]->pkg;
diff --git a/meta/recipes-devtools/opkg/opkg/don-t-print-provides-if-nothing-is-provided.patch b/meta/recipes-devtools/opkg/opkg/don-t-print-provides-if-nothing-is-provided.patch
deleted file mode 100644 (file)
index 669faef..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-Every package provides itself. While printing package information all
-fields are printed only if there is any relevant info for them. For
-example: a package with no "Replaces" won't get this printed at all.
-Packages which provide only themselves, were printing this field but with
-no values. This patch skips this field if the package provides only
-itself.
-
-Upstream-Status: Pending
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: trunk/libopkg/pkg.c
-===================================================================
---- trunk.orig/libopkg/pkg.c   2011-12-18 02:11:34.000000000 +0200
-+++ trunk/libopkg/pkg.c        2012-10-20 22:20:04.109201287 +0300
-@@ -731,7 +731,8 @@
-         } else if (strcasecmp(field, "Priority") == 0) {
-                fprintf(fp, "Priority: %s\n", pkg->priority);
-         } else if (strcasecmp(field, "Provides") == 0) {
--             if (pkg->provides_count) {
-+             /* Don't print provides if this package provides only itself */
-+             if (pkg->provides_count > 1) {
-                   fprintf(fp, "Provides:");
-                 for(i = 1; i < pkg->provides_count; i++) {
-                       fprintf(fp, "%s %s", i == 1 ? "" : ",",
diff --git a/meta/recipes-devtools/opkg/opkg/opkg-no-sync-offline.patch b/meta/recipes-devtools/opkg/opkg/opkg-no-sync-offline.patch
deleted file mode 100644 (file)
index b1b3453..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-When installing into an offline root, calling sync() is pointless and just 
-hurts performance.  Don't let's do that.
-
-Signed-off-by: Phil Blundell <philb@gnu.org>
-Upstream-Status: Pending
-
---- a/libopkg/opkg_cmd.c       2011-09-08 10:53:07.000000000 +0100
-+++ b/libopkg/opkg_cmd.c       2011-10-04 10:45:22.278615584 +0100
-@@ -64,7 +64,8 @@ write_status_files_if_changed(void)
-         opkg_msg(INFO, "Writing status file.\n");
-         opkg_conf_write_status_files();
-         pkg_write_changed_filelists();
--        sync();
-+        if (!conf->offline_root)
-+            sync();
-      } else {
-         opkg_msg(DEBUG, "Nothing to be done.\n");
-      }
index 064cf43..ee78488 100644 (file)
@@ -1,25 +1,11 @@
 require opkg.inc
 
 SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
-  file://0001-add-opkg_compare_versions-function.patch \
-  file://0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch \
-  file://0003-Fix-dependency-issues-for-preinst-scripts.patch \
-  file://0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch \
-  file://0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch \
-  file://0006-detect-circular-dependencies.patch \
-  file://0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch \
-  file://0008-select_higher_version.patch \
-  file://0009-pkg_depends-fix-version-constraints.patch \
-  file://0010-pkg_depends-fix-version_constraints_satisfied.patch \
-  file://opkg-no-sync-offline.patch \
-  file://alternatives-ln.patch \
-  file://don-t-add-recommends-pkgs-to-depended-upon-by.patch \
-  file://don-t-print-provides-if-nothing-is-provided.patch \
 "
 
 S = "${WORKDIR}/trunk"
 
-SRCREV = "633"
+SRCREV = "649"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.9"
+PR = "${INC_PR}.0"