summaryrefslogtreecommitdiff
path: root/src/state.c
diff options
context:
space:
mode:
authorTimo Teras <timo.teras@iki.fi>2009-08-13 16:02:02 +0300
committerTimo Teras <timo.teras@iki.fi>2009-08-13 16:02:02 +0300
commit892395d5947a0ebb04130df0f92cd107fba44d6d (patch)
treeefb2dd64ef326968fa851b928acaadd9c576c6ca /src/state.c
parent6b94ed8a7ac353298c4bb7ab1f247b1b1584784e (diff)
downloadapk-tools-892395d5947a0ebb04130df0f92cd107fba44d6d.tar.gz
apk-tools-892395d5947a0ebb04130df0f92cd107fba44d6d.tar.bz2
apk-tools-892395d5947a0ebb04130df0f92cd107fba44d6d.tar.xz
apk-tools-892395d5947a0ebb04130df0f92cd107fba44d6d.zip
add: refuse to add bad dependencies to world
allow also overriding old (possibly bad) world dependency. hopefully it's more bullet proof now.
Diffstat (limited to 'src/state.c')
-rw-r--r--src/state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/state.c b/src/state.c
index 7a5ab73..3f00322 100644
--- a/src/state.c
+++ b/src/state.c
@@ -101,6 +101,9 @@ static struct apk_name_choices *name_choices_new(struct apk_database *db,
memcpy(nc->pkgs, name->pkgs->item,
name->pkgs->num * sizeof(struct apk_package *));
+ if (name->flags & APK_NAME_TOPLEVEL_OVERRIDE)
+ return nc;
+
/* Check for global dependencies */
for (i = 0; db->world != NULL && i < db->world->num; i++) {
struct apk_dependency *dep = &db->world->item[i];