]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/tagfile.{cc,h}:
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 26 Apr 2006 10:47:41 +0000 (12:47 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 26 Apr 2006 10:47:41 +0000 (12:47 +0200)
  - use mmap for the tagfile code (closes: #350025)

apt-pkg/acquire.cc
apt-pkg/deb/dpkgpm.cc
apt-pkg/tagfile.cc
apt-pkg/tagfile.h
configure.in
debian/changelog
debian/rules
po/apt-all.pot

index 57cf60bfe1f46bbf2851b46768bc372c394ebc53..fff1b2b6ad379b28603de987933b4523dc5c3f36 100644 (file)
@@ -818,7 +818,13 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
       unsigned long ETA =
         (unsigned long)((TotalBytes - CurrentBytes) / CurrentCPS);
 
-      snprintf(msg,sizeof(msg), _("Downloading file %li of %li (%s remaining)"), i, TotalItems, TimeToStr(ETA).c_str());
+      // only show the ETA if it makes sense
+      if (ETA > 0 && ETA < 172800 /* two days */ )
+        snprintf(msg,sizeof(msg), _("Retrieving file %li of %li (%s remaining)"), i, TotalItems, TimeToStr(ETA).c_str());
+      else
+        snprintf(msg,sizeof(msg), _("Retrieving file %li of %li"), i, TotalItems);
+        
+
 
       // build the status str
       status << "dlstatus:" << i
index fe8fbca748b5fc05b63bda2be3ff86881983a58a..667db8ff2d98f4da38ae95d1416ec55c89f874c2 100644 (file)
@@ -375,8 +375,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
       },
       // Purge operation
       { 
-        {"config-files", _("Preparing for remove with config %s")},
-        {"not-installed", _("Removed with config %s")},
+        {"config-files", _("Preparing to completely remove %s")},
+        {"not-installed", _("Completely removed %s")},
         {NULL, NULL}
       },
    };
@@ -623,8 +623,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
            'status: conffile-prompt: conffile : 'current-conffile' 'new-conffile' useredited distedited
            
         */
-        char* list[4];
-        TokSplitString(':', line, list, 5);
+        char* list[5];
+        TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
         char *pkg = list[1];
         char *action = _strstrip(list[2]);
 
index cae0fa81989f5e4ba0e6a8e7ce77012e1da0be28..dc1ba3f9e991fe3aafcad402d36fd1ead5cb912e 100644 (file)
@@ -35,20 +35,20 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
      Fd(*pFd),
      Size(Size)
 {
-   if (Fd.IsOpen() == false)
+   if (Fd.IsOpen() == false || Fd.Size() == 0)
    {
       Buffer = 0;
       Start = End = Buffer = 0;
-      Done = true;
       iOffset = 0;
+      Map = NULL;
       return;
    }
    
-   Buffer = new char[Size];
-   Start = End = Buffer;
-   Done = false;
+   Map = new MMap (Fd, MMap::Public | MMap::ReadOnly);
+   Buffer = (char *) Map->Data ();
+   Start = Buffer;
+   End = Buffer + Map->Size ();
    iOffset = 0;
-   Fill();
 }
                                                                        /*}}}*/
 // TagFile::~pkgTagFile - Destructor                                   /*{{{*/
@@ -56,7 +56,7 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
 /* */
 pkgTagFile::~pkgTagFile()
 {
-   delete [] Buffer;
+   delete Map;
 }
                                                                        /*}}}*/
 // TagFile::Step - Advance to the next section                         /*{{{*/
@@ -64,63 +64,18 @@ pkgTagFile::~pkgTagFile()
 /* If the Section Scanner fails we refill the buffer and try again. */
 bool pkgTagFile::Step(pkgTagSection &Tag)
 {
+   if (Start == End)
+      return false;
+
    if (Tag.Scan(Start,End - Start) == false)
    {
-      if (Fill() == false)
-        return false;
-      
-      if (Tag.Scan(Start,End - Start) == false)
-        return _error->Error(_("Unable to parse package file %s (1)"),
-                             Fd.Name().c_str());
+      return _error->Error(_("Unable to parse package file %s (1)"),
+             Fd.Name().c_str());
    }
    Start += Tag.size();
    iOffset += Tag.size();
 
    Tag.Trim();
-   return true;
-}
-                                                                       /*}}}*/
-// TagFile::Fill - Top up the buffer                                   /*{{{*/
-// ---------------------------------------------------------------------
-/* This takes the bit at the end of the buffer and puts it at the start
-   then fills the rest from the file */
-bool pkgTagFile::Fill()
-{
-   unsigned long EndSize = End - Start;
-   unsigned long Actual = 0;
-   
-   memmove(Buffer,Start,EndSize);
-   Start = Buffer;
-   End = Buffer + EndSize;
-   
-   if (Done == false)
-   {
-      // See if only a bit of the file is left
-      if (Fd.Read(End,Size - (End - Buffer),&Actual) == false)
-        return false;
-      if (Actual != Size - (End - Buffer))
-        Done = true;
-      End += Actual;
-   }
-   
-   if (Done == true)
-   {
-      if (EndSize <= 3 && Actual == 0)
-        return false;
-      if (Size - (End - Buffer) < 4)
-        return true;
-      
-      // Append a double new line if one does not exist
-      unsigned int LineCount = 0;
-      for (const char *E = End - 1; E - End < 6 && (*E == '\n' || *E == '\r'); E--)
-        if (*E == '\n')
-           LineCount++;
-      for (; LineCount < 2; LineCount++)
-        *End++ = '\n';
-      
-      return true;
-   }
-   
    return true;
 }
                                                                        /*}}}*/
