-
Type: Epic
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: NoFixVersionApplicable
-
Fix Version/s: 4.5.0
-
Component/s: Packaging / Build
-
Release Notes Summary:macOS Big Sur support
-
Release Notes Description:
-
Tags:
-
Story Points:13
-
Completion Level (0 to 5):5
Epic to track the new macOS version, Big Sur, support.
We can bet there will be issues, as always when Apple move forward.
For instance, I am aware of that breaking change:
New in macOS Big Sur 11 beta, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check for the library in the cache. (62986286)
As seen here.
So let's see what patches are needed in third-party modules to have a full support of that new version. Some interesting articles can be found on Mr. MacIntosh.
Note: for now, nobody in the team has that version installed, so we may need to find a way to test it before the preview become release.
—
Plan
Here are actions to move to a full Big Sur support, in 2 steps.
Upgrading Python
This is the primary step and the only one we can do ourselves.
Python 3.7 is in security-fix only and will never have Big Sur support. We need to move to at least Python 3.8. Python 3.9 is not supported by PyInstaller, so it will be 3.8 for now.
Here is the Python 3.8 upgrade plan:
- Fix PyInstaller to being able to upgrade to the latest version that supports Pyhon 3.8 (
NXDRIVE-2299). - Upgrade to Python 3.8 (
NXDRIVE-1718).
Upgrading Qt
Qt 6 is planned for 2020-12-01, which is way too late. I hope a Qt version will be released before, such as 5.15.x.
In any cases, the full migration plan is not yet stable as we are lacking of visibility on all implied softwares, but here are the big lines:
- Wait for Qt 6.0 to be released. Or Qt 5.15.x.
- Wait for PyQt 6.0 to be released. not date as of now, but they ware wainting for Qt 6.
- Update the QA/CI to build a universal binary.
—
Interesting links to follow:
- Support on PyInstaller is tracked with issue #5107.
- Suport on Python is tracked with bpo-41100.
- Support on Qt is tracked with QTBUG-85546.
- depends on
-
NXDRIVE-2299 Fix PyInstaller to allow upgrading to the newest version
- Resolved
-
NXDRIVE-1718 Python 3.8
- Resolved
- is related to
-
NXDRIVE-1110 Technologies update
- Resolved
- Is referenced in