diff options
author | Julian Andres Klode <jak@debian.org> | 2012-03-05 15:12:31 +0100 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2012-03-05 15:12:31 +0100 |
commit | c520086906f0479d04946f926e3d2dd30df82945 (patch) | |
tree | ab56d53dbffb1f12ef0b675803603de3dc6f85f7 /apt-pkg/depcache.cc | |
parent | fb805d80bfc6027e2242796dbda306e712cfac09 (diff) |
* Treat the Important flag like the Essential flag with two differences:
- No Immediate configuration (see above)
- Not automatically installed during dist-upgrade
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r-- | apt-pkg/depcache.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 9449c7306..1eea55560 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -963,6 +963,13 @@ struct CompareProviders { else if ((B->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) return true; } + if ((A->Flags & pkgCache::Flag::Important) != (B->Flags & pkgCache::Flag::Important)) + { + if ((A->Flags & pkgCache::Flag::Important) == pkgCache::Flag::Important) + return false; + else if ((B->Flags & pkgCache::Flag::Important) == pkgCache::Flag::Important) + return true; + } // higher priority seems like a good idea if (AV->Priority != BV->Priority) return AV->Priority < BV->Priority; @@ -1641,6 +1648,7 @@ bool pkgDepCache::MarkRequired(InRootSetFunc &userFunc) { if(!(PkgState[p->ID].Flags & Flag::Auto) || (p->Flags & Flag::Essential) || + (p->Flags & Flag::Important) || userFunc.InRootSet(p) || // be nice even then a required package violates the policy (#583517) // and do the full mark process also for required packages |