@@ -141,20 +96,7 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long Offset)
 
    // Reposition and reload..
    iOffset = Offset;
-   Done = false;
-   if (Fd.Seek(Offset) == false)
-      return false;
-   End = Start = Buffer;
-   
-   if (Fill() == false)
-      return false;
-
-   if (Tag.Scan(Start,End - Start) == true)
-      return true;
-   
-   // This appends a double new line (for the real eof handling)
-   if (Fill() == false)
-      return false;
+   Start = Buffer + iOffset;
    
    if (Tag.Scan(Start,End - Start) == false)
       return _error->Error(_("Unable to parse package file %s (2)"),Fd.Name().c_str());
@@ -181,7 +123,7 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength)
    Stop = Section = Start;
    memset(AlphaIndexes,0,sizeof(AlphaIndexes));
 
-   if (Stop == 0)
+   if (Stop == 0 || MaxLength == 0)
       return false;
    
    TagCount = 0;
@@ -212,6 +154,12 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength)
       Stop++;
    }
 
+   if ((Stop+1 >= End) && (End[-1] == '\n' || End[-1] == '\r'))
+   {
+       Indexes[TagCount] = (End - 1) - Section;
+       return true;
+   }
+
    return false;
 }
                                                                        /*}}}*/
index 8c948754dbb62acdf22232dd1db6103d3ea2f635..5cff2681cd1721f682507c44a9acc63da080bee5 100644 (file)
@@ -25,6 +25,7 @@
 #endif 
 
 #include <apt-pkg/fileutl.h>
+#include <apt-pkg/mmap.h>
 #include <stdio.h>
     
 class pkgTagSection
@@ -69,15 +70,13 @@ class pkgTagSection
 class pkgTagFile
 {
    FileFd &Fd;
+   MMap *Map;
    char *Buffer;
    char *Start;
    char *End;
-   bool Done;
    unsigned long iOffset;
    unsigned long Size;
    
-   bool Fill();
-   
    public:
 
    bool Step(pkgTagSection &Section);
index 8d4b99904854414655625841f9cf3816c25bbef1..4c5583a0f5e7fd692399d01b882728fb5df8fb15 100644 (file)
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.43.3")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.43.4")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
index 64c743a7f32497f50b170baadc57e4f5af6f573d..c439f0df5184c847ad82eff91b0c3634841d5f05 100644 (file)
@@ -1,3 +1,18 @@
+apt (0.6.44) unstable; urgency=low
+
+  * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large
+  * apt-pkg/deb/dpkgpm.cc: 
+    - wording fixes (thanks to Matt Zimmerman)
+    - fix error in dpkg interaction (closes: #364513, 
+      thanks to Martin Dickopp)
+  * apt-pkg/tagfile.{cc,h}:
+    - use MMap to read the entries (thanks to Zephaniah E. Hull for the
+      patch) Closes: #350025
+  * Merge from http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+       * bg.po: Added, complete to 512t. Closes: #360262
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 25 Apr 2006 09:34:20 +0200
+
 apt (0.6.43.3) unstable; urgency=low
 
   * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186:
index cd026b4a4ad34e439930a5b157b45537d5c86beb..a8bf88762e4fed8821d9f3f8bf480caf4cd94759 100755 (executable)
@@ -36,6 +36,7 @@ endif
 # Default rule
 build:
 
+PKG=apt
 DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)
 APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p')
 APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in)
@@ -335,6 +336,6 @@ cvs-mkul:
 arch-build:
        rm -rf debian/arch-build
        mkdir -p debian/arch-build/apt-$(APT_DEBVER)
