summaryrefslogtreecommitdiffstats
path: root/src/lib/Client/Tools/APT.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Client/Tools/APT.py')
-rw-r--r--src/lib/Client/Tools/APT.py11
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)