]> git.saurik.com Git - apt.git/commitdiff
Sync
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:51:10 +0000 (16:51 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:51:10 +0000 (16:51 +0000)
Author: jgg
Date: 1998-10-24 04:57:55 GMT
Sync

14 files changed:
apt-pkg/acquire-item.cc
apt-pkg/acquire-item.h
apt-pkg/acquire-worker.cc
apt-pkg/acquire-worker.h
apt-pkg/acquire.cc
apt-pkg/acquire.h
apt-pkg/algorithms.cc
apt-pkg/contrib/strutl.cc
apt-pkg/depcache.cc
apt-pkg/tagfile.cc
cmdline/apt-get.cc
cmdline/makefile
configure.in
doc/examples/apt.conf

index e1049dde9efc589a412f4e06eac234c60d8c2d25..e6eee197bffebd59858a49229e336d61ef6f3d43 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-item.cc,v 1.3 1998/10/22 04:56:38 jgg Exp $
+// $Id: acquire-item.cc,v 1.4 1998/10/24 04:57:56 jgg Exp $
 /* ######################################################################
 
    Acquire Item - Item to acquire
@@ -22,6 +22,9 @@
 
 #include <sys/stat.h>
 #include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <stdio.h>
                                                                        /*}}}*/
 
 // Acquire::Item::Item - Constructor                                   /*{{{*/
@@ -30,6 +33,7 @@
 pkgAcquire::Item::Item(pkgAcquire *Owner) : Owner(Owner), QueueCounter(0)
 {
    Owner->Add(this);
+   Status = StatIdle;
 }
                                                                        /*}}}*/
 // Acquire::Item::~Item - Destructor                                   /*{{{*/
@@ -40,6 +44,27 @@ pkgAcquire::Item::~Item()
    Owner->Remove(this);
 }
                                                                        /*}}}*/
+// Acquire::Item::Failed - Item failed to download                     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void pkgAcquire::Item::Failed(string Message)
+{
+   Status = StatError;
+   ErrorText = LookupTag(Message,"Message");
+   if (QueueCounter <= 1)
+      Owner->Dequeue(this);
+}
+                                                                       /*}}}*/
+// Acquire::Item::Done - Item downloaded OK                            /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void pkgAcquire::Item::Done(string,unsigned long,string)
+{
+   Status = StatDone;
+   ErrorText = string();
+   Owner->Dequeue(this);
+}
+                                                                       /*}}}*/
 
 // AcqIndex::AcqIndex - Constructor                                    /*{{{*/
 // ---------------------------------------------------------------------
@@ -100,3 +125,40 @@ string pkgAcqIndexRel::Custom600Headers()
    return "\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
 }
                                                                        /*}}}*/
