Skip to content

Commit b908b17

Browse files
committed
u-u: import "email.genators" package early as workaround
This commit works around an issue when python itself is upgraded by u-u and the content of email.message now needs a newer email.errors but u-u already (implicitely) loaded that module so there is a old version in sys.modules. So instead import email.generators early so that it is available in memory and there is no mismatch. See python/cpython#124170 and https://bugs.launchpad.net/ubuntu/+source/python3.8/+bug/2080940 for details. Unfortunately while this commit fixes the autopkgtest failure that is now triggered by this the real issue that the users see is not fixed because the "old" unattended-upgrades will perform the upgrade and it will upgrade both the problematic python and the fixed u-u but because u-u does not re-exec the "old" u-u still runs and the fixed code from u-u will not be used. Thanks to Julian Klode for his excellent analysis.
1 parent edb2f8b commit b908b17

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

unattended-upgrade

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ import copy
2828
import datetime
2929
import errno
3030
import email.charset
31+
# workaround LP:2080940, email.errors changes as part of a security
32+
# update in python itself but is lazy loaded so import early to ensure
33+
import email.generator
3134
import fcntl
3235
import fnmatch
3336
import gettext

0 commit comments

Comments
 (0)