diff -ru apt-0.7.25.3/apt-pkg/deb/deblistparser.cc apt-0.7.25.3+iPhone/apt-pkg/deb/deblistparser.cc
--- apt-0.7.25.3/apt-pkg/deb/deblistparser.cc	2010-02-22 18:42:49.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/deb/deblistparser.cc	2010-02-22 19:48:19.000000000 +0000
@@ -698,8 +698,6 @@
       FileI->Version = WriteUniqString(Start,Stop - Start);
    if (Section.Find("Origin",Start,Stop) == true)
       FileI->Origin = WriteUniqString(Start,Stop - Start);
-   if (Section.Find("Codename",Start,Stop) == true)
-      FileI->Codename = WriteUniqString(Start,Stop - Start);
    if (Section.Find("Label",Start,Stop) == true)
       FileI->Label = WriteUniqString(Start,Stop - Start);
    if (Section.Find("Architecture",Start,Stop) == true)
diff -ru apt-0.7.25.3/apt-pkg/depcache.cc apt-0.7.25.3+iPhone/apt-pkg/depcache.cc
--- apt-0.7.25.3/apt-pkg/depcache.cc	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/depcache.cc	2010-02-22 19:38:27.000000000 +0000
@@ -80,6 +80,9 @@
 // DepCache::pkgDepCache - Constructors					/*{{{*/
 // ---------------------------------------------------------------------
 /* */
+static bool DebugMarker;
+static bool DebugAutoInstall;
+
 pkgDepCache::pkgDepCache(pkgCache *pCache,Policy *Plcy) :
   group_level(0), Cache(pCache), PkgState(0), DepState(0)
 {
diff -ru apt-0.7.25.3/apt-pkg/depcache.h apt-0.7.25.3+iPhone/apt-pkg/depcache.h
--- apt-0.7.25.3/apt-pkg/depcache.h	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/depcache.h	2010-02-22 19:38:14.000000000 +0000
@@ -295,9 +295,6 @@
    unsigned long iPolicyBrokenCount;
    unsigned long iBadCount;
 
-   bool DebugMarker;
-   bool DebugAutoInstall;
-
    Policy *delLocalPolicy;           // For memory clean up..
    Policy *LocalPolicy;
    
@@ -420,7 +417,7 @@
     *  \param Depth     recursive deep of this Marker call
     *  \param FromUser  was the install requested by the user?
     */
-   virtual bool IsInstallOk(const PkgIterator &Pkg,bool AutoInst = true,
+   bool IsInstallOk(const PkgIterator &Pkg,bool AutoInst = true,
 			    unsigned long Depth = 0, bool FromUser = true);
 
    /** \return \b true if it's OK for MarkDelete to remove
@@ -439,7 +436,7 @@
     *  \param Depth     recursive deep of this Marker call
     *  \param FromUser  was the remove requested by the user?
     */
-   virtual bool IsDeleteOk(const PkgIterator &Pkg,bool Purge = false,
+   bool IsDeleteOk(const PkgIterator &Pkg,bool Purge = false,
 			    unsigned long Depth = 0, bool FromUser = true);
 
    // This is for debuging
diff -ru apt-0.7.25.3/apt-pkg/pkgcache.cc apt-0.7.25.3+iPhone/apt-pkg/pkgcache.cc
--- apt-0.7.25.3/apt-pkg/pkgcache.cc	2010-02-22 18:42:49.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/pkgcache.cc	2010-02-22 19:49:45.000000000 +0000
@@ -49,7 +49,7 @@
    
    /* Whenever the structures change the major version should be bumped,
       whenever the generator changes the minor version should be bumped. */
-   MajorVersion = 8;
+   MajorVersion = 7;
    MinorVersion = 0;
    Dirty = false;
    
@@ -658,8 +658,6 @@
       Res = Res + (Res.empty() == true?"o=":",o=")  + Origin();
    if (Archive() != 0)
       Res = Res + (Res.empty() == true?"a=":",a=")  + Archive();
-   if (Codename() != 0)
-      Res = Res + (Res.empty() == true?"n=":",n=")  + Codename();
    if (Label() != 0)
       Res = Res + (Res.empty() == true?"l=":",l=")  + Label();
    if (Component() != 0)
diff -ru apt-0.7.25.3/apt-pkg/pkgcache.h apt-0.7.25.3+iPhone/apt-pkg/pkgcache.h
--- apt-0.7.25.3/apt-pkg/pkgcache.h	2010-02-22 18:42:49.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/pkgcache.h	2010-02-22 19:46:08.000000000 +0000
@@ -222,16 +222,15 @@
    unsigned char InstState;         // Flags
    unsigned char CurrentState;      // State
    
-   unsigned int ID;
+   unsigned short ID;
    unsigned long Flags;
 };
-									/*}}}*/
-struct pkgCache::PackageFile						/*{{{*/
+
+struct pkgCache::PackageFile
 {
    // Names
    map_ptrloc FileName;        // Stringtable
    map_ptrloc Archive;         // Stringtable
-   map_ptrloc Codename;        // Stringtable
    map_ptrloc Component;       // Stringtable
    map_ptrloc Version;         // Stringtable
    map_ptrloc Origin;          // Stringtable
@@ -244,7 +243,7 @@
    
    // Linked list
    map_ptrloc NextFile;        // PackageFile
-   unsigned int ID;
+   unsigned short ID;
    time_t mtime;                  // Modification time for the file
 };
 									/*}}}*/
@@ -288,7 +287,7 @@
    map_ptrloc Size;              // These are the .deb size
    map_ptrloc InstalledSize;
    unsigned short Hash;
-   unsigned int ID;
+   unsigned short ID;
    unsigned char Priority;
 };
 									/*}}}*/
@@ -305,7 +304,7 @@
    map_ptrloc NextDesc;          // Description
    map_ptrloc ParentPkg;         // Package
 
-   unsigned int ID;
+   unsigned short ID;
 };
 									/*}}}*/
 struct pkgCache::Dependency						/*{{{*/
