#include <sys/types.h>
#include <pwd.h>
#include <fcntl.h>
+#ifdef HAVE_VFS_H
#include <sys/vfs.h>
+#else
+#ifdef HAVE_PARAMS_H
+#include <sys/params.h>
+#endif
+#include <sys/mount.h>
+#endif
#include <sys/statvfs.h>
+#include <sys/stat.h>
#include <errno.h>
#include <apti18n.h>
if (_config->FindI("quiet",0) < 2
&& _config->FindB("APT::Get::Assume-Yes",false) == false)
{
- c2out << _("Install these packages without verification?") << std::flush;
- if (!YnPrompt(false))
+ if (!YnPrompt(_("Install these packages without verification?"), false))
return _error->Error(_("Some packages could not be authenticated"));
return true;
uri.User.clear();
uri.Password.clear();
std::string descUri = std::string(uri);
- _error->Error(_("Failed to fetch %s %s\n"), descUri.c_str(),
+ _error->Error(_("Failed to fetch %s %s"), descUri.c_str(),
(*I)->ErrorText.c_str());
if (Failure != NULL)
{
struct statfs Stat;
if (statfs(Dir.c_str(),&Stat) != 0
-#if HAVE_STRUCT_STATFS_F_TYPE
+#ifdef HAVE_STRUCT_STATFS_F_TYPE
|| Stat.f_type != RAMFS_MAGIC
#endif
)
std::ifstream src((*I)->DestFile.c_str(), std::ios::binary);
std::ofstream dst(filename.c_str(), std::ios::binary);
dst << src.rdbuf();
+ chmod(filename.c_str(), 0644);
}
}
return Failed == false;
bool const downOnly = _config->FindB("APT::Get::Download-Only", false);
bool const printOnly = _config->FindB("APT::Get::Print-URIs", false);
+ if (printOnly)
+ _config->CndSet("Acquire::Changelogs::AlwaysOnline", true);
aptAcquireWithTextStatus Fetcher;
for (APT::VersionList::const_iterator Ver = verset.begin();
}
pkgAcquire Fetcher;
- Fetcher.GetLock(archivedir);
- Fetcher.Clean(archivedir);
- Fetcher.Clean(archivedir + "partial/");
+ if (archivedir.empty() == false && FileExists(archivedir) == true &&
+ Fetcher.GetLock(archivedir) == true)
+ {
+ Fetcher.Clean(archivedir);
+ Fetcher.Clean(archivedir + "partial/");
+ }
- Fetcher.GetLock(listsdir);
- Fetcher.Clean(listsdir + "partial/");
+ if (listsdir.empty() == false && FileExists(listsdir) == true &&
+ Fetcher.GetLock(listsdir) == true)
+ {
+ Fetcher.Clean(listsdir + "partial/");
+ }
pkgCacheFile::RemoveCaches();
c1out << "Del " << Pkg << " " << Ver << " [" << SizeToStr(St.st_size) << "B]" << std::endl;
if (_config->FindB("APT::Get::Simulate") == false)
- unlink(File);
+ RemoveFile("Cleaner::Erase", File);
};
};
bool DoAutoClean(CommandLine &)
{
+ std::string const archivedir = _config->FindDir("Dir::Cache::Archives");
+ if (FileExists(archivedir) == false)
+ return true;
+
// Lock the archive directory
FileFd Lock;
if (_config->FindB("Debug::NoLocking",false) == false)
{
- int lock_fd = GetLock(_config->FindDir("Dir::Cache::Archives") + "lock");
+ int lock_fd = GetLock(flCombine(archivedir, "lock"));
if (lock_fd < 0)
return _error->Error(_("Unable to lock the download directory"));
Lock.Fd(lock_fd);
LogCleaner Cleaner;
- return Cleaner.Go(_config->FindDir("Dir::Cache::archives"),*Cache) &&
- Cleaner.Go(_config->FindDir("Dir::Cache::archives") + "partial/",*Cache);
+ return Cleaner.Go(archivedir, *Cache) &&
+ Cleaner.Go(flCombine(archivedir, "partial/"), *Cache);
}
/*}}}*/