]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/policy.h:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 4 Jul 2010 12:23:20 +0000 (14:23 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 4 Jul 2010 12:23:20 +0000 (14:23 +0200)
  - add another round of const& madness as the previous round accidently
    NOT override the virtual GetCandidateVer() method (Closes: #587725)

apt-pkg/algorithms.h
apt-pkg/cacheiterators.h
apt-pkg/depcache.cc
apt-pkg/depcache.h
apt-pkg/pkgcache.cc
apt-pkg/policy.h
debian/changelog

index cee30b679f3509d00611593eac0c062b5731ab7d..cf4a98c4f95818b069336362ba0c178e5997d8f1 100644 (file)
@@ -48,7 +48,7 @@ class pkgSimulate : public pkgPackageManager                          /*{{{*/
       pkgDepCache *Cache;
       public:
       
-      virtual VerIterator GetCandidateVer(PkgIterator Pkg)
+      virtual VerIterator GetCandidateVer(PkgIterator const &Pkg)
       {
         return (*Cache)[Pkg].CandidateVerIter(*Cache);
       }
index 51bf6819e1476296ff927b860fe4fc3f050c7854..dfe5707e10d292973bd0b17d7cff8e6757740941 100644 (file)
@@ -105,13 +105,13 @@ class pkgCache::GrpIterator: public Iterator<Group, GrpIterator> {
 
        inline const char *Name() const {return S->Name == 0?0:Owner->StrP + S->Name;};
        inline PkgIterator PackageList() const;
-       PkgIterator FindPkg(string Arch = "any");
+       PkgIterator FindPkg(string Arch = "any") const;
        /** \brief find the package with the "best" architecture
 
            The best architecture is either the "native" or the first
            in the list of Architectures which is not an end-Pointer */
-       PkgIterator FindPreferredPkg();
-       PkgIterator NextPkg(PkgIterator const &Pkg);
+       PkgIterator FindPreferredPkg() const;
+       PkgIterator NextPkg(PkgIterator const &Pkg) const;
 
        // Constructors
        inline GrpIterator(pkgCache &Owner, Group *Trg) : Iterator<Group, GrpIterator>(Owner, Trg), HashIndex(0) {
@@ -272,17 +272,17 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> {
 
        // Accessors
        inline const char *TargetVer() const {return S->Version == 0?0:Owner->StrP + S->Version;};
-       inline PkgIterator TargetPkg() {return PkgIterator(*Owner,Owner->PkgP + S->Package);};
-       inline PkgIterator SmartTargetPkg() {PkgIterator R(*Owner,0);SmartTargetPkg(R);return R;};
-       inline VerIterator ParentVer() {return VerIterator(*Owner,Owner->VerP + S->ParentVer);};
-       inline PkgIterator ParentPkg() {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);};
-       inline bool Reverse() {return Type == DepRev;};
-       bool IsCritical();
+       inline PkgIterator TargetPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->Package);};
+       inline PkgIterator SmartTargetPkg() const {PkgIterator R(*Owner,0);SmartTargetPkg(R);return R;};
+       inline VerIterator ParentVer() const {return VerIterator(*Owner,Owner->VerP + S->ParentVer);};
+       inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);};
+       inline bool Reverse() const {return Type == DepRev;};
+       bool IsCritical() const;
        void GlobOr(DepIterator &Start,DepIterator &End);
