]> git.saurik.com Git - apt.git/commitdiff
g++- works
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:12 +0000 (16:54 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:12 +0000 (16:54 +0000)
Author: jgg
Date: 1999-07-09 04:11:33 GMT
g++- works

apt-pkg/algorithms.cc
apt-pkg/algorithms.h
apt-pkg/deb/dpkgpm.cc
apt-pkg/deb/dpkgpm.h
apt-pkg/depcache.h
apt-pkg/packagemanager.cc
apt-pkg/packagemanager.h
cmdline/apt-get.cc
debian/changelog
doc/apt-get.8.yo

index 21db989419d4b91a72dbeec97f7e7649494ab3d7..9ca6ca590c514d53a2644dc3090763d159ea423a 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.cc,v 1.20 1999/07/03 03:10:35 jgg Exp $
+// $Id: algorithms.cc,v 1.21 1999/07/09 04:11:33 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -125,14 +125,17 @@ bool pkgSimulate::Configure(PkgIterator iPkg)
 // Simulate::Remove - Simulate the removal of a package                        /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool pkgSimulate::Remove(PkgIterator iPkg)
+bool pkgSimulate::Remove(PkgIterator iPkg,bool Purge)
 {
    // Adapt the iterator
    PkgIterator Pkg = Sim.FindPkg(iPkg.Name());
 
    Flags[Pkg->ID] = 3;
    Sim.MarkDelete(Pkg);
-   cout << "Remv " << Pkg.Name();
+   if (Purge == true)
+      cout << "Purg " << Pkg.Name();
+   else
+      cout << "Remv " << Pkg.Name();
 
    if (Sim.BrokenCount() != 0)
       ShortBreaks();
index 0553b3eec9d535cec3933893a6054d1cdc3d6568..1603377f44fda0da8f9578a4e9e40813fa7b8b5e 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.h,v 1.6 1998/10/20 02:39:18 jgg Exp $
+// $Id: algorithms.h,v 1.7 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -49,7 +49,7 @@ class pkgSimulate : public pkgPackageManager
    // The Actuall installation implementation
    virtual bool Install(PkgIterator Pkg,string File);
    virtual bool Configure(PkgIterator Pkg);
-   virtual bool Remove(PkgIterator Pkg);
+   virtual bool Remove(PkgIterator Pkg,bool Purge);
    void ShortBreaks();
    
    public:
index 998750b3b02011565bf3b0cd299397cd64bb056c..4e108c419bc69d34b3f57760377801c4c06add93 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: dpkgpm.cc,v 1.10 1999/07/03 03:10:35 jgg Exp $
+// $Id: dpkgpm.cc,v 1.11 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    DPKG Package Manager - Provide an interface to dpkg
@@ -65,12 +65,15 @@ bool pkgDPkgPM::Configure(PkgIterator Pkg)
 // DPkgPM::Remove - Remove a package                                   /*{{{*/
 // ---------------------------------------------------------------------
 /* Add a remove operation to the sequence list */
-bool pkgDPkgPM::Remove(PkgIterator Pkg)
+bool pkgDPkgPM::Remove(PkgIterator Pkg,bool Purge)
 {
    if (Pkg.end() == true)
       return false;
    
-   List.push_back(Item(Item::Remove,Pkg));
+   if (Purge == true)
+      List.push_back(Item(Item::Purge,Pkg));
+   else
+      List.push_back(Item(Item::Remove,Pkg));
    return true;
 }
                                                                        /*}}}*/
@@ -184,6 +187,15 @@ bool pkgDPkgPM::Go()
         Size += strlen(Args[n-1]);
         break;
         
+        case Item::Purge:
+        Args[n++] = "--force-depends";
+        Size += strlen(Args[n-1]);
+        Args[n++] = "--force-remove-essential";
+        Size += strlen(Args[n-1]);
+        Args[n++] = "--purge";
+        Size += strlen(Args[n-1]);
+        break;
+        
         case Item::Configure:
         Args[n++] = "--configure";
         Size += strlen(Args[n-1]);
index d7898daf1359a2a76e9259447df91a620aa15522..e8ffe7bb4f7b9bd9866fc69b4ba882446b9a583f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: dpkgpm.h,v 1.4 1999/07/03 03:10:35 jgg Exp $
+// $Id: dpkgpm.h,v 1.5 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    DPKG Package Manager - Provide an interface to dpkg
@@ -23,7 +23,7 @@ class pkgDPkgPM : public pkgPackageManager
    
    struct Item
    {
-      enum Ops {Install, Configure, Remove} Op;
+      enum Ops {Install, Configure, Remove, Purge} Op;
       string File;
       PkgIterator Pkg;
       Item(Ops Op,PkgIterator Pkg,string File = "") : Op(Op), 
@@ -39,7 +39,7 @@ class pkgDPkgPM : public pkgPackageManager
    // The Actuall installation implementation
    virtual bool Install(PkgIterator Pkg,string File);
    virtual bool Configure(PkgIterator Pkg);
-   virtual bool Remove(PkgIterator Pkg);
+   virtual bool Remove(PkgIterator Pkg,bool Purge = false);
    virtual bool Go();
    virtual void Reset();
    
index 29db800c2e04408453894e7b8f67c5aaf7341c14..dd56464bd4661d7976aa8ed26cbd5ad5dc82e57b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: depcache.h,v 1.9 1999/04/12 04:21:20 jgg Exp $
+// $Id: depcache.h,v 1.10 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    DepCache - Dependency Extension data for the cache
@@ -60,7 +60,7 @@ class pkgDepCache : public pkgCache
                        DepCandPolicy = (1 << 4), DepCandMin = (1 << 5)};
    
    // These flags are used in StateCache::iFlags
-   enum InternalFlags {AutoKept = (1 << 0)};
+   enum InternalFlags {AutoKept = (1 << 0), Purge = (1 << 1)};
       
    enum VersionTypes {NowVersion, InstallVersion, CandidateVersion};
    enum ModeList {ModeDelete = 0, ModeKeep = 1, ModeInstall = 2};
index 9e2eee969e9edda3e6f0f85bf9bfce1f9e9f5d16..95192c9f09fcdd9eecab80216e02a30dff343f1d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: packagemanager.cc,v 1.16 1999/07/04 23:22:53 jgg Exp $
+// $Id: packagemanager.cc,v 1.17 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    Package Manager - Abstacts the package manager
@@ -375,7 +375,7 @@ bool pkgPackageManager::SmartRemove(PkgIterator Pkg)
       return true;
 
    List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States);
-   return Remove(Pkg);
+   return Remove(Pkg,(Cache[Pkg].iFlags & pkgDepCache::Purge) == pkgDepCache::Purge);
 }
                                                                        /*}}}*/
 // PM::SmartUnPack - Install helper                                    /*{{{*/
