Use NamedTemporaryFile for debconf override db

This commit is contained in:
James Valleroy 2016-06-18 11:19:11 -04:00 committed by Sunil Mohan Adapa
parent 956416ef37
commit 6c3d3888c1
No known key found for this signature in database
GPG Key ID: 36C361440C9BC971

View File

@ -24,6 +24,7 @@ Configuration helper for the LDAP user directory
import argparse
import os
import subprocess
import tempfile
import augeas
from plinth import action_utils
@ -159,11 +160,12 @@ Owners: {package}
override_data += override_template.format(
package=package, key=key, value=value)
with open('/tmp/override.dat', 'w') as override_file:
with tempfile.NamedTemporaryFile(mode='w', delete=False) as override_file:
override_file.write(override_data)
env = os.environ.copy()
env['DEBCONF_DB_OVERRIDE'] = 'File{/tmp/override.dat readonly:true}'
env['DEBCONF_DB_OVERRIDE'] = 'File{' + override_file.name + \
' readonly:true}'
env['DEBIAN_FRONTEND'] = 'noninteractive'
subprocess.run(['dpkg-reconfigure', package], env=env)