+// AcqIndexRel::Done - Item downloaded OK                              /*{{{*/
+// ---------------------------------------------------------------------
+/* The release file was not placed into the download directory then
+   a copy URI is generated and it is copied there otherwise the file
+   in the partial directory is moved into .. and the URI is finished. */
+void pkgAcqIndexRel::Done(string Message,unsigned long Size,string MD5)
+{
+   Item::Done(Message,Size,MD5);
+
+   string FileName = LookupTag(Message,"Filename");
+   if (FileName.empty() == true)
+   {
+      Status = StatError;
+      ErrorText = "Method gave a blank filename";
+   }
+   
+   // We have to copy it into place
+   if (FileName != DestFile)
+   {
+      QueueURI("copy:" + FileName,string());
+      return;
+   }
+   
+   // Done, move it into position
+   string FinalFile = _config->FindDir("Dir::State::lists");
+   FinalFile += URItoFileName(Location->ReleaseURI());
+   
+   if (rename(DestFile.c_str(),FinalFile.c_str()) != 0)
+   {
+      char S[300];
+      sprintf(S,"rename failed, %s (%s -> %s).",strerror(errno),
+             DestFile.c_str(),FinalFile.c_str());
+      Status = StatError;
+      ErrorText = S;
+   }
+}
+                                                                       /*}}}*/
index 8b2d6e908adb72bc5b45ffc08f70a1b4d18ebd20..352fc3e2419317cd46791198b53a1e634f7b3adc 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-item.h,v 1.2 1998/10/22 04:56:39 jgg Exp $
+// $Id: acquire-item.h,v 1.3 1998/10/24 04:57:57 jgg Exp $
 /* ######################################################################
 
    Acquire Item - Item to acquire
@@ -35,13 +35,19 @@ class pkgAcquire::Item
    
    public:
 
+   // State of the item
+   enum {StatIdle, StatFetching, StatDone, StatError} Status;
+   string ErrorText;
+   
    // Number of queues we are inserted into
    unsigned int QueueCounter;
    
    // File to write the fetch into
    string DestFile;
    
-   virtual void Failed() {};
+   virtual void Failed(string Message);
+   virtual void Done(string Message,unsigned long Size,string Md5Hash);
+
    virtual string Custom600Headers() {return string();};
       
    Item(pkgAcquire *Owner);
@@ -71,6 +77,8 @@ class pkgAcqIndexRel : public pkgAcquire::Item
    
    public:
    
+   virtual void Done(string Message,unsigned long Size,string Md5Hash);
+   
    virtual string Custom600Headers();
    
    pkgAcqIndexRel(pkgAcquire *Owner,const pkgSourceList::Item *Location);
index 58f67d979506bdaeefa7b224ccef9853a8554b58..936d469c3ea715166513f72fe00fc6f81ade4ace 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-worker.cc,v 1.5 1998/10/23 00:49:58 jgg Exp $
+// $Id: acquire-worker.cc,v 1.6 1998/10/24 04:57:58 jgg Exp $
 /* ######################################################################
 
    Acquire Worker 
@@ -187,6 +187,11 @@ bool pkgAcquire::Worker::RunMessages()
       if (End == Message.c_str())
         return _error->Error("Invalid message from method %s: %s",Access.c_str(),Message.c_str());
 
+      string URI = LookupTag(Message,"URI");
+      pkgAcquire::Queue::QItem *Itm = 0;
+      if (URI.empty() == false)
+        Itm = OwnerQ->FindItem(URI,this);
+        
       // Determine the message number and dispatch
       switch (Number)
       {
@@ -209,15 +214,47 @@ bool pkgAcquire::Worker::RunMessages()
            
         // 200 URI Start
         case 200:
-        break;
+        {
+           if (Itm == 0)
+           {
+              _error->Warning("Method gave invalid 200 URI Start message");
+              break;
+           }
+           CurrentItem = Itm;
+           CurrentSize = 0;
+           TotalSize = atoi(LookupTag(Message,"Size","0").c_str());
+           
+           break;
+        }
         
         // 201 URI Done
         case 201:
-        break;
+        {
+           if (Itm == 0)
+           {
+              _error->Warning("Method gave invalid 400 URI Failure message");
+              break;
+           }
+
+           Itm->Owner->Done(Message,atoi(LookupTag(Message,"Size","0").c_str()),
+                                         LookupTag(Message,"MD5-Hash"));
+           OwnerQ->ItemDone(Itm);
+           break;
+        }       
         
         // 400 URI Failure
         case 400:
-        break;
+        {
+           if (Itm == 0)
+           {
+              _error->Warning("Method gave invalid 400 URI Failure message");
+              break;
+           }
+
+           Itm->Owner->Failed(Message);
+           OwnerQ->ItemDone(Itm);
+           break;
+        }       
         
         // 401 General Failure
         case 401:
index d128ec8b27b4ab6246e6569bc9a7c321bf177d7c..eb04485b98094ee625a356f4aba31dd94c7aa83f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-worker.h,v 1.3 1998/10/22 04:56:42 jgg Exp $
+// $Id: acquire-worker.h,v 1.4 1998/10/24 04:57:59 jgg Exp $
 /* ######################################################################
 
    Acquire Worker - Worker process manager
@@ -65,10 +65,12 @@ class pkgAcquire::Worker
    
    public:
    
+   // The curent method state
    pkgAcquire::Queue::QItem *CurrentItem;
-   
    string Status;
-   
+   unsigned long CurrentSize;
+   unsigned long TotalSize;
+
    // Load the method and do the startup 
    bool QueueItem(pkgAcquire::Queue::QItem *Item);
    bool Start();   
index 80fee9af2d6202f13be25a6f776d20731145ef20..21aade75d6a8c98aec34ed1c5c5e464840e76ffa 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire.cc,v 1.3 1998/10/22 04:56:43 jgg Exp $
+// $Id: acquire.cc,v 1.4 1998/10/24 04:58:01 jgg Exp $
 /* ######################################################################
 
    Acquire - File Acquiration
@@ -331,7 +331,7 @@ void pkgAcquire::Queue::Enqueue(Item *Owner,string URI,string Description)
    Owner->QueueCounter++;
 }
                                                                        /*}}}*/
