diff options
-rw-r--r-- | apt-pkg/depcache.cc | 22 | ||||
-rw-r--r-- | apt-pkg/depcache.h | 5 | ||||
-rw-r--r-- | apt-pkg/makefile | 2 |
3 files changed, 24 insertions, 5 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 707cb93cd..1469126d2 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: depcache.cc,v 1.21 1999/10/22 05:58:54 jgg Exp $ +// $Id: depcache.cc,v 1.22 2000/05/31 02:49:37 jgg Exp $ /* ###################################################################### Dependency Cache - Caches Dependency information. @@ -275,7 +275,7 @@ void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) } // Installed, no upgrade - if (State.Upgradable() == false) + if (State.Status == 0) { if (State.Mode == ModeDelete) iDelCount += Add; @@ -770,3 +770,21 @@ const char *pkgDepCache::StateCache::StripEpoch(const char *Ver) return Ver; } /*}}}*/ +// StateCache::SetCandidateVersion - Change the candidate version /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgDepCache::SetCandidateVersion(VerIterator TargetVer) +{ + pkgCache::PkgIterator I = TargetVer.ParentPkg(); + + RemoveSizes(I); + RemoveStates(I); + + PkgState[I->ID].CandidateVer = (Version *) TargetVer; + PkgState[I->ID].Update(I, *this); + + AddStates(I); + Update(I); + AddSizes(I); +} + /*}}}*/ diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index 6ce204e65..3bb677dc1 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: depcache.h,v 1.12 1999/10/22 05:58:54 jgg Exp $ +// $Id: depcache.h,v 1.13 2000/05/31 02:49:37 jgg Exp $ /* ###################################################################### DepCache - Dependency Extension data for the cache @@ -95,7 +95,7 @@ class pkgDepCache : public pkgCache inline bool Keep() const {return Mode == ModeKeep;}; inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;}; inline bool Upgradable() const {return Status >= 1;}; - inline bool Downgrade() const {return Status < 0;}; + inline bool Downgrade() const {return Status < 0 && Mode == ModeInstall;}; inline bool Held() const {return Status != 0 && Keep();}; inline bool NowBroken() const {return (DepState & DepNowMin) != DepNowMin;}; inline bool InstBroken() const {return (DepState & DepInstMin) != DepInstMin;}; @@ -165,6 +165,7 @@ class pkgDepCache : public pkgCache void MarkDelete(PkgIterator const &Pkg,bool Purge = false); void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true); void SetReInstall(PkgIterator const &Pkg,bool To); + void SetCandidateVersion(VerIterator TargetVer); // This is for debuging void Update(OpProgress *Prog = 0); diff --git a/apt-pkg/makefile b/apt-pkg/makefile index b4d25319f..d5e20374d 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -12,7 +12,7 @@ include ../buildlib/defaults.mak # The library name LIBRARY=apt-pkg MAJOR=2.7 -MINOR=1 +MINOR=2 SLIBS=$(PTHREADLIB) # Source code for the contributed non-core things |