Patchwork opkg: Fix package dependency issue for preinsts

login
register
mail settings
Submitter Richard Purdie
Date Sept. 13, 2012, 10:40 p.m.
Message ID <1347576029.11710.115.camel@ted>
Download mbox | patch
Permalink /patch/36515/
State Accepted
Commit 119ef2789484222b94559675a09adc399f3b6bf0
Headers show

Comments

Richard Purdie - Sept. 13, 2012, 10:40 p.m.
When processing dependencies, we need to look for both the SW_INSTALL and
SW_UNKNOWN states. If we don't do this, dependencies can be missed
and preinst scripts can run before dependencies are all installed.

This leads to package installation errors for packages like dbus-1
and associated user permission errors.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
--
cgit 0.9.0.1

Patch

diff --git a/meta/recipes-devtools/opkg/opkg/fix_installorder.patch b/meta/recipes-devtools/opkg/opkg/fix_installorder.patch
index 9dd10b2..6a7e6db 100644
--- a/meta/recipes-devtools/opkg/opkg/fix_installorder.patch
+++ b/meta/recipes-devtools/opkg/opkg/fix_installorder.patch
@@ -147,7 +147,7 @@  Index: trunk/libopkg/pkg_depends.c
 +							       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)
++                  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);
 +               }
 +
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index a0667ac..4146b7e 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -14,4 +14,4 @@  S = "${WORKDIR}/trunk"
 SRCREV = "633"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"