diff options
author | graham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-11-10 21:10:49 (EST) |
---|---|---|
committer | graham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-11-10 21:10:49 (EST) |
commit | 11c434b8019682a3e6f0f683fd14a6b69151956a (patch) | |
tree | 3babe631e1e1f5fda1ee99193c6b55b79c7fbfab | |
parent | bf11afd779881043a7df4e511cffb4f7af121496 (diff) |
Don't try to rerun control scripts, problems caused by circular dependencies.
Symptoms of this problem are seeing the following when installing a package:
opkg: (null): Bad address
opkg: (null): Bad address
git-svn-id: http://opkg.googlecode.com/svn/trunk@281 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
-rw-r--r-- | libopkg/opkg_install.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libopkg/opkg_install.c b/libopkg/opkg_install.c index 4a1ff9a..15e15c7 100644 --- a/libopkg/opkg_install.c +++ b/libopkg/opkg_install.c @@ -910,6 +910,9 @@ int opkg_install_pkg(opkg_conf_t *conf, pkg_t *pkg, int from_upgrade) if (conf->nodeps == 0) { err = satisfy_dependencies_for(conf, pkg); if (err) { return OPKG_INSTALL_ERR_DEPENDENCIES; } + if (pkg->state_status == SS_UNPACKED) + /* Circular dependency has installed it for us. */ + return 0; } replacees = pkg_vec_alloc(); |