summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire.cc20
-rw-r--r--buildlib/archtable1
-rw-r--r--buildlib/sizetable1
-rw-r--r--cmdline/apt-get.cc47
-rw-r--r--debian/changelog4
5 files changed, 21 insertions, 52 deletions
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 842f2e31a..99dacf5be 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire.cc,v 1.38 1999/07/30 05:36:52 jgg Exp $
+// $Id: acquire.cc,v 1.39 1999/10/16 19:53:18 jgg Exp $
/* ######################################################################
Acquire - File Acquiration
@@ -793,24 +793,16 @@ void pkgAcquireStatus::Stop()
struct timeval NewTime;
gettimeofday(&NewTime,0);
- // Compute the delta time with full accuracy
- long usdiff = NewTime.tv_usec - StartTime.tv_usec;
- long sdiff = NewTime.tv_sec - StartTime.tv_sec;
+ double Delta = NewTime.tv_sec - StartTime.tv_sec +
+ (NewTime.tv_usec - StartTime.tv_usec)/1000000.0;
- // Borrow
- if (usdiff < 0)
- {
- usdiff += 1000000;
- sdiff--;
- }
-
// Compute the CPS value
- if (sdiff == 0 && usdiff == 0)
+ if (Delta < 0.01)
CurrentCPS = 0;
else
- CurrentCPS = FetchedBytes/(sdiff + usdiff/1000000.0);
+ CurrentCPS = FetchedBytes/Delta;
LastBytes = CurrentBytes;
- ElapsedTime = sdiff;
+ ElapsedTime = (unsigned int)Delta;
}
/*}}}*/
// AcquireStatus::Fetched - Called when a byte set has been fetched /*{{{*/
diff --git a/buildlib/archtable b/buildlib/archtable
index 47d4fbf84..8816f4bea 100644
--- a/buildlib/archtable
+++ b/buildlib/archtable
@@ -27,3 +27,4 @@ m68k m68k m68k
arm arm arm
powerpc powerpc powerpc
ppc powerpc powerpc
+mipsel mipsel mipsel
diff --git a/buildlib/sizetable b/buildlib/sizetable
index 9ba7ee1c0..54537a7ad 100644
--- a/buildlib/sizetable
+++ b/buildlib/sizetable
@@ -15,3 +15,4 @@ alpha: little 1 4 2 8
sparc: big 1 4 2 4
m68k: big 1 4 2 4
powerpc: big 1 4 2 4
+mipsel: little 1 4 2 4
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 652e86e48..6353adf33 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1,30 +1,3 @@
-// -*- mode: cpp; mode: fold -*-
-// Description /*{{{*/
-// $Id: apt-get.cc,v 1.77 1999/09/30 06:30:34 jgg Exp $
-/* ######################################################################
-
- apt-get - Cover for dpkg
-
- This is an allout cover for dpkg implementing a safer front end. It is
- based largely on libapt-pkg.
-
- The syntax is different,
- apt-get [opt] command [things]
- Where command is:
- update - Resyncronize the package files from their sources
- upgrade - Smart-Download the newest versions of all packages
- dselect-upgrade - Follows dselect's changes to the Status: field
- and installes new and removes old packages
- dist-upgrade - Powerfull upgrader designed to handle the issues with
- a new distribution.
- install - Download and install a given package (by name, not by .deb)
- check - Update the package cache and check for broken packages
- clean - Erase the .debs downloaded to /var/cache/apt/archives and
- the partial dir too
-
- ##################################################################### */
- /*}}}*/
-// Include Files /*{{{*/
#include <apt-pkg/error.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/init.h>
@@ -579,16 +552,6 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey =
c0out << DebBytes << ',' << Cache->DebSize() << endl;
c0out << "How odd.. The sizes didn't match, email apt@packages.debian.org" << endl;
}
-
- // Check for enough free space
- struct statfs Buf;
- string OutputDir = _config->FindDir("Dir::Cache::Archives");
- if (statfs(OutputDir.c_str(),&Buf) != 0)
- return _error->Errno("statfs","Couldn't determine free space in %s",
- OutputDir.c_str());
- if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
- return _error->Error("Sorry, you don't have enough free space in %s",
- OutputDir.c_str());
// Number of bytes
c1out << "Need to get ";
@@ -598,6 +561,16 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey =
c1out << SizeToStr(DebBytes) << 'B';
c1out << " of archives. After unpacking ";
+
+ // Check for enough free space
+ struct statfs Buf;
+ string OutputDir = _config->FindDir("Dir::Cache::Archives");
+ if (statfs(OutputDir.c_str(),&Buf) != 0)
+ return _error->Errno("statfs","Couldn't determine free space in %s",
+ OutputDir.c_str());
+ if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
+ return _error->Error("Sorry, you don't have enough free space in %s to hold all the .debs.",
+ OutputDir.c_str());
// Size delta
if (Cache->UsrSize() >= 0)
diff --git a/debian/changelog b/debian/changelog
index 73da82750..3f3abd320 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,13 +1,15 @@
apt (0.3.13.1) unstable; urgency=low
* Fix Perl or group pre-depends thing Closes: #46091, #46096, #46233, #45901
- * Fix handling of dpkg's conversions from < -> <= Closes: #46094
+ * Fix handling of dpkg's conversions from < -> <= Closes: #46094, #47088
* Make unparsable priorities non-fatal Closes: #46266, #46267, #46293, #46298
* Fix handling of '/' for the dist name. Closes: #43830, #45640, #45692
* Fixed 'Method gave a blank filename' error from IMS queries onto CDs.
Closes: #45034, #45695, #46537
* Made OR group handling in the problem resolver more elaborate. Closes: #45646
* Added APT::Clean-Installed option. Closes: #45973
+ * Moves the free space check to after the calculated size is printed.
+ Closes: #46639, #47498
-- Jason Gunthorpe <jgg@debian.org> Fri, 3 Sep 1999 09:04:28 -0700