index 6dbf94def808bbcf42a2ff1a67fca491e364324a..88039ba5af8ead8abbce256764290f261873fa8e 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: packagemanager.h,v 1.8 1999/07/03 03:10:35 jgg Exp $
+// $Id: packagemanager.h,v 1.9 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
 
    Package Manager - Abstacts the package manager
@@ -74,7 +74,7 @@ class pkgPackageManager
    // The Actuall installation implementation
    virtual bool Install(PkgIterator /*Pkg*/,string /*File*/) {return false;};
    virtual bool Configure(PkgIterator /*Pkg*/) {return false;};
-   virtual bool Remove(PkgIterator /*Pkg*/) {return false;};
+   virtual bool Remove(PkgIterator /*Pkg*/,bool Purge=false) {return false;};
    virtual bool Go() {return true;};
    virtual void Reset() {};
    
index f81d22d2012fbb485fb6d8d3db1dc07f03f59773..dc1e89ae5621f026c3e690bc090f9c7761620fe7 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: apt-get.cc,v 1.67 1999/07/03 03:10:36 jgg Exp $
+// $Id: apt-get.cc,v 1.68 1999/07/09 04:11:34 jgg Exp $
 /* ######################################################################
    
    apt-get - Cover for dpkg
@@ -225,8 +225,15 @@ void ShowDel(ostream &out,pkgDepCache &Dep)
    pkgCache::PkgIterator I = Dep.PkgBegin();
    string List;
    for (;I.end() != true; I++)
+   {
       if (Dep[I].Delete() == true)
-        List += string(I.Name()) + " ";
+      {
+        if ((Dep[I].iFlags & pkgDepCache::Purge) == pkgDepCache::Purge)
+           List += string(I.Name()) + "* ";
+        else
+           List += string(I.Name()) + " ";
+      }
+   }
    
    ShowList(out,"The following packages will be REMOVED:",List);
 }
@@ -440,6 +447,13 @@ bool CacheFile::CheckDeps(bool AllowBroken)
    happen and then calls the download routines */
 bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey = true)
 {
+   if (_config->FindB("APT::Get::Purge",false) == true)
+   {
+      pkgCache::PkgIterator I = Cache->PkgBegin();
+      for (; I.end() == false; I++)
+        Cache[I].iFlags |= pkgDepCache::Purge;
+   }
+   
    bool Fail = false;
    bool Essential = false;
    
@@ -768,19 +782,23 @@ bool DoInstall(CommandLine &CmdL)
       
       // See if we are removing the package
       bool Remove = DefRemove;
-      if (Cache->FindPkg(S).end() == true)
+      while (Cache->FindPkg(S).end() == true)
       {
         // Handle an optional end tag indicating what to do
         if (S[Length - 1] == '-')
         {
            Remove = true;
            S[--Length] = 0;
+           continue;
         }
+        
         if (S[Length - 1] == '+')
         {
            Remove = false;
            S[--Length] = 0;
+           continue;
         }
+        break;
       }
       
       // Locate the package
@@ -986,6 +1004,8 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
       if (I->SelectedState == pkgCache::State::DeInstall ||
          I->SelectedState == pkgCache::State::Purge)
         Cache->MarkDelete(I);
+      if (I->SelectedState == pkgCache::State::Purge)
+        Cache[I].iFlags |= pkgDepCache::Purge;
    }
 
    /* Resolve any problems that dselect created, allupgrade cannot handle
@@ -1371,7 +1391,7 @@ bool ShowHelp(CommandLine &CmdL)
    cout << "  -c=? Read this configuration file" << endl;
    cout << "  -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp" << endl;
    cout << "See the apt-get(8), sources.list(5) and apt.conf(5) manual" << endl;
-   cout << "pages for more information." << endl;
+   cout << "pages for more information and options." << endl;
    return 100;
 }
                                                                        /*}}}*/
