diff options
Diffstat (limited to 'apt-private/private-cacheset.cc')
-rw-r--r-- | apt-private/private-cacheset.cc | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/apt-private/private-cacheset.cc b/apt-private/private-cacheset.cc index 6fb224010..4a63c7e81 100644 --- a/apt-private/private-cacheset.cc +++ b/apt-private/private-cacheset.cc @@ -1,9 +1,18 @@ +#include <config.h> + #include <apt-pkg/cachefile.h> #include <apt-pkg/pkgcache.h> #include <apt-pkg/depcache.h> -#include <apt-pkg/strutl.h> +#include <apt-pkg/cacheiterators.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/progress.h> +#include <apt-pkg/policy.h> + +#include <apt-private/private-cacheset.h> + +#include <stddef.h> -#include "private-cacheset.h" +#include <apti18n.h> bool GetLocalitySortedVersionSet(pkgCacheFile &CacheFile, LocalitySortedVersionSet &output_set, @@ -52,6 +61,15 @@ bool GetLocalitySortedVersionSet(pkgCacheFile &CacheFile, output_set.insert(policy->GetCandidateVer(P)); } } + else if (_config->FindB("APT::Cmd::Manual-Installed") == true) + { + if (P.CurrentVer() && + ((*DepCache)[P].Flags & pkgCache::Flag::Auto) == false) + { + pkgPolicy *policy = CacheFile.GetPolicy(); + output_set.insert(policy->GetCandidateVer(P)); + } + } else { pkgPolicy *policy = CacheFile.GetPolicy(); |