]> git.saurik.com Git - apt.git/commitdiff
* move the ListUpdate() code from cachefile.h into algorithms.{cc,h}
authorMichael Vogt <michael.vogt@ubuntu.com>
Mon, 7 Jan 2008 15:47:40 +0000 (16:47 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Mon, 7 Jan 2008 15:47:40 +0000 (16:47 +0100)
  as it does not require a cachefile at all

apt-pkg/algorithms.cc
apt-pkg/algorithms.h
apt-pkg/cachefile.cc
apt-pkg/cachefile.h
cmdline/apt-get.cc
debian/changelog

index 158f9c258f4b1c6c973a6c2d2d29fc5c569f6c0e..6e2b9755730c11b824dde72ce199b791a5d4972b 100644 (file)
@@ -19,7 +19,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/version.h>
 #include <apt-pkg/sptr.h>
-
+#include <apt-pkg/acquire-item.h>
     
 #include <apti18n.h>
 #include <sys/types.h>
@@ -1302,3 +1302,77 @@ void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List)
 }
                                                                        /*}}}*/
 
+// CacheFile::ListUpdate - update the cache files                      /*{{{*/
+// ---------------------------------------------------------------------
+/* This is a simple wrapper to update the cache. it will fetch stuff
+ * from the network (or any other sources defined in sources.list)
+ */
+bool ListUpdate(pkgAcquireStatus &Stat, 
+               pkgSourceList &List, 
+               int PulseInterval)
+{
+   pkgAcquire::RunResult res;
+   pkgAcquire Fetcher(&Stat);
+
+   // Populate it with the source selection
+   if (List.GetIndexes(&Fetcher) == false)
+        return false;
+
+   // Run scripts
+   RunScripts("APT::Update::Pre-Invoke");
+   
+   // check arguments
+   if(PulseInterval>0)
+      res = Fetcher.Run(PulseInterval);
+   else
+      res = Fetcher.Run();
+
+   if (res == pkgAcquire::Failed)
+      return false;
+
+   bool Failed = false;
+   bool TransientNetworkFailure = false;
+   for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); 
+       I != Fetcher.ItemsEnd(); I++)
+   {
+      if ((*I)->Status == pkgAcquire::Item::StatDone)
+        continue;
+
+      (*I)->Finished();
+
+      _error->Warning(_("Failed to fetch %s  %s\n"),(*I)->DescURI().c_str(),
+             (*I)->ErrorText.c_str());
+
+      if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) 
+      {
+        TransientNetworkFailure = true;
+        continue;
+      }
+
+      Failed = true;
+   }
+   
+   // Clean out any old list files
+   // Keep "APT::Get::List-Cleanup" name for compatibility, but
+   // this is really a global option for the APT library now
+   if (!TransientNetworkFailure && !Failed &&
+       (_config->FindB("APT::Get::List-Cleanup",true) == true ||
+       _config->FindB("APT::List-Cleanup",true) == true))
+   {
+      if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
+         Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false)
+        // something went wrong with the clean
+        return false;
+   }
+   
+   if (TransientNetworkFailure == true)
+      _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
+   else if (Failed == true)
+      return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
+
+
+   // Run the scripts if all was fine
+   RunScripts("APT::Update::Post-Invoke");
+   return true;
+}
+                                                                       /*}}}*/
index b72874d8e216687c4edfd0474008f730b71b7b16..defaed57d9355aec35834272070f80edcfbfac4c 100644 (file)
@@ -33,6 +33,7 @@
 
 #include <apt-pkg/packagemanager.h>
 #include <apt-pkg/depcache.h>
+#include <apt-pkg/acquire.h>
 
 #include <iostream>
 
@@ -130,5 +131,7 @@ bool pkgAllUpgrade(pkgDepCache &Cache);
 bool pkgMinimizeUpgrade(pkgDepCache &Cache);
 
 void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List);
+
+bool ListUpdate(pkgAcquireStatus &progress, pkgSourceList &List, int PulseInterval=0);
                     
 #endif
index 22eac2f60c1f44289c7ee0b7990fefb5f4eb7070..1a84aea54d5504ed2c0ceb126c2e64f68104290a 100644 (file)
@@ -109,80 +109,6 @@ bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock)
 }
                                                                        /*}}}*/
 
