]> git.saurik.com Git - apt.git/commitdiff
Fixed up dpkginit and acquire stuff..
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:25 +0000 (16:54 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:25 +0000 (16:54 +0000)
Author: jgg
Date: 1999-07-30 05:36:52 GMT
Fixed up dpkginit and acquire stuff..

apt-pkg/acquire-worker.cc
apt-pkg/acquire.cc
apt-pkg/deb/dpkginit.cc
methods/gzip.cc

index 6d70e79d8269febff21910c2bd785bba2e26df05..166055bfcf8df7d6428b82c792a5e6ff44e2261c 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-worker.cc,v 1.23 1999/07/26 17:46:07 jgg Exp $
+// $Id: acquire-worker.cc,v 1.24 1999/07/30 05:36:52 jgg Exp $
 /* ######################################################################
 
    Acquire Worker 
@@ -40,7 +40,9 @@ pkgAcquire::Worker::Worker(Queue *Q,MethodConfig *Cnf,
    Config = Cnf;
    Access = Cnf->Access;
    CurrentItem = 0;
-
+   TotalSize = 0;
+   CurrentSize = 0;
+   
    Construct();   
 }
                                                                        /*}}}*/
@@ -53,6 +55,8 @@ pkgAcquire::Worker::Worker(MethodConfig *Cnf)
    Config = Cnf;
    Access = Cnf->Access;
    CurrentItem = 0;
+   TotalSize = 0;
+   CurrentSize = 0;
    
    Construct();   
 }
@@ -244,8 +248,14 @@ bool pkgAcquire::Worker::RunMessages()
            pkgAcquire::Item *Owner = Itm->Owner;
            pkgAcquire::ItemDesc Desc = *Itm;
            OwnerQ->ItemDone(Itm);
-           Owner->Done(Message,atoi(LookupTag(Message,"Size","0").c_str()),
-                                         LookupTag(Message,"MD5-Hash"));
+           Pulse();
+           if (TotalSize != 0 && 
+               atoi(LookupTag(Message,"Size","0").c_str()) != TotalSize)
+              _error->Warning("Bizzar Error - File size is not what the server reported %s %u",
+                              LookupTag(Message,"Size","0").c_str(),TotalSize);
+           
+           Owner->Done(Message,CurrentSize,
+                       LookupTag(Message,"MD5-Hash"));
            ItemDone();
            
            // Log that we are done
@@ -261,7 +271,7 @@ bool pkgAcquire::Worker::RunMessages()
               }               
               else
                  Log->Done(Desc);
-           }       
+           }
            break;
         }       
         
@@ -495,6 +505,10 @@ void pkgAcquire::Worker::Pulse()
    if (stat(CurrentItem->Owner->DestFile.c_str(),&Buf) != 0)
       return;
    CurrentSize = Buf.st_size;
+   
+   // Hmm? Should not happen...
+   if (CurrentSize > TotalSize && TotalSize != 0)
+      TotalSize = CurrentSize;
 }
                                                                        /*}}}*/
 // Worker::ItemDone - Called when the current item is finished         /*{{{*/
index 6ea1e3526179ab8f3b934ec28e3e3b3eeb82f020..842f2e31acb74199a6e8626e34ddf457c27c3fcc 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire.cc,v 1.37 1999/07/03 03:10:35 jgg Exp $
+// $Id: acquire.cc,v 1.38 1999/07/30 05:36:52 jgg Exp $
 /* ######################################################################
 
    Acquire - File Acquiration
@@ -740,6 +740,10 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
       TotalBytes = 1;
    if (Unknown == Count)
       TotalBytes = Unknown;
+
+   // Wha?! Is not supposed to happen.
+   if (CurrentBytes > TotalBytes)
+      CurrentBytes = TotalBytes;
    
    // Compute the CPS
    struct timeval NewTime;
index 5327de0e1d439451719f9606b014149df0728068..6ea7f04afc0a34778159a655267e26cd3af87429 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: dpkginit.cc,v 1.3 1999/07/26 17:46:08 jgg Exp $
+// $Id: dpkginit.cc,v 1.4 1999/07/30 05:36:52 jgg Exp $
 /* ######################################################################
 
    DPKG init - Initialize the dpkg stuff
@@ -62,7 +62,7 @@ bool pkgDpkgLock::GetLock(bool WithUpdates)
                           "are you root?");
 
    // See if we need to abort with a dirty journal
-   if (WithUpdates == true && CheckUpdates() == false)
+   if (WithUpdates == true && CheckUpdates() == true)
    {
       Close();
       return _error->Error("dpkg was interrupted, you must manually "
index b9808b30ea47bc312ca4e6a1dde717e752f3ac40..f1bf60ce6d39f15372c895a69a89ac8cb41de05a 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: gzip.cc,v 1.7 1999/01/27 02:48:53 jgg Exp $
+// $Id: gzip.cc,v 1.8 1999/07/30 05:37:00 jgg Exp $
 /* ######################################################################
 
    GZip method - Take a file URI in and decompress it into the target 
@@ -99,8 +99,12 @@ bool GzipMethod::Fetch(FetchItem *Itm)
    if (utime(Itm->DestFile.c_str(),&TimeBuf) != 0)
       return _error->Errno("utime","Failed to set modification time");
 
+   if (stat(Itm->DestFile.c_str(),&Buf) != 0)
+      return _error->Errno("stat","Failed to stat");
+   
    // Return a Done response
    Res.LastModified = Buf.st_mtime;
+   Res.Size = Buf.st_size;
    URIDone(Res);
    
    return true;