diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-12-14 03:21:20 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-12-14 03:21:20 +0100 |
commit | dffc17ba835b6bf782fe553d338b6a921c6de7bf (patch) | |
tree | ac162b8d0b85f98d1ca0537171bc157064d4df72 /apt-pkg/clean.cc | |
parent | 27e4c1664a93bdce20de62a984e51d56671690ce (diff) |
non-existing directories don't need to be cleaned
Trying to clean up directories which do not exist seems rather silly if
you think about it, so let apt think about it and stop it.
Depends a bit on the caller if this is fixing anything for them as they
might try to acquire a lock or doing other clever things as apt does.
Closes: 807477
Diffstat (limited to 'apt-pkg/clean.cc')
-rw-r--r-- | apt-pkg/clean.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/apt-pkg/clean.cc b/apt-pkg/clean.cc index 8e6bd6255..fe57c26a2 100644 --- a/apt-pkg/clean.cc +++ b/apt-pkg/clean.cc @@ -38,6 +38,11 @@ bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache) if(Dir == "/") return _error->Error(_("Clean of %s is not supported"), Dir.c_str()); + // non-existing directories are always clean + // we do not check for a directory explicitly to support symlinks + if (FileExists(Dir) == false) + return true; + DIR *D = opendir(Dir.c_str()); if (D == 0) return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); |