@@ -1429,6 +1449,7 @@ int main(int argc,const char *argv[])
       {0,"no-upgrade","APT::Get::no-upgrade",0},
       {0,"force-yes","APT::Get::force-yes",0},
       {0,"print-uris","APT::Get::Print-URIs",0},
+      {0,"purge","APT::Get::Purge",0},
       {'c',"config-file",0,CommandLine::ConfigFile},
       {'o',"option",0,CommandLine::ArbItem},
       {0,0,0,0}};
index 8f6bb13097b5df25239364ce4ffd60b06fe991e9..749a11014368e99aebf08ae5689dd21cfa135f9c 100644 (file)
@@ -1,6 +1,9 @@
 apt (0.3.11.1) unstable; urgency=low
   
   * Fix for typo in the dhelp index. Closes: #40377
+  * Multiple media swap support
+  * Purge support. Closes: #33291, #40694
+  * Better handling of - remove notation. Closes: #41024
   
  -- Jason Gunthorpe <jgg@debian.org>  Mon, 28 Jun 1999 21:06:44 -0700
  
index 6edecadf32ebbd9f4f4bbf7e6297eba64a202f9b..4f399ac31e0181ecf2c8c2b6cc0a6c1ed58286bc 100644 (file)
@@ -207,6 +207,9 @@ md5 hash. Note that the file name to write to will not always match
 the file name on the remote site! This also works with the bf(source)
 command See bf(APT::Get::Print-URIs).
 
+dit(bf(--purge))
+Use purge instead of remove for anything that would be removed.
+
 dit(bf(-c, --config-file))
 Configuration File; Specify a configuration file to use. bf(apt-get) will
 read the default configuration file and then this configuration file. See