]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/cachefile.cc
correctly ignore already (un)hold packages
[apt.git] / apt-pkg / cachefile.cc
index 01598386c9627a5ba0c06f4cc6b14084e353513f..1b8d91a44951b31c37c1d9fcb112c8c77af437b9 100644 (file)
@@ -12,6 +12,8 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
+#include <config.h>
+
 #include <apt-pkg/cachefile.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/sourcelist.h>
 #include <apt-pkg/pkgsystem.h>
 #include <apt-pkg/acquire-item.h>
 #include <apt-pkg/fileutl.h>
-    
+#include <apt-pkg/progress.h>
+
 #include <apti18n.h>
                                                                        /*}}}*/
 // CacheFile::CacheFile - Constructor                                  /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 pkgCacheFile::pkgCacheFile() : Map(NULL), Cache(NULL), DCache(NULL),
-                               Policy(NULL), SrcList(NULL)
+                               SrcList(NULL), Policy(NULL)
 {
 }
                                                                        /*}}}*/
@@ -163,6 +166,20 @@ bool pkgCacheFile::Open(OpProgress *Progress, bool WithLock)
    return true;
 }
                                                                        /*}}}*/
+// CacheFile::RemoveCaches - remove all cache files from disk          /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void pkgCacheFile::RemoveCaches()
+{
+   std::string const pkgcache = _config->FindFile("Dir::cache::pkgcache");
+   std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache");
+
+   if (pkgcache.empty() == false && RealFileExists(pkgcache) == true)
+      unlink(pkgcache.c_str());
+   if (srcpkgcache.empty() == false && RealFileExists(srcpkgcache) == true)
+      unlink(srcpkgcache.c_str());
+}
+                                                                       /*}}}*/
 // CacheFile::Close - close the cache files                            /*{{{*/
 // ---------------------------------------------------------------------
 /* */