The bootstrap tasks fail on fedora 41 and 42 (they run bootstrap and build), which have already upgraded to python 3.13.
```
Error running mach:
mach --no-interactive bootstrap --application-choice browser
The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke ``./mach busted`` to check if this issue is already on file. If it
isn't, please use ``./mach busted file bootstrap`` to report it. If ``./mach busted`` is
misbehaving, you can also inspect the dependencies of bug 1543241.
If filing a bug, please include the full output of mach, including this error
message.
The details of the failure are as follows:
TypeError: urlopen() got an unexpected keyword argument 'cafile'
File "/mozilla-unified/python/mozboot/mozboot/mach_commands.py", line 50, in bootstrap
bootstrapper.bootstrap(command_context.settings)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mozilla-unified/python/mozboot/mozboot/bootstrap.py", line 455, in bootstrap
self.instance.ensure_rust_modern()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/mozilla-unified/python/mozboot/mozboot/base.py", line 633, in ensure_rust_modern
self.install_rust()
~~~~~~~~~~~~~~~~~^^
File "/mozilla-unified/python/mozboot/mozboot/base.py", line 702, in install_rust
http_download_and_save(url, rustup_init, checksum)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mozilla-unified/python/mozboot/mozboot/util.py", line 37, in http_download_and_save
f = urlopen(url, cafile=certifi.where())
```
The urlopen documentation for python 3.13 says:
> Changed in version 3.13: Remove cafile, capath and cadefault parameters: use the context parameter instead.
The context parameter was added to python 3.4.3, so we can safely switch.
Bug 1924022 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
The bootstrap tasks (they run bootstrap and build) fail on fedora 41 and 42, which have already upgraded to python 3.13.
```
Error running mach:
mach --no-interactive bootstrap --application-choice browser
The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke ``./mach busted`` to check if this issue is already on file. If it
isn't, please use ``./mach busted file bootstrap`` to report it. If ``./mach busted`` is
misbehaving, you can also inspect the dependencies of bug 1543241.
If filing a bug, please include the full output of mach, including this error
message.
The details of the failure are as follows:
TypeError: urlopen() got an unexpected keyword argument 'cafile'
File "/mozilla-unified/python/mozboot/mozboot/mach_commands.py", line 50, in bootstrap
bootstrapper.bootstrap(command_context.settings)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mozilla-unified/python/mozboot/mozboot/bootstrap.py", line 455, in bootstrap
self.instance.ensure_rust_modern()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/mozilla-unified/python/mozboot/mozboot/base.py", line 633, in ensure_rust_modern
self.install_rust()
~~~~~~~~~~~~~~~~~^^
File "/mozilla-unified/python/mozboot/mozboot/base.py", line 702, in install_rust
http_download_and_save(url, rustup_init, checksum)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mozilla-unified/python/mozboot/mozboot/util.py", line 37, in http_download_and_save
f = urlopen(url, cafile=certifi.where())
```
The urlopen documentation for python 3.13 says:
> Changed in version 3.13: Remove cafile, capath and cadefault parameters: use the context parameter instead.
The context parameter was added to python 3.4.3, so we can safely switch.