opkg: Add patch to fix removing packages with recommends

While removing a package with opkg, the process shouldn't be blocked if
another package RECOMMENDS the package wanted to be removed. This is
because, while generating the dependencies, opkg adds dependencies to
depended_upon_by even if dependency's type is RECOMMEND. The fix is to
skip dependencies of type RECOMMEND while constructing depended_upon_by.

[YOCTO: #2431]

(From OE-Core rev: 08a5ef44c7aa58ffcad0457e8dda3504f2c3192b)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andrei Gherzan 2012-10-21 18:40:40 +03:00 committed by Richard Purdie
parent 2df8db417d
commit e702a1abff
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,26 @@
While removing a package with opkg, the process shouldn't be blocked if
another package RECOMMENDS the package wanted to be removed. This is
because, while generating the dependencies, opkg adds dependencies to
depended_upon_by even if dependency's type is RECOMMEND. The fix is to
skip dependencies of type RECOMMEND while constructing depended_upon_by.
Bug info:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2431
Upstream-Status: Pending
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: trunk/libopkg/pkg_depends.c
===================================================================
--- trunk.orig/libopkg/pkg_depends.c 2011-09-03 05:54:56.000000000 +0300
+++ trunk/libopkg/pkg_depends.c 2012-10-20 22:23:03.783573202 +0300
@@ -785,8 +785,7 @@
for (i = 0; i < count; i++) {
depends = &pkg->depends[i];
if (depends->type != PREDEPEND
- && depends->type != DEPEND
- && depends->type != RECOMMEND)
+ && depends->type != DEPEND)
continue;
for (j = 0; j < depends->possibility_count; j++) {
ab_depend = depends->possibilities[j]->pkg;

View File

@ -12,6 +12,7 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
file://0009-pkg_depends-fix-version-constraints.patch \
file://0010-pkg_depends-fix-version_constraints_satisfied.patch \
file://opkg-no-sync-offline.patch \
file://don-t-add-recommends-pkgs-to-depended-upon-by.patch \
"
S = "${WORKDIR}/trunk"