-// Queue::Dequeue - Remove and item from the queue                     /*{{{*/
+// Queue::Dequeue - Remove an item from the queue                      /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 void pkgAcquire::Queue::Dequeue(Item *Owner)
@@ -367,6 +367,7 @@ bool pkgAcquire::Queue::Startup()
    if (Workers->Start() == false)
       return false;
       
+   Items->Worker = Workers;
    Workers->QueueItem(Items);
    
    return true;
@@ -389,3 +390,30 @@ bool pkgAcquire::Queue::Shutdown()
    return true;
 }
                                                                        /*}}}*/
+// Queue::Finditem - Find a URI in the item list                       /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+pkgAcquire::Queue::QItem *pkgAcquire::Queue::FindItem(string URI,pkgAcquire::Worker *Owner)
+{
+   for (QItem *I = Items; I != 0; I = I->Next)
+      if (I->URI == URI && I->Worker == Owner)
+        return I;
+   return 0;
+}
+                                                                       /*}}}*/
+// Queue::ItemDone - Item has been completed                           /*{{{*/
+// ---------------------------------------------------------------------
+/* The worker signals this which causes the item to be removed from the
+   queue. */
+bool pkgAcquire::Queue::ItemDone(QItem *Itm)
+{
+   Dequeue(Itm->Owner);
+   
+   if (Items == 0)
+      return true;
+
+   Items->Worker = Workers;
+   Items->Owner->Status = pkgAcquire::Item::StatFetching;
+   return Workers->QueueItem(Items);
+}
+                                                                       /*}}}*/
index cea7c88910c8f9264627922c1ee3deed3ae3de87..d4dbed5f616ff1a6c44bbb37fed283436fa5c896 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire.h,v 1.3 1998/10/22 04:56:44 jgg Exp $
+// $Id: acquire.h,v 1.4 1998/10/24 04:58:02 jgg Exp $
 /* ######################################################################
 
    Acquire - File Acquiration
@@ -105,6 +105,7 @@ class pkgAcquire::Queue
       string URI;
       string Description;
       Item *Owner;
+      pkgAcquire::Worker *Worker;
    };   
    
    // Name of the queue
@@ -121,6 +122,10 @@ class pkgAcquire::Queue
    void Enqueue(Item *Owner,string URI,string Description);
    void Dequeue(Item *Owner);
 
+   // Find a Queued item
+   QItem *FindItem(string URI,pkgAcquire::Worker *Owner);
+   bool ItemDone(QItem *Itm);
+   
    bool Startup();
    bool Shutdown();
    
index 185e3400e82ec1f257b95a58b2c56bc17d78cc31..350b574682a5881c5da7d9a4345904a9080e8257 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.cc,v 1.7 1998/10/20 04:33:13 jgg Exp $
+// $Id: algorithms.cc,v 1.8 1998/10/24 04:58:04 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -245,14 +245,17 @@ bool pkgDistUpgrade(pkgDepCache &Cache)
         Cache.MarkInstall(I,false);
 
    pkgProblemResolver Fix(Cache);
-   
+
    // Hold back held packages.
-   for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+   if (_config->FindB("APT::Ingore-Hold",false) == false)
    {
-      if (I->SelectedState == pkgCache::State::Hold)
+      for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
       {
-        Fix.Protect(I);
-        Cache.MarkKeep(I);
+        if (I->SelectedState == pkgCache::State::Hold)
+        {
+           Fix.Protect(I);
+           Cache.MarkKeep(I);
+        }
       }
    }
    
@@ -277,8 +280,9 @@ bool pkgAllUpgrade(pkgDepCache &Cache)
       if (Cache[I].Install() == true)
         Fix.Protect(I);
          
-      if (I->SelectedState == pkgCache::State::Hold)
-        continue;
+      if (_config->FindB("APT::Ingore-Hold",false) == false)
+        if (I->SelectedState == pkgCache::State::Hold)
+           continue;
       
       if (I->CurrentVer != 0 && Cache[I].InstallVer != 0)
         Cache.MarkInstall(I,false);
index 4882af9227277ee998086e62968ac5e0fbc64e29..68421a2418a3adfc4903cd85a781faf3298f9f2d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: strutl.cc,v 1.7 1998/10/23 00:49:59 jgg Exp $
+// $Id: strutl.cc,v 1.8 1998/10/24 04:58:07 jgg Exp $
 /* ######################################################################
 
    String Util - Some usefull string functions.
@@ -521,7 +521,7 @@ bool ReadMessages(int Fd, vector<string> &List)
       End += Res;
       
       // Look for the end of the message
-      for (char *I = Buffer; I < End; I++)
+      for (char *I = Buffer; I + 1 < End; I++)
       {
         if (I[0] != '\n' || I[1] != '\n')
            continue;
index a0896b3dc424efdb385605ee83cc853d81e05cc7..68c452f31f95504ba67b08ac5b03c26cf5dd4940 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: depcache.cc,v 1.3 1998/09/07 05:28:32 jgg Exp $
+// $Id: depcache.cc,v 1.4 1998/10/24 04:58:05 jgg Exp $
 /* ######################################################################
 
    Dependency Cache - Caches Dependency information.
@@ -673,203 +673,6 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst)
 }
                                                                        /*}}}*/
 