diff -ru apt-0.7.25.3/apt-pkg/tagfile.h apt-0.7.25.3+iPhone/apt-pkg/tagfile.h
--- apt-0.7.25.3/apt-pkg/tagfile.h	2010-02-22 18:42:49.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/tagfile.h	2010-02-22 19:41:05.000000000 +0000
@@ -28,6 +28,7 @@
 class pkgTagSection
 {
    const char *Section;
+   const char *Stop;
    
    // We have a limit of 256 tags per section.
    unsigned int Indexes[256];
@@ -35,9 +36,6 @@
    
    unsigned int TagCount;
      
-   protected:
-   const char *Stop;
-
    public:
    
    inline bool operator ==(const pkgTagSection &rhs) {return Section == rhs.Section;};
@@ -52,7 +50,7 @@
    bool Scan(const char *Start,unsigned long MaxLength);
    inline unsigned long size() const {return Stop - Section;};
    void Trim();
-   virtual void TrimRecord(bool BeforeRecord, const char* &End);
+   void TrimRecord(bool BeforeRecord, const char* &End);
    
    inline unsigned int Count() const {return TagCount;};
    inline void Get(const char *&Start,const char *&Stop,unsigned int I) const
diff -ru apt-0.7.25.3/apt-pkg/versionmatch.cc apt-0.7.25.3+iPhone/apt-pkg/versionmatch.cc
--- apt-0.7.25.3/apt-pkg/versionmatch.cc	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/versionmatch.cc	2010-02-22 19:51:20.000000000 +0000
@@ -63,7 +63,7 @@
 	 if (isdigit(Data[0]))
 	    RelVerStr = Data;
 	 else
-	    RelRelease = Data;
+	    RelArchive = Data;
 
 	 if (RelVerStr.length() > 0 && RelVerStr.end()[-1] == '*')
 	 {
@@ -94,8 +94,6 @@
 	    RelOrigin = Fragments[J]+2;
 	 else if (stringcasecmp(Fragments[J],Fragments[J]+2,"a=") == 0)
 	    RelArchive = Fragments[J]+2;
-	 else if (stringcasecmp(Fragments[J],Fragments[J]+2,"n=") == 0)
-	    RelCodename = Fragments[J]+2;
 	 else if (stringcasecmp(Fragments[J],Fragments[J]+2,"l=") == 0)
 	    RelLabel = Fragments[J]+2;
 	 else if (stringcasecmp(Fragments[J],Fragments[J]+2,"c=") == 0)
@@ -177,7 +175,6 @@
 
       if (RelVerStr.empty() == true && RelOrigin.empty() == true &&
 	  RelArchive.empty() == true && RelLabel.empty() == true &&
-	  RelRelease.empty() == true && RelCodename.empty() == true &&
 	  RelComponent.empty() == true)
 	 return false;
 
@@ -193,16 +190,6 @@
 	 if (File->Archive == 0 ||
 	     stringcasecmp(RelArchive,File.Archive()) != 0)
             return false;
-      if (RelCodename.empty() == false)
-	 if (File->Codename == 0 ||
-	     stringcasecmp(RelCodename,File.Codename()) != 0)
-            return false;
-      if (RelRelease.empty() == false)
-	 if ((File->Archive == 0 ||
-	     stringcasecmp(RelRelease,File.Archive()) != 0) &&
-             (File->Codename == 0 ||
-	      stringcasecmp(RelRelease,File.Codename()) != 0))
-	       return false;
       if (RelLabel.empty() == false)
 	 if (File->Label == 0 ||
 	     stringcasecmp(RelLabel,File.Label()) != 0)
diff -ru apt-0.7.25.3/apt-pkg/versionmatch.h apt-0.7.25.3+iPhone/apt-pkg/versionmatch.h
--- apt-0.7.25.3/apt-pkg/versionmatch.h	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/versionmatch.h	2010-02-22 19:50:32.000000000 +0000
@@ -50,8 +50,6 @@
    string RelVerStr;
    bool RelVerPrefixMatch;
    string RelOrigin;
-   string RelRelease;
-   string RelCodename;
    string RelArchive;
    string RelLabel;
    string RelComponent;
diff -ru apt-0.7.25.3/cmdline/apt-get.cc apt-0.7.25.3+iPhone/cmdline/apt-get.cc
--- apt-0.7.25.3/cmdline/apt-get.cc	2010-02-22 18:42:49.000000000 +0000
+++ apt-0.7.25.3+iPhone/cmdline/apt-get.cc	2010-02-22 19:51:54.000000000 +0000
@@ -1296,8 +1296,7 @@
 
 	       // or we match against a release
 	       if(VerTag.empty() == false ||
-		  (VF.File().Archive() != 0 && VF.File().Archive() == DefRel) ||
-		  (VF.File().Codename() != 0 && VF.File().Codename() == DefRel)) 
+		  (VF.File().Archive() != 0 && VF.File().Archive() == DefRel)) 
 	       {
 		  pkgRecords::Parser &Parse = Recs.Lookup(VF);
 		  Src = Parse.SourcePkg();
diff -ru apt-0.7.25.3/apt-pkg/depcache.cc apt-0.7.25.3+iPhone/apt-pkg/depcache.cc
--- apt-0.7.25.3/apt-pkg/depcache.cc	2010-02-22 19:38:27.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/depcache.cc	2010-02-22 20:02:41.000000000 +0000
@@ -774,6 +774,10 @@
 // DepCache::MarkDelete - Put the package in the delete state		/*{{{*/
 // ---------------------------------------------------------------------
 /* */
+void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool Purge) {
+   MarkDelete(Pkg, Purge, 0);
+}
+
 void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge,
                              unsigned long Depth, bool FromUser)
 {
diff -ru apt-0.7.25.3/apt-pkg/depcache.h apt-0.7.25.3+iPhone/apt-pkg/depcache.h
--- apt-0.7.25.3/apt-pkg/depcache.h	2010-02-22 19:38:14.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/depcache.h	2010-02-22 20:02:47.000000000 +0000
@@ -388,10 +388,13 @@
    /** \name State Manipulators
     */
    // @{
-   void MarkKeep(PkgIterator const &Pkg, bool Soft = false,
-		 bool FromUser = true, unsigned long Depth = 0);
+   void MarkKeep(PkgIterator const &Pkg, bool Soft = false,
+		 bool FromUser = true);
+   void MarkKeep(PkgIterator const &Pkg, bool Soft,
+		 bool FromUser, unsigned long Depth);
-   void MarkDelete(PkgIterator const &Pkg, bool Purge = false,
-                   unsigned long Depth = 0, bool FromUser = true);
+   void MarkDelete(PkgIterator const &Pkg,bool Purge = false);
+   void MarkDelete(PkgIterator const &Pkg, bool Purge,
+                   unsigned long Depth, bool FromUser = true);
    void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true,
 		    unsigned long Depth = 0, bool FromUser = true,
 		    bool ForceImportantDeps = false);
