opkg: Fix package dependency issue for preinsts

Submitted by Richard Purdie on Sept. 13, 2012, 10:40 p.m.

Details

Message ID 1347576029.11710.115.camel@ted
State Accepted
Commit 119ef2789484222b94559675a09adc399f3b6bf0
Headers show

Commit Message

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 hide | download patch | download mbox

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"