[Aptitude-svn-commit] r3874 - in branches/aptitude-0.3/aptitude: .
src/generic
Daniel Burrows
dburrows at costa.debian.org
Tue Aug 16 23:40:04 UTC 2005
Author: dburrows
Date: Tue Aug 16 23:40:01 2005
New Revision: 3874
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/generic/apt.cc
Log:
Rework the conditions under which currently satisfied recommendations are considered to be 'interesting'.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Tue Aug 16 23:40:01 2005
@@ -2,6 +2,12 @@
* src/generic/apt.cc:
+ Only treat currently satisfied recommendations as interesting if
+ they belong to the current package version OR they subsume/are
+ subsumed by a recommendation of the current version.
+
+ * src/generic/apt.cc:
+
Fix subsumes(): when the first dependency used a >= comparison,
it was checking for (> | <= | =) instead of (> | >= | =). This
resulted, unsurprisingly, in >= recommendations that hadn't even
Modified: branches/aptitude-0.3/aptitude/src/generic/apt.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/apt.cc (original)
+++ branches/aptitude-0.3/aptitude/src/generic/apt.cc Tue Aug 16 23:40:01 2005
@@ -638,17 +638,21 @@
return false;
else
{
- pkgCache::DepIterator dtmp = d;
- while(!dtmp.end() && dtmp->CompareOp & pkgCache::Dep::Or)
- ++dtmp;
- if((*cache)[d] & pkgDepCache::DepGNow)
- return true;
-
pkgCache::VerIterator currver = const_cast<pkgCache::DepIterator &>(d).ParentPkg().CurrentVer();
pkgCache::VerIterator parver = const_cast<pkgCache::DepIterator &>(d).ParentVer();
+ // Soft deps attached to the current version are interesting iff
+ // they are currently satisfied.
if(currver == parver)
- return false;
+ {
+ pkgCache::DepIterator dtmp = d;
+ while(!dtmp.end() && dtmp->CompareOp & pkgCache::Dep::Or)
+ ++dtmp;
+ if((*cache)[dtmp] & pkgDepCache::DepGNow)
+ return true;
+
+ return false;
+ }
else if(currver.end())
return true;
else
@@ -670,7 +674,15 @@
{
if(d2->Type == pkgCache::Dep::Recommends &&
or_group_subsumes(d2, d) || or_group_subsumes(d, d2))
- return false;
+ {
+ pkgCache::DepIterator dtmp = d;
+ while(!dtmp.end() && dtmp->CompareOp & pkgCache::Dep::Or)
+ ++dtmp;
+ if((*cache)[dtmp] & pkgDepCache::DepGNow)
+ return true;
+
+ return false;
+ }
while(!d2.end() && ((d2->CompareOp & pkgCache::Dep::Or) != 0))
++d2;
More information about the Aptitude-svn-commit
mailing list