From patchwork Thu Sep 13 22:40:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: opkg: Fix package dependency issue for preinsts Date: Thu, 13 Sep 2012 22:40:29 -0000 From: Richard Purdie X-Patchwork-Id: 36515 Message-Id: <1347576029.11710.115.camel@ted> To: openembedded-core 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 --- -- cgit 0.9.0.1 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"