-// CacheFile::ListUpdate - update the cache files                      /*{{{*/
-// ---------------------------------------------------------------------
-/* This is a simple wrapper to update the cache. it will fetch stuff
- * from the network (or any other sources defined in sources.list)
- */
-bool pkgCacheFile::ListUpdate(pkgAcquireStatus &Stat, 
-                             pkgSourceList &List, 
-                             int PulseInterval)
-{
-   pkgAcquire::RunResult res;
-   pkgAcquire Fetcher(&Stat);
-
-   // Populate it with the source selection
-   if (List.GetIndexes(&Fetcher) == false)
-        return false;
-
-   // Run scripts
-   RunScripts("APT::Update::Pre-Invoke");
-   
-   // check arguments
-   if(PulseInterval>0)
-      res = Fetcher.Run(PulseInterval);
-   else
-      res = Fetcher.Run();
-
-   if (res == pkgAcquire::Failed)
-      return false;
-
-   bool Failed = false;
-   bool TransientNetworkFailure = false;
-   for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); 
-       I != Fetcher.ItemsEnd(); I++)
-   {
-      if ((*I)->Status == pkgAcquire::Item::StatDone)
-        continue;
-
-      (*I)->Finished();
-
-      fprintf(stderr,_("Failed to fetch %s  %s\n"),(*I)->DescURI().c_str(),
-             (*I)->ErrorText.c_str());
-
-      if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) 
-      {
-        TransientNetworkFailure = true;
-        continue;
-      }
-
-      Failed = true;
-   }
-   
-   // Clean out any old list files
-   // Keep "APT::Get::List-Cleanup" name for compatibility, but
-   // this is really a global option for the APT library now
-   if (!TransientNetworkFailure && !Failed &&
-       (_config->FindB("APT::Get::List-Cleanup",true) == true ||
-       _config->FindB("APT::List-Cleanup",true) == true))
-   {
-      if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
-         Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false)
-        // something went wrong with the clean
-        return false;
-   }
-   
-   if (TransientNetworkFailure == true)
-      _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
-   else if (Failed == true)
-      return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
-
-
-   // Run the scripts if all was fine
-   RunScripts("APT::Update::Post-Invoke");
-   return true;
-}
-                                                                       /*}}}*/
 
 // CacheFile::Close - close the cache files                            /*{{{*/
 // ---------------------------------------------------------------------
index 8408af996565cae285ffc864c7ecc73aee0fc11d..3b057951c81fdfa5dff93809ec6ef3979e396a5e 100644 (file)
@@ -47,7 +47,6 @@ class pkgCacheFile
 
    bool BuildCaches(OpProgress &Progress,bool WithLock = true);
    bool Open(OpProgress &Progress,bool WithLock = true);
-   bool ListUpdate(pkgAcquireStatus &progress, pkgSourceList &List, int PulseInterval=0);
    void Close();
    
    pkgCacheFile();
index 5f46dd605a95e7816eaac1a25a28c27503b20f23..258133c194b711b9bc2137060e9af5755a6516ce 100644 (file)
@@ -1374,7 +1374,7 @@ bool DoUpdate(CommandLine &CmdL)
 
    // do the work
    CacheFile Cache;
-   bool res = Cache.ListUpdate(Stat, List);
+   bool res = ListUpdate(Stat, List);
      
    // Rebuild the cache.   
    if (Cache.BuildCaches() == false)
index ee5384c42a78d8393eea31c54e668f523467ec15..9f78d591680d70e81b8393555fbaab4a6023d6c3 100644 (file)
@@ -50,7 +50,7 @@ apt (0.7.10) UNRELEASED; urgency=low
   * debian/control:
     - build against libdb-dev (instead of libdb4.4-dev)
   * merged the apt--DoListUpdate branch, this provides a common interface
-    for apt-get update like operations for the frontends and also provides
+    for "apt-get update" like operations for the frontends and also provides
     hooks to run stuff in APT::Update::{Pre,Post}-Invoke
 
   [ Chris Cheney ]