diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Client/Debian.py | 9 | ||||
-rwxr-xr-x | src/sbin/bcfg2 | 2 |
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() |