Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix
@ 2012-09-19 17:16 Martin Jansa
  2012-09-19 17:16 ` [PATCH 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:16 UTC (permalink / raw)
  To: openembedded-core

This depends on
http://patchwork.openembedded.org/patch/36893/
otherwise warning about missing SRC_URI entries will be shown

The following changes since commit f06097f4581e4c728c2950a86e025384e4bdcdf0:

  eglibc: Do not use fsqrt in libm when building for fsl ppc with fpu (2012-09-18 07:44:13 -0700)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib jansa/opkg
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/opkg

Martin Jansa (3):
  opkg: replace local patches with git patches submitted upstream
  opkg: add patch to fix SIGSEGV when printing status file
  opkg-nogpg: drop SRCREV

 meta/recipes-devtools/opkg/opkg-nogpg_svn.bb       |  2 -
 .../0001-add-opkg_compare_versions-function.patch  | 51 ++++++++++++++
 ...e-the-uname-gname-fields-when-extracting.patch} | 30 +++++---
 ...ix-dependency-issues-for-preinst-scripts.patch} | 65 ++++++++++--------
 ...nst-script-is-not-fatal-with-conf-offlin.patch} | 75 +++++++++++---------
 ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 11 ++-
 ...tch => 0006-detect-circular-dependencies.patch} | 79 +++++++++++++---------
 ...g-provides-even-when-oldpkg-provides-exis.patch | 46 +++++++++++++
 meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------
 meta/recipes-devtools/opkg/opkg_svn.bb             | 15 ++--
 10 files changed, 258 insertions(+), 152 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
 rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (71%)
 rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (82%)
 rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (52%)
 rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (91%)
 rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (59%)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
 delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch

-- 
1.7.12




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

* [PATCH 1/3] opkg: replace local patches with git patches submitted upstream
  2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
@ 2012-09-19 17:16 ` Martin Jansa
  2012-09-19 17:16 ` [PATCH 2/3] opkg: add patch to fix SIGSEGV when printing status file Martin Jansa
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:16 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 .../0001-add-opkg_compare_versions-function.patch  | 51 ++++++++++++++
 ...e-the-uname-gname-fields-when-extracting.patch} | 30 +++++---
 ...ix-dependency-issues-for-preinst-scripts.patch} | 65 ++++++++++--------
 ...nst-script-is-not-fatal-with-conf-offlin.patch} | 75 +++++++++++---------
 ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 11 ++-
 ...tch => 0006-detect-circular-dependencies.patch} | 79 +++++++++++++---------
 meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------
 meta/recipes-devtools/opkg/opkg_svn.bb             | 12 ++--
 8 files changed, 210 insertions(+), 149 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
 rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (71%)
 rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (82%)
 rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (52%)
 rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (91%)
 rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (59%)
 delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch

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
new file mode 100644
index 0000000..51853fa
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
@@ -0,0 +1,51 @@
+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
+
+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/add_uname_support.patch b/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
similarity index 71%
rename from meta/recipes-devtools/opkg/opkg/add_uname_support.patch
rename to meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
index 0f627f1..a2fb036 100644
--- a/meta/recipes-devtools/opkg/opkg/add_uname_support.patch
+++ b/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
@@ -1,17 +1,24 @@
+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 
+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: Pending
+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(-)
 
-RP 11/11/11
-
-Index: trunk/libbb/unarchive.c
-===================================================================
---- trunk.orig/libbb/unarchive.c	2011-11-11 15:52:59.761674091 +0000
-+++ trunk/libbb/unarchive.c	2011-11-11 17:04:56.501574419 +0000
+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>
@@ -26,7 +33,7 @@ Index: trunk/libbb/unarchive.c
  
  #include "libbb.h"
  
-@@ -436,6 +439,42 @@
+@@ -436,6 +439,42 @@ free_header_ar(file_header_t *ar_entry)
  	free(ar_entry);
  }
  
@@ -69,7 +76,7 @@ Index: trunk/libbb/unarchive.c
  
  static file_header_t *
  get_header_tar(FILE *tar_stream)
-@@ -515,8 +554,14 @@
+@@ -515,8 +554,14 @@ get_header_tar(FILE *tar_stream)
  */
          tar_entry->mode = 07777 & strtol(tar.formated.mode, NULL, 8);
  
@@ -86,3 +93,6 @@ Index: trunk/libbb/unarchive.c
  	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/fix_installorder.patch b/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
similarity index 82%
rename from meta/recipes-devtools/opkg/opkg/fix_installorder.patch
rename to meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
index 6a7e6db..2d7f8ba 100644
--- a/meta/recipes-devtools/opkg/opkg/fix_installorder.patch
+++ b/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
@@ -1,16 +1,21 @@
-There is a problem with dependency order when installing packages. The key 
-problem revolves around the satisfy_dependencies_for() function which is 
+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 
+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 
+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.
 
@@ -21,9 +26,9 @@ A -> B,E
 E -> B
 B -> C
 
-Currently X would install A and E. When installing A the packages B, E 
+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 
+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.
 
@@ -31,15 +36,18 @@ 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: Pending
-
-RP 2011/12/15
+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(+)
 
-Index: trunk/libopkg/opkg_install.c
-===================================================================
---- trunk.orig/libopkg/opkg_install.c	2011-12-15 15:58:39.000000000 +0000
-+++ trunk/libopkg/opkg_install.c	2011-12-15 15:58:41.838334788 +0000
-@@ -76,6 +77,27 @@
+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) {
@@ -67,11 +75,11 @@ Index: trunk/libopkg/opkg_install.c
  	  pkg_vec_free(depends);
  	  return 0;
       }
-Index: trunk/libopkg/pkg_depends.c
-===================================================================
---- trunk.orig/libopkg/pkg_depends.c	2010-12-22 16:04:43.000000000 +0000
-+++ trunk/libopkg/pkg_depends.c	2011-12-15 15:58:41.838334788 +0000
-@@ -259,6 +259,88 @@
+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;
  }
  
@@ -160,11 +168,11 @@ Index: trunk/libopkg/pkg_depends.c
  /*checking for conflicts !in replaces
    If a packages conflicts with another but is also replacing it, I should not consider it a
    really conflicts
-Index: trunk/libopkg/pkg_depends.h
-===================================================================
---- trunk.orig/libopkg/pkg_depends.h	2010-12-22 16:04:43.000000000 +0000
-+++ trunk/libopkg/pkg_depends.h	2011-12-15 15:58:41.838334788 +0000
-@@ -82,6 +82,7 @@
+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);
@@ -172,3 +180,6 @@ Index: trunk/libopkg/pkg_depends.h
  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/offline_postinstall.patch b/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
similarity index 52%
rename from meta/recipes-devtools/opkg/opkg/offline_postinstall.patch
rename to meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
index b197f6b..902fe5c 100644
--- a/meta/recipes-devtools/opkg/opkg/offline_postinstall.patch
+++ b/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
@@ -1,35 +1,27 @@
-When we have an offline root and have specified force-postinstall, 
+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 neeing to run. We can issue a NOTICE this is happened
+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: Pending
-
-RP 2011/12/15
+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(-)
 
-
-Index: trunk/libopkg/pkg.c
-===================================================================
---- trunk.orig/libopkg/pkg.c	2011-12-15 15:58:39.000000000 +0000
-+++ trunk/libopkg/pkg.c	2011-12-15 20:04:50.109992736 +0000
-@@ -1297,8 +1297,9 @@
-      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;
-      }
- 
-Index: trunk/libopkg/opkg_cmd.c
-===================================================================
---- trunk.orig/libopkg/opkg_cmd.c	2011-12-15 19:49:25.826014150 +0000
-+++ trunk/libopkg/opkg_cmd.c	2011-12-15 19:50:52.346012148 +0000
-@@ -453,7 +453,8 @@
+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 {
@@ -39,11 +31,11 @@ Index: trunk/libopkg/opkg_cmd.c
  	       }
  	  }
       }
-Index: trunk/libopkg/opkg_configure.c
-===================================================================
---- trunk.orig/libopkg/opkg_configure.c	2011-12-15 19:50:11.586013081 +0000
-+++ trunk/libopkg/opkg_configure.c	2011-12-15 19:52:15.082010347 +0000
-@@ -35,7 +35,10 @@
+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) {
@@ -55,3 +47,22 @@ Index: trunk/libopkg/opkg_configure.c
  	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/conf_override.patch b/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
similarity index 91%
rename from meta/recipes-devtools/opkg/opkg/conf_override.patch
rename to meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
index b1698d8..2d006c3 100644
--- a/meta/recipes-devtools/opkg/opkg/conf_override.patch
+++ b/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
@@ -1,17 +1,16 @@
-From 45d0468f7f9e9be633b2819aa43ab9b6287b8e6a Mon Sep 17 00:00:00 2001
+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] Do not read /etc/opkg/*.conf if -f is specified
+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: Pending
-
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 ---
- libopkg/opkg_conf.c |   55 ++++++++++++++++++++++++++-------------------------
+ libopkg/opkg_conf.c | 55 +++++++++++++++++++++++++++--------------------------
  1 file changed, 28 insertions(+), 27 deletions(-)
 
 diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
@@ -87,5 +86,5 @@ index 4711ce7..1e65bad 100644
  	if (conf->offline_root)
  		sprintf_alloc (&lock_file, "%s/%s", conf->offline_root, OPKGLOCKFILE);
 -- 
-1.7.9.5
+1.7.12
 
diff --git a/meta/recipes-devtools/opkg/opkg/track_parents.patch b/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
similarity index 59%
rename from meta/recipes-devtools/opkg/opkg/track_parents.patch
rename to meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
index ef327e3..cdf5e76 100644
--- a/meta/recipes-devtools/opkg/opkg/track_parents.patch
+++ b/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
@@ -1,15 +1,27 @@
-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
+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: Pending
-RP 2011/12/18
+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(-)
 
-Index: trunk/libopkg/opkg_install.c
-===================================================================
---- trunk.orig/libopkg/opkg_install.c	2011-12-18 11:15:17.320725365 +0000
-+++ trunk/libopkg/opkg_install.c	2011-12-18 12:38:54.980609225 +0000
-@@ -84,8 +84,14 @@
+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. */
@@ -24,7 +36,7 @@ Index: trunk/libopkg/opkg_install.c
  		    err = opkg_install_pkg(dep, 0);
  		    /* mark this package as having been automatically installed to
  		     * satisfy a dependency */
-@@ -115,6 +121,8 @@
+@@ -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. */
@@ -33,11 +45,11 @@ Index: trunk/libopkg/opkg_install.c
  	  if ((dep->state_status != SS_INSTALLED)
  	      && (dep->state_status != SS_UNPACKED)) {
                 opkg_msg(DEBUG2,"Calling opkg_install_pkg.\n");
-Index: trunk/libopkg/pkg.c
-===================================================================
---- trunk.orig/libopkg/pkg.c	2011-12-18 11:12:39.976729002 +0000
-+++ trunk/libopkg/pkg.c	2011-12-18 11:22:34.528715535 +0000
-@@ -86,6 +86,7 @@
+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;
@@ -45,7 +57,7 @@ Index: trunk/libopkg/pkg.c
       pkg->state_flag = SF_OK;
       pkg->state_status = SS_NOT_INSTALLED;
       pkg->depends_str = NULL;
-@@ -191,6 +192,7 @@
+@@ -191,6 +192,7 @@ pkg_deinit(pkg_t *pkg)
  	pkg->description = NULL;
  
  	pkg->state_want = SW_UNKNOWN;
@@ -53,11 +65,11 @@ Index: trunk/libopkg/pkg.c
  	pkg->state_flag = SF_OK;
  	pkg->state_status = SS_NOT_INSTALLED;
  
-Index: trunk/libopkg/pkg.h
-===================================================================
---- trunk.orig/libopkg/pkg.h	2011-12-18 11:12:37.120728742 +0000
-+++ trunk/libopkg/pkg.h	2011-12-18 11:15:39.080725150 +0000
-@@ -129,6 +129,7 @@
+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;
@@ -65,11 +77,11 @@ Index: trunk/libopkg/pkg.h
       pkg_state_flag_t state_flag;
       pkg_state_status_t state_status;
       char **depends_str;
-Index: trunk/libopkg/pkg_depends.c
-===================================================================
---- trunk.orig/libopkg/pkg_depends.c	2011-12-18 11:14:24.464726569 +0000
-+++ trunk/libopkg/pkg_depends.c	2011-12-18 11:30:32.516704127 +0000
-@@ -30,7 +30,6 @@
+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);
@@ -77,7 +89,7 @@ Index: trunk/libopkg/pkg_depends.c
  
  static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata)
  {
-@@ -531,7 +530,7 @@
+@@ -531,7 +530,7 @@ int pkg_dependence_satisfied(depend_t *depend)
       return 0;
  }
  
@@ -86,14 +98,17 @@ Index: trunk/libopkg/pkg_depends.c
  {
      int i;
      pkg_t ** pkgs = vec->pkgs;
-Index: trunk/libopkg/pkg_depends.h
-===================================================================
---- trunk.orig/libopkg/pkg_depends.h	2011-12-18 11:28:51.960706484 +0000
-+++ trunk/libopkg/pkg_depends.h	2011-12-18 11:29:19.400705862 +0000
-@@ -87,5 +87,6 @@
+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/add_vercmp.patch b/meta/recipes-devtools/opkg/opkg/add_vercmp.patch
deleted file mode 100644
index 1203c54..0000000
--- a/meta/recipes-devtools/opkg/opkg/add_vercmp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Inappropriate [function not used]
-
-Index: trunk/libopkg/opkg.c
-===================================================================
---- trunk.orig/libopkg/opkg.c	2010-01-26 20:32:19.000000000 +0000
-+++ trunk/libopkg/opkg.c	2010-01-26 20:40:34.000000000 +0000
-@@ -876,3 +876,18 @@
- 
- 	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);
-+}
-+
-Index: trunk/libopkg/opkg.h
-===================================================================
---- trunk.orig/libopkg/opkg.h	2010-01-26 20:32:19.000000000 +0000
-+++ trunk/libopkg/opkg.h	2010-01-26 20:35:19.000000000 +0000
-@@ -58,4 +58,6 @@
- 
- int opkg_repository_accessibility_check(void);
- 
-+int opkg_compare_versions (const char *ver1, const char *ver2);
-+
- #endif /* OPKG_H */
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 4146b7e..03ed103 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -1,12 +1,12 @@
 require opkg.inc
 
 SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
-           file://add_vercmp.patch \
-           file://add_uname_support.patch \
-           file://fix_installorder.patch \
-           file://offline_postinstall.patch\
-           file://track_parents.patch \
-           file://conf_override.patch \
+  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 \
 "
 
 S = "${WORKDIR}/trunk"
-- 
1.7.12




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

* [PATCH 2/3] opkg: add patch to fix SIGSEGV when printing status file
  2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
  2012-09-19 17:16 ` [PATCH 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
@ 2012-09-19 17:16 ` Martin Jansa
       [not found]   ` <cover.1348076271.git.Martin.Jansa@gmail.com>
  2012-09-19 17:16 ` [PATCH 3/3] opkg-nogpg: drop SRCREV Martin Jansa
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:16 UTC (permalink / raw)
  To: openembedded-core

* it was triggered by c02364f36e228835ea5d7fd4e1d347fd451f8544 when new package had 2 entries in Provides and old version just 1

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...g-provides-even-when-oldpkg-provides-exis.patch | 46 ++++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb             |  3 +-
 2 files changed, 48 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch

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
new file mode 100644
index 0000000..1e5e965
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
@@ -0,0 +1,46 @@
+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
+
+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_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 03ed103..9a03f2e 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -7,6 +7,7 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
   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 \
 "
 
 S = "${WORKDIR}/trunk"
@@ -14,4 +15,4 @@ S = "${WORKDIR}/trunk"
 SRCREV = "633"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
-- 
1.7.12




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

* [PATCH 3/3] opkg-nogpg: drop SRCREV
  2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
  2012-09-19 17:16 ` [PATCH 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
  2012-09-19 17:16 ` [PATCH 2/3] opkg: add patch to fix SIGSEGV when printing status file Martin Jansa
@ 2012-09-19 17:16 ` Martin Jansa
  2012-09-19 17:29 ` [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Saul Wold
  2012-09-21 22:25 ` Saul Wold
  4 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:16 UTC (permalink / raw)
  To: openembedded-core

* use SRCREV from opkg_svn.bb, because with 596 patches we have won't apply

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/opkg/opkg-nogpg_svn.bb | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-devtools/opkg/opkg-nogpg_svn.bb b/meta/recipes-devtools/opkg/opkg-nogpg_svn.bb
index 35f0581..e1b9f24 100644
--- a/meta/recipes-devtools/opkg/opkg-nogpg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg-nogpg_svn.bb
@@ -3,8 +3,6 @@ require opkg_svn.bb
 DEPENDS = "curl"
 PROVIDES += "opkg"
 
-SRCREV = "596"
-
 EXTRA_OECONF += "--disable-gpg"
 
 DEFAULT_PREFERENCE = "-1"
-- 
1.7.12




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

* Re: [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix
  2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
                   ` (2 preceding siblings ...)
  2012-09-19 17:16 ` [PATCH 3/3] opkg-nogpg: drop SRCREV Martin Jansa
@ 2012-09-19 17:29 ` Saul Wold
  2012-09-19 17:33   ` Martin Jansa
  2012-09-21 22:25 ` Saul Wold
  4 siblings, 1 reply; 9+ messages in thread
From: Saul Wold @ 2012-09-19 17:29 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 09/19/2012 10:16 AM, Martin Jansa wrote:
> This depends on
> http://patchwork.openembedded.org/patch/36893/
> otherwise warning about missing SRC_URI entries will be shown
>
> The following changes since commit f06097f4581e4c728c2950a86e025384e4bdcdf0:
>
>    eglibc: Do not use fsqrt in libm when building for fsl ppc with fpu (2012-09-18 07:44:13 -0700)
>
> are available in the git repository at:
>
>    git://git.openembedded.org/openembedded-core-contrib jansa/opkg
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/opkg
>
> Martin Jansa (3):
>    opkg: replace local patches with git patches submitted upstream
>    opkg: add patch to fix SIGSEGV when printing status file
>    opkg-nogpg: drop SRCREV
>
>   meta/recipes-devtools/opkg/opkg-nogpg_svn.bb       |  2 -
>   .../0001-add-opkg_compare_versions-function.patch  | 51 ++++++++++++++
>   ...e-the-uname-gname-fields-when-extracting.patch} | 30 +++++---
>   ...ix-dependency-issues-for-preinst-scripts.patch} | 65 ++++++++++--------
>   ...nst-script-is-not-fatal-with-conf-offlin.patch} | 75 +++++++++++---------
>   ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 11 ++-
>   ...tch => 0006-detect-circular-dependencies.patch} | 79 +++++++++++++---------
>   ...g-provides-even-when-oldpkg-provides-exis.patch | 46 +++++++++++++
>   meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------

These patches do not have Upstream-Status in the local version, I guess 
you are trying to preserve the original state?  How soon will they be 
accepted into the upstream?

They should still have Upstream-Status: Submitted added.

Thanks
	Sau!

>   meta/recipes-devtools/opkg/opkg_svn.bb             | 15 ++--
>   10 files changed, 258 insertions(+), 152 deletions(-)
>   create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
>   rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (71%)
>   rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (82%)
>   rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (52%)
>   rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (91%)
>   rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (59%)
>   create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
>   delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch
>



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

* Re: [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix
  2012-09-19 17:29 ` [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Saul Wold
@ 2012-09-19 17:33   ` Martin Jansa
  0 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:33 UTC (permalink / raw)
  To: Saul Wold; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3170 bytes --]

On Wed, Sep 19, 2012 at 10:29:51AM -0700, Saul Wold wrote:
> On 09/19/2012 10:16 AM, Martin Jansa wrote:
> > This depends on
> > http://patchwork.openembedded.org/patch/36893/
> > otherwise warning about missing SRC_URI entries will be shown
> >
> > The following changes since commit f06097f4581e4c728c2950a86e025384e4bdcdf0:
> >
> >    eglibc: Do not use fsqrt in libm when building for fsl ppc with fpu (2012-09-18 07:44:13 -0700)
> >
> > are available in the git repository at:
> >
> >    git://git.openembedded.org/openembedded-core-contrib jansa/opkg
> >    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/opkg
> >
> > Martin Jansa (3):
> >    opkg: replace local patches with git patches submitted upstream
> >    opkg: add patch to fix SIGSEGV when printing status file
> >    opkg-nogpg: drop SRCREV
> >
> >   meta/recipes-devtools/opkg/opkg-nogpg_svn.bb       |  2 -
> >   .../0001-add-opkg_compare_versions-function.patch  | 51 ++++++++++++++
> >   ...e-the-uname-gname-fields-when-extracting.patch} | 30 +++++---
> >   ...ix-dependency-issues-for-preinst-scripts.patch} | 65 ++++++++++--------
> >   ...nst-script-is-not-fatal-with-conf-offlin.patch} | 75 +++++++++++---------
> >   ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 11 ++-
> >   ...tch => 0006-detect-circular-dependencies.patch} | 79 +++++++++++++---------
> >   ...g-provides-even-when-oldpkg-provides-exis.patch | 46 +++++++++++++
> >   meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------
> 
> These patches do not have Upstream-Status in the local version, I guess 
> you are trying to preserve the original state?  How soon will they be 
> accepted into the upstream?

No idea, but Graham was usually quick.
 
> They should still have Upstream-Status: Submitted added.

Ah sorry, I've sent wrong version of this patch, yes I had them with 
Upstream-Status: Submitted

Sending v2 in few minutes.

> 
> Thanks
> 	Sau!
> 
> >   meta/recipes-devtools/opkg/opkg_svn.bb             | 15 ++--
> >   10 files changed, 258 insertions(+), 152 deletions(-)
> >   create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
> >   rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (71%)
> >   rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (82%)
> >   rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (52%)
> >   rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (91%)
> >   rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (59%)
> >   create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
> >   delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch
> >

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

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

* [PATCHv2 2/3] opkg: add patch to fix SIGSEGV when printing status file
       [not found]   ` <cover.1348076271.git.Martin.Jansa@gmail.com>
@ 2012-09-19 17:40     ` Martin Jansa
  2012-09-19 17:41     ` [PATCHv2 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
  1 sibling, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:40 UTC (permalink / raw)
  To: openembedded-core

* it was triggered by c02364f36e228835ea5d7fd4e1d347fd451f8544 when new package had 2 entries in Provides and old version just 1

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...g-provides-even-when-oldpkg-provides-exis.patch | 49 ++++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb             |  3 +-
 2 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch

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
new file mode 100644
index 0000000..f1be7b8
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
@@ -0,0 +1,49 @@
+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_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 03ed103..9a03f2e 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -7,6 +7,7 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
   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 \
 "
 
 S = "${WORKDIR}/trunk"
@@ -14,4 +15,4 @@ S = "${WORKDIR}/trunk"
 SRCREV = "633"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
-- 
1.7.12




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

* [PATCHv2 1/3] opkg: replace local patches with git patches submitted upstream
       [not found]   ` <cover.1348076271.git.Martin.Jansa@gmail.com>
  2012-09-19 17:40     ` [PATCHv2 " Martin Jansa
@ 2012-09-19 17:41     ` Martin Jansa
  1 sibling, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2012-09-19 17:41 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 .../0001-add-opkg_compare_versions-function.patch  | 54 ++++++++++++++
 ...e-the-uname-gname-fields-when-extracting.patch} | 31 +++++---
 ...ix-dependency-issues-for-preinst-scripts.patch} | 66 ++++++++++-------
 ...nst-script-is-not-fatal-with-conf-offlin.patch} | 76 ++++++++++++--------
 ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 12 ++--
 ...tch => 0006-detect-circular-dependencies.patch} | 82 +++++++++++++---------
 meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------
 meta/recipes-devtools/opkg/opkg_svn.bb             | 12 ++--
 8 files changed, 224 insertions(+), 145 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
 rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (69%)
 rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (81%)
 rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (50%)
 rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (88%)
 rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (58%)
 delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch

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
new file mode 100644
index 0000000..5dc76d4
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
@@ -0,0 +1,54 @@
+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/add_uname_support.patch b/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
similarity index 69%
rename from meta/recipes-devtools/opkg/opkg/add_uname_support.patch
rename to meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
index 0f627f1..f51cf58 100644
--- a/meta/recipes-devtools/opkg/opkg/add_uname_support.patch
+++ b/meta/recipes-devtools/opkg/opkg/0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch
@@ -1,17 +1,27 @@
+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 
+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: Pending
+Upstream-Status: Submitted
+http://code.google.com/p/opkg/issues/detail?id=93
 
-RP 11/11/11
+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(-)
 
-Index: trunk/libbb/unarchive.c
-===================================================================
---- trunk.orig/libbb/unarchive.c	2011-11-11 15:52:59.761674091 +0000
-+++ trunk/libbb/unarchive.c	2011-11-11 17:04:56.501574419 +0000
+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>
@@ -26,7 +36,7 @@ Index: trunk/libbb/unarchive.c
  
  #include "libbb.h"
  
-@@ -436,6 +439,42 @@
+@@ -436,6 +439,42 @@ free_header_ar(file_header_t *ar_entry)
  	free(ar_entry);
  }
  
@@ -69,7 +79,7 @@ Index: trunk/libbb/unarchive.c
  
  static file_header_t *
  get_header_tar(FILE *tar_stream)
-@@ -515,8 +554,14 @@
+@@ -515,8 +554,14 @@ get_header_tar(FILE *tar_stream)
  */
          tar_entry->mode = 07777 & strtol(tar.formated.mode, NULL, 8);
  
@@ -86,3 +96,6 @@ Index: trunk/libbb/unarchive.c
  	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/fix_installorder.patch b/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
similarity index 81%
rename from meta/recipes-devtools/opkg/opkg/fix_installorder.patch
rename to meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
index 6a7e6db..195598f 100644
--- a/meta/recipes-devtools/opkg/opkg/fix_installorder.patch
+++ b/meta/recipes-devtools/opkg/opkg/0003-Fix-dependency-issues-for-preinst-scripts.patch
@@ -1,16 +1,21 @@
-There is a problem with dependency order when installing packages. The key 
-problem revolves around the satisfy_dependencies_for() function which is 
+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 
+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 
+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.
 
@@ -21,9 +26,9 @@ A -> B,E
 E -> B
 B -> C
 
-Currently X would install A and E. When installing A the packages B, E 
+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 
+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.
 
@@ -31,15 +36,21 @@ 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: Pending
+Upstream-Status: Submitted
+http://code.google.com/p/opkg/issues/detail?id=93
 
-RP 2011/12/15
+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(+)
 
-Index: trunk/libopkg/opkg_install.c
-===================================================================
---- trunk.orig/libopkg/opkg_install.c	2011-12-15 15:58:39.000000000 +0000
-+++ trunk/libopkg/opkg_install.c	2011-12-15 15:58:41.838334788 +0000
-@@ -76,6 +77,27 @@
+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) {
@@ -67,11 +78,11 @@ Index: trunk/libopkg/opkg_install.c
  	  pkg_vec_free(depends);
  	  return 0;
       }
-Index: trunk/libopkg/pkg_depends.c
-===================================================================
---- trunk.orig/libopkg/pkg_depends.c	2010-12-22 16:04:43.000000000 +0000
-+++ trunk/libopkg/pkg_depends.c	2011-12-15 15:58:41.838334788 +0000
-@@ -259,6 +259,88 @@
+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;
  }
  
@@ -160,11 +171,11 @@ Index: trunk/libopkg/pkg_depends.c
  /*checking for conflicts !in replaces
    If a packages conflicts with another but is also replacing it, I should not consider it a
    really conflicts
-Index: trunk/libopkg/pkg_depends.h
-===================================================================
---- trunk.orig/libopkg/pkg_depends.h	2010-12-22 16:04:43.000000000 +0000
-+++ trunk/libopkg/pkg_depends.h	2011-12-15 15:58:41.838334788 +0000
-@@ -82,6 +82,7 @@
+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);
@@ -172,3 +183,6 @@ Index: trunk/libopkg/pkg_depends.h
  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/offline_postinstall.patch b/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
similarity index 50%
rename from meta/recipes-devtools/opkg/opkg/offline_postinstall.patch
rename to meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
index b197f6b..900c150 100644
--- a/meta/recipes-devtools/opkg/opkg/offline_postinstall.patch
+++ b/meta/recipes-devtools/opkg/opkg/0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch
@@ -1,35 +1,30 @@
-When we have an offline root and have specified force-postinstall, 
+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 neeing to run. We can issue a NOTICE this is happened
+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: Pending
-
-RP 2011/12/15
+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(-)
 
-Index: trunk/libopkg/pkg.c
-===================================================================
---- trunk.orig/libopkg/pkg.c	2011-12-15 15:58:39.000000000 +0000
-+++ trunk/libopkg/pkg.c	2011-12-15 20:04:50.109992736 +0000
-@@ -1297,8 +1297,9 @@
-      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;
-      }
- 
-Index: trunk/libopkg/opkg_cmd.c
-===================================================================
---- trunk.orig/libopkg/opkg_cmd.c	2011-12-15 19:49:25.826014150 +0000
-+++ trunk/libopkg/opkg_cmd.c	2011-12-15 19:50:52.346012148 +0000
-@@ -453,7 +453,8 @@
+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 {
@@ -39,11 +34,11 @@ Index: trunk/libopkg/opkg_cmd.c
  	       }
  	  }
       }
-Index: trunk/libopkg/opkg_configure.c
-===================================================================
---- trunk.orig/libopkg/opkg_configure.c	2011-12-15 19:50:11.586013081 +0000
-+++ trunk/libopkg/opkg_configure.c	2011-12-15 19:52:15.082010347 +0000
-@@ -35,7 +35,10 @@
+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) {
@@ -55,3 +50,22 @@ Index: trunk/libopkg/opkg_configure.c
  	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/conf_override.patch b/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
similarity index 88%
rename from meta/recipes-devtools/opkg/opkg/conf_override.patch
rename to meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
index b1698d8..3313bf7 100644
--- a/meta/recipes-devtools/opkg/opkg/conf_override.patch
+++ b/meta/recipes-devtools/opkg/opkg/0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch
@@ -1,17 +1,19 @@
-From 45d0468f7f9e9be633b2819aa43ab9b6287b8e6a Mon Sep 17 00:00:00 2001
+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] Do not read /etc/opkg/*.conf if -f is specified
+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: Pending
+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 ++++++++++++++++++++++++++-------------------------
+ libopkg/opkg_conf.c | 55 +++++++++++++++++++++++++++--------------------------
  1 file changed, 28 insertions(+), 27 deletions(-)
 
 diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
@@ -87,5 +89,5 @@ index 4711ce7..1e65bad 100644
  	if (conf->offline_root)
  		sprintf_alloc (&lock_file, "%s/%s", conf->offline_root, OPKGLOCKFILE);
 -- 
-1.7.9.5
+1.7.12
 
diff --git a/meta/recipes-devtools/opkg/opkg/track_parents.patch b/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
similarity index 58%
rename from meta/recipes-devtools/opkg/opkg/track_parents.patch
rename to meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
index ef327e3..5cf8618 100644
--- a/meta/recipes-devtools/opkg/opkg/track_parents.patch
+++ b/meta/recipes-devtools/opkg/opkg/0006-detect-circular-dependencies.patch
@@ -1,15 +1,30 @@
-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
+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: Pending
-RP 2011/12/18
+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(-)
 
-Index: trunk/libopkg/opkg_install.c
-===================================================================
---- trunk.orig/libopkg/opkg_install.c	2011-12-18 11:15:17.320725365 +0000
-+++ trunk/libopkg/opkg_install.c	2011-12-18 12:38:54.980609225 +0000
-@@ -84,8 +84,14 @@
+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. */
@@ -24,7 +39,7 @@ Index: trunk/libopkg/opkg_install.c
  		    err = opkg_install_pkg(dep, 0);
  		    /* mark this package as having been automatically installed to
  		     * satisfy a dependency */
-@@ -115,6 +121,8 @@
+@@ -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. */
@@ -33,11 +48,11 @@ Index: trunk/libopkg/opkg_install.c
  	  if ((dep->state_status != SS_INSTALLED)
  	      && (dep->state_status != SS_UNPACKED)) {
                 opkg_msg(DEBUG2,"Calling opkg_install_pkg.\n");
-Index: trunk/libopkg/pkg.c
-===================================================================
---- trunk.orig/libopkg/pkg.c	2011-12-18 11:12:39.976729002 +0000
-+++ trunk/libopkg/pkg.c	2011-12-18 11:22:34.528715535 +0000
-@@ -86,6 +86,7 @@
+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;
@@ -45,7 +60,7 @@ Index: trunk/libopkg/pkg.c
       pkg->state_flag = SF_OK;
       pkg->state_status = SS_NOT_INSTALLED;
       pkg->depends_str = NULL;
-@@ -191,6 +192,7 @@
+@@ -191,6 +192,7 @@ pkg_deinit(pkg_t *pkg)
  	pkg->description = NULL;
  
  	pkg->state_want = SW_UNKNOWN;
@@ -53,11 +68,11 @@ Index: trunk/libopkg/pkg.c
  	pkg->state_flag = SF_OK;
  	pkg->state_status = SS_NOT_INSTALLED;
  
-Index: trunk/libopkg/pkg.h
-===================================================================
---- trunk.orig/libopkg/pkg.h	2011-12-18 11:12:37.120728742 +0000
-+++ trunk/libopkg/pkg.h	2011-12-18 11:15:39.080725150 +0000
-@@ -129,6 +129,7 @@
+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;
@@ -65,11 +80,11 @@ Index: trunk/libopkg/pkg.h
       pkg_state_flag_t state_flag;
       pkg_state_status_t state_status;
       char **depends_str;
-Index: trunk/libopkg/pkg_depends.c
-===================================================================
---- trunk.orig/libopkg/pkg_depends.c	2011-12-18 11:14:24.464726569 +0000
-+++ trunk/libopkg/pkg_depends.c	2011-12-18 11:30:32.516704127 +0000
-@@ -30,7 +30,6 @@
+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);
@@ -77,7 +92,7 @@ Index: trunk/libopkg/pkg_depends.c
  
  static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata)
  {
-@@ -531,7 +530,7 @@
+@@ -531,7 +530,7 @@ int pkg_dependence_satisfied(depend_t *depend)
       return 0;
  }
  
@@ -86,14 +101,17 @@ Index: trunk/libopkg/pkg_depends.c
  {
      int i;
      pkg_t ** pkgs = vec->pkgs;
-Index: trunk/libopkg/pkg_depends.h
-===================================================================
---- trunk.orig/libopkg/pkg_depends.h	2011-12-18 11:28:51.960706484 +0000
-+++ trunk/libopkg/pkg_depends.h	2011-12-18 11:29:19.400705862 +0000
-@@ -87,5 +87,6 @@
+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/add_vercmp.patch b/meta/recipes-devtools/opkg/opkg/add_vercmp.patch
deleted file mode 100644
index 1203c54..0000000
--- a/meta/recipes-devtools/opkg/opkg/add_vercmp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Inappropriate [function not used]
-
-Index: trunk/libopkg/opkg.c
-===================================================================
---- trunk.orig/libopkg/opkg.c	2010-01-26 20:32:19.000000000 +0000
-+++ trunk/libopkg/opkg.c	2010-01-26 20:40:34.000000000 +0000
-@@ -876,3 +876,18 @@
- 
- 	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);
-+}
-+
-Index: trunk/libopkg/opkg.h
-===================================================================
---- trunk.orig/libopkg/opkg.h	2010-01-26 20:32:19.000000000 +0000
-+++ trunk/libopkg/opkg.h	2010-01-26 20:35:19.000000000 +0000
-@@ -58,4 +58,6 @@
- 
- int opkg_repository_accessibility_check(void);
- 
-+int opkg_compare_versions (const char *ver1, const char *ver2);
-+
- #endif /* OPKG_H */
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 4146b7e..03ed103 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -1,12 +1,12 @@
 require opkg.inc
 
 SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
-           file://add_vercmp.patch \
-           file://add_uname_support.patch \
-           file://fix_installorder.patch \
-           file://offline_postinstall.patch\
-           file://track_parents.patch \
-           file://conf_override.patch \
+  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 \
 "
 
 S = "${WORKDIR}/trunk"
-- 
1.7.12




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

* Re: [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix
  2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
                   ` (3 preceding siblings ...)
  2012-09-19 17:29 ` [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Saul Wold
@ 2012-09-21 22:25 ` Saul Wold
  4 siblings, 0 replies; 9+ messages in thread
From: Saul Wold @ 2012-09-21 22:25 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 09/19/2012 10:16 AM, Martin Jansa wrote:
> This depends on
> http://patchwork.openembedded.org/patch/36893/
> otherwise warning about missing SRC_URI entries will be shown
>
> The following changes since commit f06097f4581e4c728c2950a86e025384e4bdcdf0:
>
>    eglibc: Do not use fsqrt in libm when building for fsl ppc with fpu (2012-09-18 07:44:13 -0700)
>
> are available in the git repository at:
>
>    git://git.openembedded.org/openembedded-core-contrib jansa/opkg
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/opkg
>
> Martin Jansa (3):
>    opkg: replace local patches with git patches submitted upstream
>    opkg: add patch to fix SIGSEGV when printing status file
>    opkg-nogpg: drop SRCREV
>
>   meta/recipes-devtools/opkg/opkg-nogpg_svn.bb       |  2 -
>   .../0001-add-opkg_compare_versions-function.patch  | 51 ++++++++++++++
>   ...e-the-uname-gname-fields-when-extracting.patch} | 30 +++++---
>   ...ix-dependency-issues-for-preinst-scripts.patch} | 65 ++++++++++--------
>   ...nst-script-is-not-fatal-with-conf-offlin.patch} | 75 +++++++++++---------
>   ...ot-read-etc-opkg-.conf-if-f-is-specified.patch} | 11 ++-
>   ...tch => 0006-detect-circular-dependencies.patch} | 79 +++++++++++++---------
>   ...g-provides-even-when-oldpkg-provides-exis.patch | 46 +++++++++++++
>   meta/recipes-devtools/opkg/opkg/add_vercmp.patch   | 36 ----------
>   meta/recipes-devtools/opkg/opkg_svn.bb             | 15 ++--
>   10 files changed, 258 insertions(+), 152 deletions(-)
>   create mode 100644 meta/recipes-devtools/opkg/opkg/0001-add-opkg_compare_versions-function.patch
>   rename meta/recipes-devtools/opkg/opkg/{add_uname_support.patch => 0002-Ensure-we-use-the-uname-gname-fields-when-extracting.patch} (71%)
>   rename meta/recipes-devtools/opkg/opkg/{fix_installorder.patch => 0003-Fix-dependency-issues-for-preinst-scripts.patch} (82%)
>   rename meta/recipes-devtools/opkg/opkg/{offline_postinstall.patch => 0004-Failed-postinst-script-is-not-fatal-with-conf-offlin.patch} (52%)
>   rename meta/recipes-devtools/opkg/opkg/{conf_override.patch => 0005-Do-not-read-etc-opkg-.conf-if-f-is-specified.patch} (91%)
>   rename meta/recipes-devtools/opkg/opkg/{track_parents.patch => 0006-detect-circular-dependencies.patch} (59%)
>   create mode 100644 meta/recipes-devtools/opkg/opkg/0007-merge-newpkg-provides-even-when-oldpkg-provides-exis.patch
>   delete mode 100644 meta/recipes-devtools/opkg/opkg/add_vercmp.patch
>

Merged into OE-Core with v2 of 2/3

Thanks
	Sau!




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

end of thread, other threads:[~2012-09-21 22:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-19 17:16 [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Martin Jansa
2012-09-19 17:16 ` [PATCH 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
2012-09-19 17:16 ` [PATCH 2/3] opkg: add patch to fix SIGSEGV when printing status file Martin Jansa
     [not found]   ` <cover.1348076271.git.Martin.Jansa@gmail.com>
2012-09-19 17:40     ` [PATCHv2 " Martin Jansa
2012-09-19 17:41     ` [PATCHv2 1/3] opkg: replace local patches with git patches submitted upstream Martin Jansa
2012-09-19 17:16 ` [PATCH 3/3] opkg-nogpg: drop SRCREV Martin Jansa
2012-09-19 17:29 ` [PATCH 0/3] Opkg patch upstreaming and SIGSEGV fix Saul Wold
2012-09-19 17:33   ` Martin Jansa
2012-09-21 22:25 ` Saul Wold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox