Uploaded image for project: 'Nuxeo Drive '
  1. Nuxeo Drive
  2. NXDRIVE-2270

[macOS] Big Sur support

    XMLWordPrintable

    Details

    • 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:
      Hide

      This is the first release that officially supports the new macOS version: Big Sur.

      Show
      This is the first release that officially supports the new macOS version: Big Sur.
    • Tags:
    • Story Points:
      13
    • Completion Level (0 to 5):
      5

      Description

      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:

      1. Fix PyInstaller to being able to upgrade to the latest version that supports Pyhon 3.8 (NXDRIVE-2299).
      2. 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:

      1. Wait for Qt 6.0 to be released. Or Qt 5.15.x.
      2. Wait for PyQt 6.0 to be released. not date as of now, but they ware wainting for Qt 6.
      3. Update the QA/CI to build a universal binary.

      Interesting links to follow:

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 45 minutes
                  1d 45m