Enforce --force-confold during apt upgrade (#614)

* Enforce --force-confold during apt upgrade
* Update src/yunohost/tools.py
Co-Authored-By: alexAubin <alex.aubin@mailoo.org>
* Not sure why but every piece of information about confold also set confdef :/
* Export DEBIAN_FRONTEND="noninteractive" during upgrade
This commit is contained in:
Alexandre Aubin 2019-01-17 02:10:51 +01:00 committed by Alexandre Aubin
parent bda028f2b2
commit 9caa771428

View file

@ -521,6 +521,11 @@ def tools_upgrade(operation_logger, auth, ignore_apps=False, ignore_packages=Fal
is_api = True if msettings.get('interface') == 'api' else False
if not ignore_packages:
apt.apt_pkg.init()
apt.apt_pkg.config.set("DPkg::Options::", "--force-confdef")
apt.apt_pkg.config.set("DPkg::Options::", "--force-confold")
cache = apt.Cache()
cache.open(None)
cache.upgrade(True)
@ -549,6 +554,7 @@ def tools_upgrade(operation_logger, auth, ignore_apps=False, ignore_packages=Fal
operation_logger.start()
try:
os.environ["DEBIAN_FRONTEND"] = "noninteractive"
# Apply APT changes
# TODO: Logs output for the API
cache.commit(apt.progress.text.AcquireProgress(),
@ -561,6 +567,8 @@ def tools_upgrade(operation_logger, auth, ignore_apps=False, ignore_packages=Fal
else:
logger.info(m18n.n('done'))
operation_logger.success()
finally:
del os.environ["DEBIAN_FRONTEND"]
else:
logger.info(m18n.n('packages_no_upgrade'))