-#if 0
-// DepCache::ResolveConflicts - Figure the auto upgrades               /*{{{*/
-// ---------------------------------------------------------------------
-/* This routine attempts to resolve conflicts generated by automatic 
-   upgrading. It is known as 'Stage 1' but that name isn't as proper anymore.
-   
-   It's most important function is during the initial load of APT. The 
-   loading code will mark every package for upgrade to it's candidate version
-   and then call this routine. This routine will then 'soft keep' every
-   package that causes conflict, is conflicted, or so on. It is a bit
-   agressive in that it may unselect more packages in some odd cases
-   than are strictly necessary but in the case where no packages were
-   conflicting before it will always produce a system with no packages
-   conflicting after.
-   This routine is also used during state changes that require autoupgrade
-   scanning. That is, if a new package is marked for install then all packages
-   that have been soft kept are reconsidered for upgrade. 
-   
-   It is called with state information about what can be un-upgraded and
-   what the pre-upgrade install state was. It is expected that the caller
-   has already marked the desired packages to the install state. Bit 0 is
-   the original install state and Bit 1 is controls whether the package
-   should be touched.
-*/
-void pkgDepCache::ResolveConflicts(unsigned char *Touched)
-{
-   bool Again = false;
-   do
-   {
-      Again = false;
-      for (PkgIterator I = PkgBegin(); I.end() != true; I++)
-      {
-        // The package will install OK
-        if ((PkgState[I->ID].DepState & DepInstMin) == DepInstMin)
-           continue;
-        
-        /* The package was broken before and this upgrade will not
-           make things better. We simply mark the package for keep
-           and assume an upgrade attempt will be hopeless. This might
-           not be ideal. */
-        if ((Touched[I->ID] & (1 << 0)) != (1 << 0))
-        {
-           // The package isnt to be touched
-           if ((Touched[I->ID] & (1 << 1)) == (1 << 1))
-              MarkKeep(I,true);
-           
-           continue;
-        }       
-        
-        // Check to see if not upgrading it will solve the problem
-        if (I->CurrentVer != 0)
-        {          
-           // The package isnt to be touched
-           if ((Touched[I->ID] & (1 << 1)) == (1 << 1))
-           {
-              if (PkgState[I->ID].Mode != ModeKeep)
-                 Again = true;
-              
-              MarkKeep(I,true);
-           }
-           
-           /* Check if the package is sill broken. If so then we cant leave 
-              it as is and get a working system. Lets try marking some 
-              depends for 'keep'. This is brutal, it keeps everything in 
-              sight to fix the problem. */
-           DepIterator D = I.CurrentVer().DependsList();
-           for (;(PkgState[I->ID].DepState & DepInstMin) != DepInstMin && 
-                  D.end() != true; D++)
-           {
-              // We only worry about critical deps.
-              if (D.IsCritical() != true)
-                 continue;
-              
-              unsigned char State = DepState[D->ID];
-              
-              // This dep never was set before so we dont need to set it now
-              if ((State & DepNow) != DepNow)
-                 continue;
-
-              // The dep is okay now no worries.
-              if ((State & DepInstall) == DepInstall)
-                 continue;
-
-              // Locate a target to keep
-              PkgIterator P(*this);
-              if (CheckDep(D,NowVersion,P) == true)
-              {
-                 // We cant touch this package
-                 if ((Touched[P->ID] & (1 << 1)) == (1 << 1))
-                    MarkKeep(P,true);
-              }
-           }
-        }
-      }
-   }
-   while (Again == true);
-}
-                                                                       /*}}}*/
-// DepCache::PromoteAutoKeep - Gentler version of the above            /*{{{*/
-// ---------------------------------------------------------------------
-/* This is used when installing packages, all it does is attempt to promote
-   everything that has been auto-kept. It simply promotes everything
-   irregardless of it having a chance to work and then runs ResolveConflicts
-   on the result. This allows circular depends loops to work but isn't
-   terribly fast. */
-void pkgDepCache::PromoteAutoKeep()
-{
-   /* Initialize the touchd array. Bit 0 is the old install state bit 1
-      is the touch value */
-   unsigned char *Touch = new unsigned char[Head().PackageCount];
-   for (unsigned int I = 0; I != Head().PackageCount; I++)
-   {
-      if ((PkgState[I].DepState & DepInstMin) == DepInstMin)
-        Touch[I] = 1 << 0;
-      else
-        Touch[I] = 0;
-   }
-
-   // This allows circular depends to work
-   for (PkgIterator I = PkgBegin(); I.end() != true; I++)
-   {
-      /* It wasnt installed before or it is not autokept or it is not
-       upgradeable */
-      StateCache &P = PkgState[I->ID];
-      if (I->CurrentVer == 0 || P.Mode != ModeKeep || I->VersionList == 0 ||
-         P.CandidateVer == (Version *)I.CurrentVer() || 
-         (P.iFlags & AutoKept) != AutoKept)
-        continue;
-
-      P.Mode = ModeInstall;
-      P.InstallVer = P.CandidateVer;
-      if (P.CandidateVer == (Version *)I.CurrentVer())
-        P.Mode = ModeKeep;
-      
-      // Okay autoupgrade it.
-      Touch[I->ID] |= 1 << 1;
-   }
-   
-   Update();   
-   ResolveConflicts(Touch);
-   
-   delete [] Touch;
-}
-                                                                       /*}}}*/
-// DepCache::AllUpgrade - Try to upgrade everything                    /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-void pkgDepCache::AllUpgrade()
-{
-   // Set everything to an upgrade mode 
-   for (PkgIterator I = PkgBegin(); I.end() != true; I++)
-   {
-      StateCache &State = PkgState[I->ID];
-      
-      /* We dont upgrade packages marked for deletion or that are
-         not installed or that don't have an upgrade */
-      if (State.Mode == ModeDelete || I->CurrentVer == 0 ||
-         (Version *)I.CurrentVer() == State.CandidateVer)
-        continue;
-       
-      // Set the state to upgrade
-      State.iFlags = 0;
-      State.Mode = ModeInstall;
-      State.InstallVer = State.CandidateVer;
-      if (State.CandidateVer == (Version *)I.CurrentVer())
-        State.Mode = ModeKeep;
-      
-      // Do not upgrade things that have the hold flag set.
-      if (I->SelectedState == State::Hold)
-      {
-        State.InstallVer = I.CurrentVer();
-        State.Mode = ModeKeep;
-      }
-      State.Update(I,*this);
-   }   
-   
-   Update();
-
-   /* Initialize the touchd array. Bit 0 is the old install state bit 1
-      is the touch value */
-   unsigned char *Touch = new unsigned char[Head().PackageCount];
-   for (unsigned int I = 0; I != Head().PackageCount; I++)
-   {
-      if ((PkgState[I].DepState & DepNowMin) == DepNowMin)
-        Touch[I] = (1 << 0) | (1 << 1);
-      else
-        Touch[I] = 1 << 1;
-   }
-
-   // Now downgrade everything that is broken
-   ResolveConflicts(Touch);
-   delete [] Touch;
-}
-                                                                       /*}}}*/
-#endif
-
 // StateCache::Update - Compute the various static display things      /*{{{*/
 // ---------------------------------------------------------------------
 /* This is called whenever the Candidate version changes. */
