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 argparse
import os import os
import subprocess import subprocess
import tempfile
import augeas import augeas
from plinth import action_utils from plinth import action_utils
@ -159,11 +160,12 @@ Owners: {package}
override_data += override_template.format( override_data += override_template.format(
package=package, key=key, value=value) 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) override_file.write(override_data)
env = os.environ.copy() 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' env['DEBIAN_FRONTEND'] = 'noninteractive'
subprocess.run(['dpkg-reconfigure', package], env=env) subprocess.run(['dpkg-reconfigure', package], env=env)