From: Richard Purdie Date: Thu, 13 Sep 2012 22:40:29 +0000 (+0100) Subject: opkg: Fix package dependency issue for preinsts X-Git-Tag: 2015-4~9129 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=119ef2789484222b94559675a09adc399f3b6bf0;p=openembedded-core.git opkg: Fix package dependency issue for preinsts 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 Signed-off-by: Saul Wold --- diff --git a/meta/recipes-devtools/opkg/opkg/fix_installorder.patch b/meta/recipes-devtools/opkg/opkg/fix_installorder.patch index 9dd10b28e1..6a7e6dbb4b 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 a0667ac6fe..4146b7e018 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"