summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/Client/Debian.py9
-rwxr-xr-xsrc/sbin/bcfg22
2 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/Client/Debian.py b/src/lib/Client/Debian.py
index 2ad28f08f..4c13443f0 100644
--- a/src/lib/Client/Debian.py
+++ b/src/lib/Client/Debian.py
@@ -23,11 +23,10 @@ class ToolsetImpl(Bcfg2.Client.Toolset.Toolset):
null = open('/dev/null', 'w+')
os.dup2(null.fileno(), sys.__stdin__.fileno())
if not self.setup['dryrun']:
- self.saferun("dpkg --force-confold --configure -a")
- if not self.setup['build']:
- self.saferun("/usr/sbin/dpkg-reconfigure -f noninteractive debconf < /dev/null")
- self.saferun("apt-get clean")
- self.saferun("apt-get -q=2 -y update")
+ if self.setup['kevlar']:
+ self.saferun("dpkg --force-confold --configure --pending")
+ self.saferun("apt-get clean")
+ self.saferun("apt-get -q=2 -y update")
self.installed = {}
self.pkgwork = {'add':[], 'update':[], 'remove':[]}
for pkg in [cpkg for cpkg in self.cfg.findall(".//Package") if not cpkg.attrib.has_key('type')]:
diff --git a/src/sbin/bcfg2 b/src/sbin/bcfg2
index 299807b18..aa8b0b8a3 100755
--- a/src/sbin/bcfg2
+++ b/src/sbin/bcfg2
@@ -59,6 +59,8 @@ class Client:
False, ('communication', 'password'), 'password', False),
'retries': (('-R', '<numretries>', 'the number of times to retry network communication'),
False, ('communication', 'retries'), '3', False),
+ 'kevlar': (('-k', False, "run in kevlar (bulletproof) mode"),
+ False, False, False, True),
}
self.setup = Bcfg2.Options.OptionParser('bcfg2', optinfo).parse()