summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-16 02:35:00 +0100
committerAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-30 05:03:22 +0100
commitaac1945e6a4a2a94736e2a2ff7a761121cb65a19 (patch)
tree90b46fc0e05ff7443b4c12bf51e833766018de04
parente474ff29aae4990c77dd47500ede0ddee248b748 (diff)
downloadbcfg2-aac1945e6a4a2a94736e2a2ff7a761121cb65a19.tar.gz
bcfg2-aac1945e6a4a2a94736e2a2ff7a761121cb65a19.tar.bz2
bcfg2-aac1945e6a4a2a94736e2a2ff7a761121cb65a19.zip
debconf: Save current_value for reporting
-rw-r--r--src/lib/Bcfg2/Client/Tools/Debconf.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/Debconf.py b/src/lib/Bcfg2/Client/Tools/Debconf.py
index 76d745610..0d286028b 100644
--- a/src/lib/Bcfg2/Client/Tools/Debconf.py
+++ b/src/lib/Bcfg2/Client/Tools/Debconf.py
@@ -68,10 +68,9 @@ class Debconf(Bcfg2.Client.Tools.Tool):
def VerifyConf(self, entry, _modlist):
""" Verify the given Debconf entry. """
- (_, value) = self.debconf_get(entry.get('name'))
- if value != entry.get('value'):
- return False
- return True
+ (_, current_value) = self.debconf_get(entry.get('name'))
+ entry.set('current_value', current_value)
+ return current_value == entry.get('value')
def InstallConf(self, entry):
""" Install the given Debconf entry. """
@@ -98,7 +97,7 @@ class Debconf(Bcfg2.Client.Tools.Tool):
def FindExtra(self):
specified = [entry.get('name')
for entry in self.getSupportedEntries()]
- extra = set()
+ extra = dict()
listowners = self.cmd.run(['/usr/bin/debconf-show', '--listowners'])
if listowners.success:
owners = listowners.stdout.splitlines()
@@ -106,9 +105,10 @@ class Debconf(Bcfg2.Client.Tools.Tool):
values = self.cmd.run(['/usr/bin/debconf-show'] + owners)
for line in values.stdout.splitlines():
if len(line) > 2 and line[0] == '*':
- (name, value) = line[2:].split(':', 2)
- if name not in specified:
- extra.add(name)
- return [Bcfg2.Client.XML.Element('Conf', name=name, type='debconf')
- for name in list(extra)]
+ (name, current_value) = line[2:].split(':', 2)
+ if name not in specified and name not in extra:
+ extra[name] = Bcfg2.Client.XML.Element(
+ 'Conf', name=name, type='debconf',
+ current_value=current_value[1:])
+ return extra.values()
FindExtra.__doc__ = Bcfg2.Client.Tools.Tool.FindExtra.__doc__