saltstack / saltstack/salt

[BUG] All macOS packages in the repo require macOS 10.15

Open
#62,720 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug MacOS needs-triage Packaging
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description
Support for Mojave (and 10.13) was perhaps dropped in 3005. However, all of the packages at (https://repo.saltproject.io/osx/), including 3002 through 3004, fail to run on anything older than 10.15.

The offending configuration seems to be here in 3004.2, but the 3004.1 package still requires 10.15 even though the 3004.1 build code doesn't appear to.

So how did these packages (especially 3004.1 and 3002.8) get built with a minimum target of 10.15 when their build_env.sh says MACOSX_DEPLOYMENT_TARGET=10.13?

Setup

  • VM (VMware Fusion) running macOS 10.13 High Sierra
  • classic packaging
  • trying to use bootstrap to install (FAILING)

Steps to Reproduce the behavior
sudo sh bootstrap-salt.sh -D stable 3002.8

(or 3002.9, 3003.4, 3003.5, 3004.1, 3004.2...you can't specify only a major version, see additional context below.)

Resulting error message
...
 * ERROR: salt-minion was not found running
 * ERROR: Failed to run daemons_running()!!!
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: /opt/salt/bin/python3 (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin
  Referenced from: /opt/salt/bin/python3 (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib

Expected behavior
I would expect salt versions earlier than 3005 to successfully bootstrap on macOS older than 10.15.

Versions Report

bootstrap-salt.sh environment info
 *  INFO: Running version: 2022.08.13
 *  INFO: Executed by: shell pipe
 *  INFO: Command line: 'bootstrap-salt.sh -D'

 *  INFO: System Information:
 *  INFO:   CPU:          VMware7,1
 *  INFO:   CPU Arch:     x86_64
 *  INFO:   OS Name:      Darwin
 *  INFO:   OS Version:   17.7.0
 *  INFO:   Distribution: MacOSX 10.13.6

Additional context
Also, (https://repo.saltproject.io/osx/) is missing symlinks from major versions to their latest minor version. So, for example "sh bootstrap-salt.sh stable 3004" fails with:

 * ERROR: https://repo.saltproject.io/osx/salt-3004-py3-x86_64.pkg failed to download to /tmp/salt-3004-py3-x86_64.pkg
 * ERROR: Failed to run install_macosx_stable()!!!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with pkg/osx/build_env.sh in the v3004.1 and v3004.2 trees, then inspect the package and bootstrap paths used by bootstrap-salt.sh. Reproduce the 3002.8 or 3004.1 installation on macOS 10.13 and compare the declared deployment target with the built package. Done means supported pre-10.15 packages install and run, and major-version repository URLs resolve when requested.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
build-system, operating-systems, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.