-       baz inventory -s | xargs cp -a --parents --target=debian/arch-build/apt-$(APT_DEBVER)
+       tar -c --exclude=arch-build --no-recursion -f - `bzr inventory` | (cd debian/arch-build/$(PKG)-$(APT_DEBVER);tar xf -)
        $(MAKE) -C debian/arch-build/apt-$(APT_DEBVER) startup doc
        (cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG))
index 23de34b5cfa8b0ac3427a967ab7faf90b5ceb306..dc455c7afc455380b87cf62345364330baaa6a77 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-01-20 14:06+0100\n"
+"POT-Creation-Date: 2006-04-20 12:50+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -146,14 +146,14 @@ msgstr ""
 msgid "       %4i %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1651 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2378 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2369 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1658
+#: cmdline/apt-cache.cc:1659
 msgid ""
 "Usage: apt-cache [options] command\n"
 "       apt-cache [options] add file1 [file2 ...]\n"
@@ -535,7 +535,7 @@ msgstr ""
 msgid "Y"
 msgstr ""
 
-#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1515
+#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr ""
@@ -694,11 +694,11 @@ msgstr ""
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 
-#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1809 cmdline/apt-get.cc:1842
+#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1800 cmdline/apt-get.cc:1833
 msgid "Unable to lock the download directory"
 msgstr ""
 
-#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1890 cmdline/apt-get.cc:2126
+#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2117
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr ""
@@ -727,7 +727,7 @@ msgstr ""
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1980
+#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr ""
@@ -761,7 +761,7 @@ msgstr ""
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 
-#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2023
+#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2014
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
@@ -770,7 +770,7 @@ msgstr ""
 msgid "Some files failed to download"
 msgstr ""
 
-#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2023
 msgid "Download complete and in download only mode"
 msgstr ""
 
@@ -866,7 +866,7 @@ msgstr ""
 msgid "The update command takes no arguments"
 msgstr ""
 
-#: cmdline/apt-get.cc:1326 cmdline/apt-get.cc:1420
+#: cmdline/apt-get.cc:1326
 msgid "Unable to lock the list directory"
 msgstr ""
 
@@ -880,27 +880,27 @@ msgstr ""
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1502 cmdline/apt-get.cc:1538
+#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529
 #, c-format
 msgid "Couldn't find package %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1525
+#: cmdline/apt-get.cc:1516
 #, c-format
 msgid "Note, selecting %s for regex '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1555
+#: cmdline/apt-get.cc:1546
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1558
+#: cmdline/apt-get.cc:1549
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "solution)."
 msgstr ""
 
-#: cmdline/apt-get.cc:1570
+#: cmdline/apt-get.cc:1561
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or if you are using the unstable\n"
@@ -908,163 +908,163 @@ msgid ""
 "or been moved out of Incoming."
 msgstr ""
 
-#: cmdline/apt-get.cc:1578
+#: cmdline/apt-get.cc:1569
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
 "that package should be filed."
 msgstr ""
 
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1574
 msgid "The following information may help to resolve the situation:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1586
+#: cmdline/apt-get.cc:1577
 msgid "Broken packages"
 msgstr ""
 
-#: cmdline/apt-get.cc:1612
+#: cmdline/apt-get.cc:1603
 msgid "The following extra packages will be installed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1683
+#: cmdline/apt-get.cc:1674
 msgid "Suggested packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1684
+#: cmdline/apt-get.cc:1675
 msgid "Recommended packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1704
+#: cmdline/apt-get.cc:1695
 msgid "Calculating upgrade... "
 msgstr ""
 
-#: cmdline/apt-get.cc:1707 methods/ftp.cc:702 methods/connect.cc:101
+#: cmdline/apt-get.cc:1698 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:1712
+#: cmdline/apt-get.cc:1703
 msgid "Done"
 msgstr ""
 
-#: cmdline/apt-get.cc:1777 cmdline/apt-get.cc:1785
+#: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1885
+#: cmdline/apt-get.cc:1876
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 
-#: cmdline/apt-get.cc:1915 cmdline/apt-get.cc:2144
+#: cmdline/apt-get.cc:1906 cmdline/apt-get.cc:2135
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1959
+#: cmdline/apt-get.cc:1950
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1983
+#: cmdline/apt-get.cc:1974
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1988
+#: cmdline/apt-get.cc:1979
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1991
+#: cmdline/apt-get.cc:1982
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1997
+#: cmdline/apt-get.cc:1988
 #, c-format
 msgid "Fetch source %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2028
+#: cmdline/apt-get.cc:2019
 msgid "Failed to fetch some archives."
 msgstr ""
 
