diff options
Diffstat (limited to 'src/lib/Client/Tools')
-rw-r--r-- | src/lib/Client/Tools/APT.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/Client/Tools/APT.py b/src/lib/Client/Tools/APT.py index 269250f4b..89e01aaac 100644 --- a/src/lib/Client/Tools/APT.py +++ b/src/lib/Client/Tools/APT.py @@ -27,6 +27,7 @@ class APT(Bcfg2.Client.Tools.PkgTool): os.environ["DEBIAN_FRONTEND"] = 'noninteractive' self.installed = {} self.RefreshPackages() + self.updated = False def RefreshPackages(self): '''Refresh memory hashes of packages''' @@ -98,9 +99,9 @@ class APT(Bcfg2.Client.Tools.PkgTool): self.extra = self.FindExtraPackages() def Install(self, packages): - if not self.setup['dryrun']: - if self.setup['kevlar']: - self.cmd.run("dpkg --force-confold --configure --pending") - self.cmd.run("apt-get clean") - self.cmd.run("apt-get -q=2 -y update") + if self.setup['kevlar'] and not self.setup['dryrun'] and not self.updated: + self.cmd.run("dpkg --force-confold --configure --pending") + self.cmd.run("apt-get clean") + self.cmd.run("apt-get -q=2 -y update") + self.updated = True Bcfg2.Client.Tools.PkgTool.Install(self, packages) |