OS-8397: Make smartos-live work post-illumos#14769


Issue Type:Bug
Priority:2 - Critical
Created at:2022-07-19T04:11:55.194Z
Updated at:2022-07-20T21:46:59.315Z


Created by:Dan McDonald
Reported by:Dan McDonald

Fix Versions

2022-07-28 Wintermute (Release Date: 2022-07-28)


We still have lots of Python 2 in smartos-live, and some of it in configuration-land hits up against the removal of Python 2 in illumos-gate. This bug tracks such problems.


Comment by Dan McDonald
Created at 2022-07-19T17:37:15.998Z
Updated at 2022-07-19T21:09:17.958Z

So once we merge illumos-joyent with upstream illumos-gate and 14769 (removal of Python 2), we MUST:

  1. Modify the adjunct tarball to provide python3.9 includes for the mdb python module. This means we must build a new strap-cache for download.
  2. Adjust the list of onbld deliverables to move from python2.7 to python3.9.
  3. Insure that pkgsrc has python3.9. This is the default python on 2021.4.x, but that may change in the future.
  4. Generate an illumos.sh that uses python3.9 instead of python2.7.

This constitutes a Flag Day in that once you update illumos-joyent you MUST ALSO UPDATE smartos-live. They cannot be done one at a time; they must be updated together or not at all.

Tested by doing local strap-cache-build tests with the 8397 branch of smartos-live plus the staged upstream-merge illumos-joyent. Further tested by running that build again on bits built with both smartos-live and illumos-joyent changes in place.

Comment by Dan McDonald
Created at 2022-07-19T17:44:07.295Z

NOTE: This does NOT mean python2 is done for in SmartOS. Because of our reliance on old-old Node, and other scripts in smartos-live itself, we will not be ridding ourselves of python 2 for a while yet. This is about handling an illumos downstream that can no longer use python 2 without seriously deviating from upstream. We opt to stay closer to upstream illumos, and desire to do so whenever possible.

Comment by Dan McDonald
Created at 2022-07-20T21:46:59.315Z