-#: cmdline/apt-get.cc:2056
+#: cmdline/apt-get.cc:2047
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2068
+#: cmdline/apt-get.cc:2059
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2069
+#: cmdline/apt-get.cc:2060
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2086
+#: cmdline/apt-get.cc:2077
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2105
+#: cmdline/apt-get.cc:2096
 msgid "Child process failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:2121
+#: cmdline/apt-get.cc:2112
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 
-#: cmdline/apt-get.cc:2149
+#: cmdline/apt-get.cc:2140
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2169
+#: cmdline/apt-get.cc:2160
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2221
+#: cmdline/apt-get.cc:2212
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2273
+#: cmdline/apt-get.cc:2264
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
-#: cmdline/apt-get.cc:2308
+#: cmdline/apt-get.cc:2299
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2333
+#: cmdline/apt-get.cc:2324
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2347
+#: cmdline/apt-get.cc:2338
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 
-#: cmdline/apt-get.cc:2351
+#: cmdline/apt-get.cc:2342
 msgid "Failed to process build dependencies"
 msgstr ""
 
-#: cmdline/apt-get.cc:2383
+#: cmdline/apt-get.cc:2374
 msgid "Supported modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2424
+#: cmdline/apt-get.cc:2415
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1666,34 +1666,34 @@ msgstr ""
 msgid "Could not connect to %s:%s (%s), connection timed out"
 msgstr ""
 
-#: methods/connect.cc:106
+#: methods/connect.cc:108
 #, c-format
 msgid "Could not connect to %s:%s (%s)."
 msgstr ""
 
 #. We say this mainly because the pause here is for the
 #. ssh connection that is still going
-#: methods/connect.cc:134 methods/rsh.cc:425
+#: methods/connect.cc:136 methods/rsh.cc:425
 #, c-format
 msgid "Connecting to %s"
 msgstr ""
 
-#: methods/connect.cc:165
+#: methods/connect.cc:167
 #, c-format
 msgid "Could not resolve '%s'"
 msgstr ""
 
-#: methods/connect.cc:171
+#: methods/connect.cc:173
 #, c-format
 msgid "Temporary failure resolving '%s'"
 msgstr ""
 
-#: methods/connect.cc:174
+#: methods/connect.cc:176
 #, c-format
 msgid "Something wicked happened resolving '%s:%s' (%i)"
 msgstr ""
 
-#: methods/connect.cc:221
+#: methods/connect.cc:223
 #, c-format
 msgid "Unable to connect to %s %s:"
 msgstr ""
@@ -2203,9 +2203,16 @@ msgstr ""
 msgid "Archive directory %spartial is missing."
 msgstr ""
 
-#: apt-pkg/acquire.cc:821
+#. only show the ETA if it makes sense
+#. two days
+#: apt-pkg/acquire.cc:823
+#, c-format
+msgid "Retrieving file %li of %li (%s remaining)"
+msgstr ""
+
+#: apt-pkg/acquire.cc:825
 #, c-format
-msgid "Downloading file %li of %li (%s remaining)"
+msgid "Retrieving file %li of %li"
 msgstr ""
 
 #: apt-pkg/acquire-worker.cc:113
@@ -2346,35 +2353,35 @@ msgstr ""
 msgid "rename failed, %s (%s -> %s)."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:950
+#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945
 msgid "MD5Sum mismatch"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:645
+#: apt-pkg/acquire-item.cc:640
 msgid "There are no public key available for the following key IDs:\n"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:758
+#: apt-pkg/acquire-item.cc:753
 #, c-format
 msgid ""
 "I wasn't able to locate a file for the %s package. This might mean you need "
 "to manually fix this package. (due to missing arch)"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:817
+#: apt-pkg/acquire-item.cc:812
 #, c-format
 msgid ""
 "I wasn't able to locate file for the %s package. This might mean you need to "
 "manually fix this package."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:853
+#: apt-pkg/acquire-item.cc:848
 #, c-format
 msgid ""
 "The package index files are corrupted. No Filename: field for package %s."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:940
+#: apt-pkg/acquire-item.cc:935
 msgid "Size mismatch"
 msgstr ""
 
@@ -2515,12 +2522,12 @@ msgstr ""
 
 #: apt-pkg/deb/dpkgpm.cc:378
 #, c-format
-msgid "Preparing for remove with config %s"
+msgid "Preparing to completely remove %s"
 msgstr ""
 
 #: apt-pkg/deb/dpkgpm.cc:379
 #, c-format
-msgid "Removed with config %s"
+msgid "Completely removed %s"
 msgstr ""
 
 #: methods/rsh.cc:330