-       Version **AllTargets();
-       bool SmartTargetPkg(PkgIterator &Result);
-       inline const char *CompType() {return Owner->CompType(S->CompareOp);};
-       inline const char *DepType() {return Owner->DepType(S->Type);};
+       Version **AllTargets() const;
+       bool SmartTargetPkg(PkgIterator &Result) const;
+       inline const char *CompType() const {return Owner->CompType(S->CompareOp);};
+       inline const char *DepType() const {return Owner->DepType(S->Type);};
 
        inline DepIterator(pkgCache &Owner, Dependency *Trg, Version* = 0) :
                Iterator<Dependency, DepIterator>(Owner, Trg), Type(DepVer) {
@@ -315,9 +315,9 @@ class pkgCache::PrvIterator : public Iterator<Provides, PrvIterator> {
        // Accessors
        inline const char *Name() const {return Owner->StrP + Owner->PkgP[S->ParentPkg].Name;};
        inline const char *ProvideVersion() const {return S->ProvideVersion == 0?0:Owner->StrP + S->ProvideVersion;};
-       inline PkgIterator ParentPkg() {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
-       inline VerIterator OwnerVer() {return VerIterator(*Owner,Owner->VerP + S->Version);};
-       inline PkgIterator OwnerPkg() {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->Version].ParentPkg);};
+       inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
+       inline VerIterator OwnerVer() const {return VerIterator(*Owner,Owner->VerP + S->Version);};
+       inline PkgIterator OwnerPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->Version].ParentPkg);};
 
        inline PrvIterator() : Iterator<Provides, PrvIterator>(), Type(PrvVer) {};
 
index c93993ab18d61c8628aaab2eb0f45f9d765267eb..05127fe18f06eed64ce637547eaf3754c18d4aff 100644 (file)
@@ -1585,7 +1585,7 @@ const char *pkgDepCache::StateCache::StripEpoch(const char *Ver)
 // ---------------------------------------------------------------------
 /* The default just returns the highest available version that is not
    a source and automatic. */
-pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator Pkg)
+pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator const &Pkg)
 {
    /* Not source/not automatic versions cannot be a candidate version 
       unless they are already installed */
@@ -1620,7 +1620,7 @@ pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator Pkg)
 // Policy::IsImportantDep - True if the dependency is important                /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep)
+bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
 {
    if(Dep.IsCritical())
       return true;
index 66c099b8073a3afe29566eeaa0f7857807b8fb52..45276dc954803685df2c44c7d5a4f72283d530fb 100644 (file)
@@ -256,8 +256,8 @@ class pkgDepCache : protected pkgCache::Namespace
    {
       public:
       
-      virtual VerIterator GetCandidateVer(PkgIterator Pkg);
-      virtual bool IsImportantDep(DepIterator Dep);
+      virtual VerIterator GetCandidateVer(PkgIterator const &Pkg);
+      virtual bool IsImportantDep(DepIterator const &Dep);
       
       virtual ~Policy() {};
    };
@@ -334,7 +334,7 @@ class pkgDepCache : protected pkgCache::Namespace
    inline pkgVersioningSystem &VS() {return *Cache->VS;};
    
    // Policy implementation
-   inline VerIterator GetCandidateVer(PkgIterator Pkg) {return LocalPolicy->GetCandidateVer(Pkg);};
+   inline VerIterator GetCandidateVer(PkgIterator const &Pkg) {return LocalPolicy->GetCandidateVer(Pkg);};
    inline bool IsImportantDep(DepIterator Dep) {return LocalPolicy->IsImportantDep(Dep);};
    inline Policy &GetPolicy() {return *LocalPolicy;};
    
index 30bb41470237d87913f8233be3720df189d99230..68aa83d0c8ebf4974180b61027006faaf9f6c1d9 100644 (file)
@@ -307,7 +307,7 @@ const char *pkgCache::Priority(unsigned char Prio)
 // GrpIterator::FindPkg - Locate a package by arch                     /*{{{*/
 // ---------------------------------------------------------------------
 /* Returns an End-Pointer on error, pointer to the package otherwise */
-pkgCache::PkgIterator pkgCache::GrpIterator::FindPkg(string Arch) {
+pkgCache::PkgIterator pkgCache::GrpIterator::FindPkg(string Arch) const {
        if (unlikely(IsGood() == false || S->FirstPackage == 0))
                return PkgIterator(*Owner, 0);
 
@@ -346,7 +346,7 @@ pkgCache::PkgIterator pkgCache::GrpIterator::FindPkg(string Arch) {
 // GrpIterator::FindPreferredPkg - Locate the "best" package           /*{{{*/
 // ---------------------------------------------------------------------
 /* Returns an End-Pointer on error, pointer to the package otherwise */
-pkgCache::PkgIterator pkgCache::GrpIterator::FindPreferredPkg() {
+pkgCache::PkgIterator pkgCache::GrpIterator::FindPreferredPkg() const {
        pkgCache::PkgIterator Pkg = FindPkg("native");
        if (Pkg.end() == false)
                return Pkg;
@@ -367,7 +367,7 @@ pkgCache::PkgIterator pkgCache::GrpIterator::FindPreferredPkg() {
 /* Returns an End-Pointer on error, pointer to the package otherwise.
    We can't simply ++ to the next as the next package of the last will
    be from a different group (with the same hash value) */
-pkgCache::PkgIterator pkgCache::GrpIterator::NextPkg(pkgCache::PkgIterator const &LastPkg) {
+pkgCache::PkgIterator pkgCache::GrpIterator::NextPkg(pkgCache::PkgIterator const &LastPkg) const {
        if (unlikely(IsGood() == false || S->FirstPackage == 0 ||
            LastPkg.end() == true))
                return PkgIterator(*Owner, 0);
@@ -504,7 +504,7 @@ std::string pkgCache::PkgIterator::FullName(bool const &Pretty) const
 // ---------------------------------------------------------------------
 /* Currently critical deps are defined as depends, predepends and
    conflicts (including dpkg's Breaks fields). */
-bool pkgCache::DepIterator::IsCritical()
+bool pkgCache::DepIterator::IsCritical() const
 {
    if (S->Type == pkgCache::Dep::Conflicts ||
        S->Type == pkgCache::Dep::DpkgBreaks ||
@@ -528,7 +528,7 @@ bool pkgCache::DepIterator::IsCritical()
    In Conjunction with the DepCache the value of Result may not be 
    super-good since the policy may have made it uninstallable. Using
    AllTargets is better in this case. */
-bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result)
+bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result) const
 {
    Result = TargetPkg();
    
@@ -577,7 +577,7 @@ bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result)
    provides. It includes every possible package-version that could satisfy
    the dependency. The last item in the list has a 0. The resulting pointer
    must be delete [] 'd */
-pkgCache::Version **pkgCache::DepIterator::AllTargets()
+pkgCache::Version **pkgCache::DepIterator::AllTargets() const
 {
    Version **Res = 0;
    unsigned long Size =0;
index 28cb3ccbb1dee3624d3bab801c1086a070b578bf..f8b2678de434997d9d5825fda8c1588376b33a33 100644 (file)
@@ -76,7 +76,7 @@ class pkgPolicy : public pkgDepCache::Policy
 
    // Things for the cache interface.
    virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg);
-   virtual bool IsImportantDep(pkgCache::DepIterator Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);};
+   virtual bool IsImportantDep(pkgCache::DepIterator const &Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);};
    bool InitDefaults();
    
    pkgPolicy(pkgCache *Owner);
index d7c6b8d0c11ec5a40770e1cd2ad312555f6a0163..0b1ca3cf1e6af76f1996ba5ca8833fa75eb07dd0 100644 (file)
@@ -32,7 +32,9 @@ apt (0.7.26~exp8) UNRELEASED; urgency=low
   * apt-pkg/contrib/fileutl.cc:
     - show notice about ignored file instead of being always silent
     - add a Dir::Ignore-Files-Silently list option to control the notice
-  * 
+  * apt-pkg/policy.h:
+    - add another round of const& madness as the previous round accidently
+      NOT override the virtual GetCandidateVer() method (Closes: #587725)
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 28 Jun 2010 22:12:24 +0200