diff options
author | Ian Jackson <ian@davenant.greenend.org.uk> | 2008-03-30 09:47:15 +0300 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2008-03-30 12:46:43 +0300 |
commit | 10440009b68f59eeed4cb1b56547e3cf356aa540 (patch) | |
tree | dc57512b59df90330232991cac9a2a398b87a9a0 /dselect/pkgdepcon.cc | |
parent | 043da257abd59e61caeb60c8a3616d0d06118925 (diff) | |
download | dpkg-10440009b68f59eeed4cb1b56547e3cf356aa540.tar.gz |
Implement triggers support
Closes: #17243, #68981, #215374, #217622, #248693, #308285
Diffstat (limited to 'dselect/pkgdepcon.cc')
-rw-r--r-- | dselect/pkgdepcon.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/dselect/pkgdepcon.cc b/dselect/pkgdepcon.cc index b0d7a3340..eea4f836c 100644 --- a/dselect/pkgdepcon.cc +++ b/dselect/pkgdepcon.cc @@ -39,7 +39,9 @@ int packagelist::useavailable(pkginfo *pkg) { if (pkg->clientdata && pkg->clientdata->selected == pkginfo::want_install && informative(pkg,&pkg->available) && - (pkg->status != pkginfo::stat_installed || + (!(pkg->status == pkginfo::stat_installed || + pkg->status == pkginfo::stat_triggersawaited || + pkg->status == pkginfo::stat_triggerspending) || versioncompare(&pkg->available.version,&pkg->installed.version) > 0)) return 1; else @@ -411,7 +413,9 @@ int packagelist::deppossatisfied(deppossi *possi, perpackagestate **fixbyupgrade if (useavailable(provider->up->up)) return 1; if (fixbyupgrade && !*fixbyupgrade && - (provider->up->up->status != pkginfo::stat_installed || + (!(provider->up->up->status == pkginfo::stat_installed || + provider->up->up->status == pkginfo::stat_triggerspending || + provider->up->up->status == pkginfo::stat_triggersawaited) || versioncompare(&provider->up->up->available.version, &provider->up->up->installed.version) > 1)) *fixbyupgrade= provider->up->up->clientdata; |