]> code.ossystems Code Review - openembedded-core.git/commitdiff
opkg: Fix package dependency issue for preinsts
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 13 Sep 2012 22:40:29 +0000 (23:40 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Sep 2012 08:49:55 +0000 (09:49 +0100)
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>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-devtools/opkg/opkg/fix_installorder.patch
meta/recipes-devtools/opkg/opkg_svn.bb

index 9dd10b28e1c1f1b46359d2c64bef4f32bf8ed248..6a7e6dbb4bd59c661c47a729732b550ddf18ae8e 100644 (file)
@@ -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);
 +               }
 +
index a0667ac6fe3536984f12fb83123edf1f6ca60c62..4146b7e018653b0537e01e29aa1a7ec3402a39fa 100644 (file)
@@ -14,4 +14,4 @@ S = "${WORKDIR}/trunk"
 SRCREV = "633"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"