index 50d669977df6c24da063c0717d9c378ccf90f5f7..23fc344f3ff79f6ab585814a488798d1849f8613 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: tagfile.cc,v 1.11 1998/10/02 04:39:48 jgg Exp $
+// $Id: tagfile.cc,v 1.12 1998/10/24 04:58:06 jgg Exp $
 /* ######################################################################
 
    Fast scanner for RFC-822 type header information
@@ -75,18 +75,23 @@ bool pkgTagFile::Fill()
    Start = Buffer;
    End = Buffer + EndSize;
    
-   // See if only a bit of the file is left 
-   if (Left < Size)
+   // See if only a bit of the file is left
+   if (Left < Size - (End - Buffer))
    {
       if (Fd.Read(End,Left) == false)
         return false;
+      
       End += Left;
       Left = 0;
    }
    else
    {
       if (Fd.Read(End,Size - (End - Buffer)) == false)
+      {
+        cout << "boink" << endl;
         return false;
+      }
+      
       Left -= Size - (End - Buffer);
       End = Buffer + Size;
    }   
index 4f8de001f0a415f867b328fa3ae19906adf9adf5..95859c8111e3d47c2f205dca87ff4d99c9fa9fbd 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: apt-get.cc,v 1.4 1998/10/20 04:33:18 jgg Exp $
+// $Id: apt-get.cc,v 1.5 1998/10/24 04:58:08 jgg Exp $
 /* ######################################################################
    
    apt-get - Cover for dpkg
@@ -782,6 +782,7 @@ int main(int argc,const char *argv[])
       {'f',"fix-broken","APT::Get::Fix-Broken",0},
       {'u',"show-upgraded","APT::Get::Show-Upgraded",0},
       {'m',"ignore-missing","APT::Get::Fix-Broken",0},      
+      {0,"ignore-hold","APT::Ingore-Hold",0},      
       {'c',"config-file",0,CommandLine::ConfigFile},
       {'o',"option",0,CommandLine::ArbItem},
       {0,0,0,0}};
index 65139c03203258fe0469ee74febd7277fbbeb59a..a6911c9916aec92c1e4c72a8ef7233141a55f357 100644 (file)
@@ -7,12 +7,12 @@ include ../buildlib/defaults.mak
 
 # The apt-cache program
 PROGRAM=apt-cache
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg
 SOURCE = apt-cache.cc
 include $(PROGRAM_H)
 
 # The apt-config program
 PROGRAM=apt-get
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg
 SOURCE = apt-get.cc
 include $(PROGRAM_H)
index 9e9bdf840c59a6a5bdeae4c35fbdce71ea3b5f88..334da2750b053f3da2deaba92fbbe00ee0c9ffcb 100644 (file)
@@ -39,7 +39,7 @@ X11LIB=
 if test "$no_x" != "yes"; then
   X11LIB="-lX11"
   AC_DEFINE(HAVE_X11)
-  dnl Checks for Slang
+  dnl Checks for ZPM
   AC_CHECK_LIB(Xpm, XpmLibraryVersion,[AC_DEFINE(HAVE_LIBXPM) XPMLIB="-lXpm"],,$X_LIBS $X_PRE_LIBS $X11LIB $X_EXTRA_LIBS)
   AC_SUBST(XPMLIB)
   if test "$XPMLIB" != "-lXpm"; then
@@ -48,7 +48,7 @@ if test "$no_x" != "yes"; then
 fi
 
 dnl Checks for Slang
-AC_CHECK_LIB(slang, init_SLang,[AC_DEFINE(HAVE_LIBSLANG) SLANGLIB="-lslang"])
+AC_CHECK_LIB(slang, SLang_Version,[AC_DEFINE(HAVE_LIBSLANG) SLANGLIB="-lslang"])
 AC_SUBST(SLANGLIB)
 
 dnl Checks for GPM
index ab1bfbc2195f18fd1a920d2bc951bcdc65566d90..04d4fbc85758339da7758dfd30fac6e93de5faf1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: apt.conf,v 1.4 1998/10/22 04:56:50 jgg Exp $
+// $Id: apt.conf,v 1.5 1998/10/24 04:58:10 jgg Exp $
 /* This file is an index of all APT configuration directives. It should
    NOT actually be used as a real config file, though it is a completely
    valid file.
@@ -14,6 +14,8 @@ APT {
      Fix-Broken "false";  
      Show-Upgraded "false";
   };
+  
+  Ingore-Hold "false";
 };
 
 Acquire
@@ -39,7 +41,7 @@ Dir
   };
   
   Etc "/etc/apt/" {
-     sourcelist "sources.list";
+     sourcelist "sources.list.test";
      main "apt.conf";
   };