do not call resolver twice on (dist-)upgrade
[ntk/apt.git] / apt-private / private-install.h
CommitLineData
b9179170
MV
1#ifndef APT_PRIVATE_INSTALL_H
2#define APT_PRIVATE_INSTALL_H
3
453b82a3
DK
4#include <apt-pkg/cachefile.h>
5#include <apt-pkg/configuration.h>
453b82a3
DK
6#include <apt-pkg/pkgcache.h>
7#include <apt-pkg/cacheiterators.h>
b9179170 8#include <apt-pkg/cacheset.h>
63ff4208
DK
9#include <apt-pkg/macros.h>
10
453b82a3 11#include <list>
453b82a3
DK
12#include <string>
13#include <utility>
b9179170 14
453b82a3
DK
15class CacheFile;
16class CommandLine;
4d695011 17class pkgProblemResolver;
453b82a3 18
b9179170
MV
19#define RAMFS_MAGIC 0x858458f6
20
63ff4208 21APT_PUBLIC bool DoInstall(CommandLine &Cmd);
b9179170 22
d8a8f9d7 23bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, CacheFile &Cache,
172947cd
DK
24 std::map<unsigned short, APT::VersionSet> &verset, int UpgradeMode);
25bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, CacheFile &Cache, int UpgradeMode);
b9179170 26
63ff4208 27APT_PUBLIC bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
b9179170
MV
28 bool Safety = true);
29
30
31// TryToInstall - Mark a package for installation /*{{{*/
4d695011 32struct APT_PUBLIC TryToInstall {
b9179170
MV
33 pkgCacheFile* Cache;
34 pkgProblemResolver* Fix;
35 bool FixBroken;
36 unsigned long AutoMarkChanged;
37 APT::PackageSet doAutoInstallLater;
38
39 TryToInstall(pkgCacheFile &Cache, pkgProblemResolver *PM, bool const FixBroken) : Cache(&Cache), Fix(PM),
40 FixBroken(FixBroken), AutoMarkChanged(0) {};
41
4d695011
DK
42 void operator() (pkgCache::VerIterator const &Ver);
43 bool propergateReleaseCandiateSwitching(std::list<std::pair<pkgCache::VerIterator, std::string> > const &start, std::ostream &out);
44 void doAutoInstall();
b9179170
MV
45};
46 /*}}}*/
47// TryToRemove - Mark a package for removal /*{{{*/
4d695011 48struct APT_PUBLIC TryToRemove {
b9179170
MV
49 pkgCacheFile* Cache;
50 pkgProblemResolver* Fix;
51 bool PurgePkgs;
52
53 TryToRemove(pkgCacheFile &Cache, pkgProblemResolver *PM) : Cache(&Cache), Fix(PM),
54 PurgePkgs(_config->FindB("APT::Get::Purge", false)) {};
55
4d695011 56 void operator() (pkgCache::VerIterator const &Ver);
b9179170
MV
57};
58 /*}}}*/
59
60
61#endif