diff -ru apt-0.7.25.3/apt-pkg/cacheiterators.h apt-0.7.25.3+iPhone/apt-pkg/cacheiterators.h
--- apt-0.7.25.3/apt-pkg/cacheiterators.h	2010-02-22 20:06:07.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/cacheiterators.h	2010-02-22 20:07:13.000000000 +0000
@@ -387,7 +387,6 @@
    inline const char *Component() const {return File->Component == 0?0:Owner->StrP + File->Component;};
    inline const char *Version() const {return File->Version == 0?0:Owner->StrP + File->Version;};
    inline const char *Origin() const {return File->Origin == 0?0:Owner->StrP + File->Origin;};
-   inline const char *Codename() const {return File->Codename ==0?0:Owner->StrP + File->Codename;};
    inline const char *Label() const {return File->Label == 0?0:Owner->StrP + File->Label;};
    inline const char *Site() const {return File->Site == 0?0:Owner->StrP + File->Site;};
    inline const char *Architecture() const {return File->Architecture == 0?0:Owner->StrP + File->Architecture;};
diff -ru apt-0.7.25.3/apt-pkg/tagfile.h apt-0.7.25.3+iPhone/apt-pkg/tagfile.h
--- apt-0.7.25.3/apt-pkg/tagfile.h	2010-02-22 20:06:07.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/tagfile.h	2010-02-22 20:09:55.000000000 +0000
@@ -28,8 +28,11 @@
 class pkgTagSection
 {
    const char *Section;
+   
+   protected:
    const char *Stop;
    
+   private:
    // We have a limit of 256 tags per section.
    unsigned int Indexes[256];
    unsigned int AlphaIndexes[0x100];
diff -ru apt-0.7.25.3/apt-pkg/init.h apt-0.7.25.3+iPhone/apt-pkg/init.h
--- apt-0.7.25.3/apt-pkg/init.h	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/init.h	2010-02-22 20:34:49.000000000 +0000
@@ -22,7 +22,7 @@
 // Non-ABI-Breaks should only increase RELEASE number.
 // See also buildlib/libversion.mak
 #define APT_PKG_MAJOR 4
-#define APT_PKG_MINOR 8
+#define APT_PKG_MINOR 6
 #define APT_PKG_RELEASE 0
     
 extern const char *pkgVersion;
diff -ru apt-0.7.25.3/apt-pkg/depcache.cc apt-0.7.25.3+iPhone/apt-pkg/depcache.cc
--- apt-0.7.25.3/apt-pkg/depcache.cc	2010-02-01 19:44:40.000000000 +0000
+++ apt-0.7.25.3+iPhone/apt-pkg/depcache.cc	2010-02-22 20:44:23.000000000 +0000
@@ -707,6 +707,10 @@
 // DepCache::MarkKeep - Put the package in the keep state		/*{{{*/
 // ---------------------------------------------------------------------
 /* */
+void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser) {
+   MarkKeep(Pkg, Soft, FromUser, 0);
+}
+
 void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser,
                            unsigned long Depth)
 {
