diff -Nru python3-stdlib-extensions-3.8.5/3.7/Lib/distutils/tests/test_build_ext.py python3-stdlib-extensions-3.8.6/3.7/Lib/distutils/tests/test_build_ext.py --- python3-stdlib-extensions-3.8.5/3.7/Lib/distutils/tests/test_build_ext.py 2020-06-27 08:35:53.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.7/Lib/distutils/tests/test_build_ext.py 2020-08-15 05:20:16.000000000 +0000 @@ -470,7 +470,7 @@ # format the target value as defined in the Apple # Availability Macros. We can't use the macro names since # at least one value we test with will not exist yet. - if target[1] < 10: + if target[:2] < (10, 10): # for 10.1 through 10.9.x -> "10n0" target = '%02d%01d0' % target else: diff -Nru python3-stdlib-extensions-3.8.5/3.8/Lib/tkinter/__init__.py python3-stdlib-extensions-3.8.6/3.8/Lib/tkinter/__init__.py --- python3-stdlib-extensions-3.8.5/3.8/Lib/tkinter/__init__.py 2020-07-20 13:01:32.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.8/Lib/tkinter/__init__.py 2020-09-23 12:36:32.000000000 +0000 @@ -146,10 +146,10 @@ class EventType(str, enum.Enum): KeyPress = '2' - Key = KeyPress, + Key = KeyPress KeyRelease = '3' ButtonPress = '4' - Button = ButtonPress, + Button = ButtonPress ButtonRelease = '5' Motion = '6' Enter = '7' @@ -180,10 +180,10 @@ Colormap = '32' ClientMessage = '33' # undocumented Mapping = '34' # undocumented - VirtualEvent = '35', # undocumented - Activate = '36', - Deactivate = '37', - MouseWheel = '38', + VirtualEvent = '35' # undocumented + Activate = '36' + Deactivate = '37' + MouseWheel = '38' def __str__(self): return self.name @@ -3963,7 +3963,7 @@ if 'command' in kwargs: del kwargs['command'] if kwargs: - raise TclError('unknown option -'+kwargs.keys()[0]) + raise TclError('unknown option -'+next(iter(kwargs))) menu.add_command(label=value, command=_setit(variable, value, callback)) for v in values: diff -Nru python3-stdlib-extensions-3.8.5/3.8/Lib/tkinter/test/test_tkinter/test_widgets.py python3-stdlib-extensions-3.8.6/3.8/Lib/tkinter/test/test_tkinter/test_widgets.py --- python3-stdlib-extensions-3.8.5/3.8/Lib/tkinter/test/test_tkinter/test_widgets.py 2020-07-20 13:01:32.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.8/Lib/tkinter/test/test_tkinter/test_widgets.py 2020-09-23 12:36:32.000000000 +0000 @@ -307,6 +307,10 @@ def create(self, default='b', values=('a', 'b', 'c'), **kwargs): return tkinter.OptionMenu(self.root, None, default, *values, **kwargs) + def test_bad_kwarg(self): + with self.assertRaisesRegex(TclError, r"^unknown option -image$"): + tkinter.OptionMenu(self.root, None, 'b', image='') + @add_standard_options(IntegerSizeTests, StandardOptionsTests) class EntryTest(AbstractWidgetTest, unittest.TestCase): diff -Nru python3-stdlib-extensions-3.8.5/3.9/Lib/distutils/spawn.py python3-stdlib-extensions-3.8.6/3.9/Lib/distutils/spawn.py --- python3-stdlib-extensions-3.8.5/3.9/Lib/distutils/spawn.py 2020-07-02 17:57:45.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.9/Lib/distutils/spawn.py 2020-10-05 15:07:58.000000000 +0000 @@ -71,9 +71,15 @@ env = dict(os.environ, MACOSX_DEPLOYMENT_TARGET=cur_target) - proc = subprocess.Popen(cmd, env=env) - proc.wait() - exitcode = proc.returncode + try: + proc = subprocess.Popen(cmd, env=env) + proc.wait() + exitcode = proc.returncode + except OSError as exc: + if not DEBUG: + cmd = cmd[0] + raise DistutilsExecError( + "command %r failed: %s" % (cmd, exc.args[-1])) from exc if exitcode: if not DEBUG: diff -Nru python3-stdlib-extensions-3.8.5/3.9/Lib/distutils/tests/test_spawn.py python3-stdlib-extensions-3.8.6/3.9/Lib/distutils/tests/test_spawn.py --- python3-stdlib-extensions-3.8.5/3.9/Lib/distutils/tests/test_spawn.py 2020-07-02 17:57:45.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.9/Lib/distutils/tests/test_spawn.py 2020-10-05 15:07:58.000000000 +0000 @@ -124,6 +124,11 @@ rv = find_executable(program) self.assertEqual(rv, filename) + def test_spawn_missing_exe(self): + with self.assertRaises(DistutilsExecError) as ctx: + spawn(['does-not-exist']) + self.assertIn("command 'does-not-exist' failed", str(ctx.exception)) + def test_suite(): return unittest.makeSuite(SpawnTestCase) diff -Nru python3-stdlib-extensions-3.8.5/3.9/Lib/tkinter/__init__.py python3-stdlib-extensions-3.8.6/3.9/Lib/tkinter/__init__.py --- python3-stdlib-extensions-3.8.5/3.9/Lib/tkinter/__init__.py 2020-07-02 17:57:45.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.9/Lib/tkinter/__init__.py 2020-10-05 15:07:58.000000000 +0000 @@ -3965,7 +3965,7 @@ if 'command' in kwargs: del kwargs['command'] if kwargs: - raise TclError('unknown option -'+kwargs.keys()[0]) + raise TclError('unknown option -'+next(iter(kwargs))) menu.add_command(label=value, command=_setit(variable, value, callback)) for v in values: diff -Nru python3-stdlib-extensions-3.8.5/3.9/Lib/tkinter/test/test_tkinter/test_widgets.py python3-stdlib-extensions-3.8.6/3.9/Lib/tkinter/test/test_tkinter/test_widgets.py --- python3-stdlib-extensions-3.8.5/3.9/Lib/tkinter/test/test_tkinter/test_widgets.py 2020-07-02 17:57:45.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/3.9/Lib/tkinter/test/test_tkinter/test_widgets.py 2020-10-05 15:07:58.000000000 +0000 @@ -307,6 +307,10 @@ def create(self, default='b', values=('a', 'b', 'c'), **kwargs): return tkinter.OptionMenu(self.root, None, default, *values, **kwargs) + def test_bad_kwarg(self): + with self.assertRaisesRegex(TclError, r"^unknown option -image$"): + tkinter.OptionMenu(self.root, None, 'b', image='') + @add_standard_options(IntegerSizeTests, StandardOptionsTests) class EntryTest(AbstractWidgetTest, unittest.TestCase): diff -Nru python3-stdlib-extensions-3.8.5/debian/changelog python3-stdlib-extensions-3.8.6/debian/changelog --- python3-stdlib-extensions-3.8.5/debian/changelog 2020-08-10 12:24:47.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/debian/changelog 2020-10-09 12:11:10.000000000 +0000 @@ -1,9 +1,15 @@ -python3-stdlib-extensions (3.8.5-1~20.04.1) focal-proposed; urgency=medium +python3-stdlib-extensions (3.8.6-1~20.04) focal-proposed; urgency=medium - * SRU: LP: #1889218. Backport Python 3.8.5 to 20.04 LTS. - * Build as well for 3.9, except on i386. + * SRU: LP: #1899159. Backport Python 3.8.6 to 20.04 LTS. - -- Matthias Klose Mon, 10 Aug 2020 14:24:47 +0200 + -- Matthias Klose Fri, 09 Oct 2020 14:11:10 +0200 + +python3-stdlib-extensions (3.8.6-1) unstable; urgency=medium + + * Update 3.8 extensions and modules to the 3.8.6 release. + * Update 3.9 extensions and modules to the 3.9.0 release. + + -- Matthias Klose Mon, 05 Oct 2020 23:26:38 +0200 python3-stdlib-extensions (3.8.5-1) unstable; urgency=medium diff -Nru python3-stdlib-extensions-3.8.5/debian/control python3-stdlib-extensions-3.8.6/debian/control --- python3-stdlib-extensions-3.8.5/debian/control 2020-08-07 14:52:13.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/debian/control 2020-07-07 13:25:39.000000000 +0000 @@ -11,10 +11,10 @@ libpython3.8-dbg, python3.8-dev:any, python3.8-dbg:any, - libpython3.9-dev [!i386], - libpython3.9-dbg [!i386], - python3.9-dev:any [!i386], - python3.9-dbg:any [!i386], + libpython3.9-dev, + libpython3.9-dbg, + python3.9-dev:any, + python3.9-dbg:any, tk-dev, blt-dev (>= 2.4z-9), libgdbm-dev Build-Conflicts: tcl8.4-dev, tk8.4-dev, tcl8.5-dev, tk8.5-dev Standards-Version: 4.5.0 diff -Nru python3-stdlib-extensions-3.8.5/debian/rules python3-stdlib-extensions-3.8.6/debian/rules --- python3-stdlib-extensions-3.8.5/debian/rules 2020-08-07 15:34:00.000000000 +0000 +++ python3-stdlib-extensions-3.8.6/debian/rules 2020-07-07 17:11:23.000000000 +0000 @@ -15,9 +15,6 @@ PYVERS = $(shell py3versions -vs) PYVERS = 3.8 3.9 -ifeq ($(DEB_HOST_ARCH),i386) - PYVERS = 3.8 -endif MIN_VER = 3.8.2-0~ @@ -141,14 +138,14 @@ ) >> debian/python3-lib2to3.substvars else ( \ - echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.9)'; \ - echo 'python3:Versions=3.8'; \ - echo 'python3:Provides=python3.8-distutils'; \ + echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.10)'; \ + echo 'python3:Versions=3.9'; \ + echo 'python3:Provides=python3.9-distutils'; \ ) >> debian/python3-distutils.substvars ( \ - echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.9)'; \ - echo 'python3:Versions=3.8'; \ - echo 'python3:Provides=python3.8-lib2to3'; \ + echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.10)'; \ + echo 'python3:Versions=3.9'; \ + echo 'python3:Provides=python3.9-lib2to3'; \ ) >> debian/python3-lib2to3.substvars endif dh_lintian -i @@ -177,7 +174,7 @@ ln -s $(p_tk) $(d_tk)-dbg/usr/share/doc/$(p_tk)-dbg dh_strip -p$(p_gdbm) --dbg-package=$(p_gdbm)-dbg dh_strip -p$(p_tk) --dbg-package=$(p_tk)-dbg -ifneq ($(DEB_HOST_ARCH),i386) +ifeq (1,1) ( \ echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.10)'; \ echo 'python3:Versions=3.8, 3.9'; \ @@ -190,14 +187,14 @@ ) >> debian/python3-tk.substvars else ( \ - echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.9)'; \ - echo 'python3:Versions=3.8'; \ - echo 'python3:Provides=python3.8-gdbm'; \ + echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.10)'; \ + echo 'python3:Versions=3.9'; \ + echo 'python3:Provides=python3.9-gdbm'; \ ) >> debian/python3-gdbm.substvars ( \ - echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.9)'; \ - echo 'python3:Versions=3.8'; \ - echo 'python3:Provides=python3.8-tk'; \ + echo 'python3:Depends=python3 (>= $(MIN_VER)), python3 (<< 3.10)'; \ + echo 'python3:Versions=3.9'; \ + echo 'python3:Provides=python3.9-tk'; \ ) >> debian/python3-tk.substvars endif dh_lintian -a