Commit Graph
52 Commits
Author SHA1 Message Date
Erik GomezandClaude Opus 4.7 10a76b1e0b Revert RP_SHA to fb4dd9b (last known-good for Apple Silicon)
The newer relocatable-python commit 8ee72fe (Oct 2024, adds symlink
path handling) causes ensurepip to die with SIGKILL on Apple Silicon
during the framework build: install_name_tool invalidates the
binary's code signature, and ensurepip runs before any re-sign step,
so Gatekeeper kills the process.

A prior bump attempt was already reverted in this repo (commit d8db8a2,
PR #67) — sticking with fb4dd9b until upstream addresses the
ad-hoc-resign-before-ensurepip flow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 12:21:26 -05:00
Erik GomezandClaude Opus 4.7 700848e195 Force writable perms on existing FRAMEWORKDIR
mkdir -m 777 only applies the mode to newly created directories.
If /Library/ManagedFrameworks/Python already exists from a prior
install with stricter perms, the un-sudo'd relocatable-python
tool fails with 'Permission denied' when writing the framework.
Add an explicit chmod after mkdir.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 12:21:26 -05:00
Erik GomezandClaude Opus 4.7 91480efece Fix PYTHON_BASEURL format string slot count
The refactor baked 'macos11' into the URL as a literal, leaving only
two %s slots. relocatable-python's locallibs/get.py expects three:
(version, version, os-version). The mismatch raised
'TypeError: not all arguments converted during string formatting'
during framework download.

Restore the third %s; --os-version 11 is already passed to the
make_relocatable_python_framework.py invocation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 12:21:26 -05:00
Erik Gomez 85599c237f Move signed pkg to outputs/ before notarization
Fixes regression where a signed-but-unnotarized .pkg was built into
the staging dir and then deleted by cleanup() without ever reaching
outputs/. The pre-refactor script moved the .pkg unconditionally
after munkipkg succeeded; the refactor lost that mv when it was
consolidated into notarize_and_staple().
2026-05-12 12:21:26 -05:00
Erik Gomez 24bebe07a6 Refactor build script for Apple Silicon
- Drop universal2 enforcement; arm64 wheels used directly
- Single 'recommended' flavor; remove minimal/no_customization branches
- Long-flag arguments; derive major version from full version
- Functions: parse_args, prepare_build_dirs, download_tool,
  build_framework, codesign_framework, build_pkg,
  notarize_and_staple, zip_framework, cleanup
- Collapse signed/ad-hoc codesign duplication; fixes latent path bug
- Bump relocatable-python and munki-pkg SHAs
- Gate CI-only steps (brew remove, xcode-select) on $CI
2026-05-12 12:21:26 -05:00
Nate Walck d8db8a2c54 Revert Relocatable Python hash bump (#67)
Revert RP hash to see if it fixes the build
2025-06-25 09:41:15 -05:00
Allister Banks 9c344405f3 Add Python 3.13 ci job and update actions
* 2025 updates try 2

no _logic_ changes, just version bumps and 3.13 support/default - some commented-out _potential_ fixes and explanatory text

* copy pasta

3.13

* undo commented-outs

revorted

* moar copy-pasta

😅
2025-06-25 10:28:05 -04:00
Erik Gomez 5e5340aaa0 cleanup old scripts and move to --no-rcs shebang (#59) 2024-03-14 10:49:48 -05:00
Erik Gomez cd4759da9e Attempt to use new python bin path for symlinks (#58) 2024-02-23 13:08:11 -06:00
Erik Gomez 34dc7836ea it didnt work, keep new shim 2024-02-02 13:21:41 -06:00
Erik Gomez db82baae98 attempt to use the shebang for 3.11 and 3.12 2024-02-02 13:08:21 -06:00
Erik Gomez 34d2ff0b7b cleanup old frameworks preinstall 2024-02-02 13:08:08 -06:00
Erik Gomez 9b80e1dc69 fix PYTHON_MAJOR_VERSION calls 2024-02-02 10:39:54 -06:00
Erik Gomez f23b147e49 try and fix managed_python3 issue 2024-02-02 10:34:34 -06:00
Erik Gomez b6959b9227 fix other envvar for notarization 2024-02-01 17:32:54 -06:00
Erik Gomez b8a523c3ac lrn2zsh 2024-02-01 14:06:01 -06:00
Erik Gomez ce8f7aa642 remove duplicate toolsdir 2024-02-01 12:45:27 -06:00
Erik Gomez 015c8e2c13 move the universal check higher up 2024-02-01 11:22:39 -06:00
Erik Gomez a9c3bba87b attempt to use a shim for managed_python3 on python 3.11 and 3.12 2024-02-01 10:05:25 -06:00
Erik Gomez 4139760ebb add major version env_var 2024-02-01 10:04:59 -06:00
Erik Gomez a0ae84c71d update gha and use new certs 2023-03-21 10:41:24 -05:00
Erik Gomez 3de6920d83 more attempts to fix 2023-01-09 18:08:54 -06:00
Erik Gomez 26b0db5b8d try another way 2023-01-09 18:01:41 -06:00
Erik Gomez 1c03a419ba try the MF path instead 2023-01-09 17:39:47 -06:00
Erik Gomez 93a3115bf3 go back to dynamic header 2023-01-09 17:34:02 -06:00
Erik Gomez e77b14a31c move to xcode command line tools python instead 2023-01-09 17:12:38 -06:00
Erik Gomez ee4333a42a set xcode path 2023-01-09 17:09:32 -06:00
Erik Gomez 421bb7a916 sigh 2023-01-09 16:52:20 -06:00
Erik Gomez f58ac5b70e get builds working locally (finally) 2023-01-09 16:42:19 -06:00
Erik Gomez 17853201e2 small changes 2023-01-09 14:23:22 -06:00
Erik Gomez dd97ea183f make a bunch of changes to the build process 2023-01-09 13:51:46 -06:00
Erik Gomez 1c97a8cf5c fix build package 2022-02-10 11:04:34 -06:00
Erik Gomez abc9d006ef remove unsigned pkg from build since we wont be uploading it now 2022-02-10 10:23:32 -06:00
Erik Gomez b9b6e4e770 remove build date 2022-02-10 09:50:05 -06:00
Erik Gomez 8fd214bf54 Move to a more sane version (like nudge) and build 3.10.2 python
- This also makes changelog a bit more dynamic
2022-02-10 09:40:38 -06:00
Erik Gomez 251cdfb067 fix the notary issues (#39)
fix the notary issues

* more fixes

* do the bin version not current since current is a symlink

* add a bunch more things now

* preserve_xattr in munki-pkg signed package

* try and debug things with spctl

* change the order of the code signing

* paths are still technically wrong but this works already
2022-02-08 16:36:13 -06:00
Nate Walck 1f9aab0562 Add notarization (#37)
* Add notarization to build script

* Pass NOTARY_PASS secret as an env var to the build script
2022-02-08 09:27:09 -06:00
Nate Walck 545d9da8d3 Update to Python 3.9.10 and update libs (#36)
* Update to Python 3.9.10 and update libs

* Fix tokenize-rt version as 4.2.0 was yanked

* PyObjC doesn't seem universal anymore, trying to force a build

* Let's upgrade to latest release of PyObjC

* Update release notes to reflect PyObjC change
2022-02-02 15:49:33 -06:00
Nate Walckanderikg eb1558c95f Combined dependabot and docklib PRs (#30)
* Combined dependabot and docklib PRs

* Update requests to 2.25.1

* Add additional debug output when archs do not match

* Update PyYAML to 5.4.1

* Update Python to 3.9.5

* Update github action to do python 3.9.5

* Fix MACOS_VERSION name as they now use 11 upstream instead of 11.0

* Trying minimal to confirm that works

* First stab at updating all recommended libs, will need another pr

* Fix lib versions

* Requests was unhappy with idna 3, reverting to 2.x

* Revert pyobjc to 7.0.1

* force compilation for items that lack a universal binary

* bad copy pasta

* Update release description

* Only create a release and upload signed packages if on main

* try some more fixes

Co-authored-by: erikg <e@eriknicolasgomez.com>
2021-07-08 16:55:01 -05:00
Erik Gomez d00f59f73a try to get clean runs 2020-12-15 11:47:24 -06:00
Nate Walck d351788697 Make sure cleanup is actually working (#21) 2020-12-15 10:39:15 -06:00
Erik Gomez 326e61ec51 confirm universal before going to next step 2020-12-14 17:17:39 -06:00
Nate Walck 92fa66f67e First stab at universal 3.9.1 macadmins python (#18)
* First stab at universal 3.9.1 macadmins python

* Update workflow files

* Removed old build workflows

* Add improvements from IAs

* Revert to older MP as signing failed, update release notes
2020-12-14 17:05:39 -06:00
Erik Gomez ee805778c5 Move python frameworks into their own Python folder 2020-07-09 11:31:51 -05:00
Erik Gomez 4b5f77616f add more variables and try to create a prerelease 2020-06-19 16:23:04 -05:00
Erik Gomez 5a1d094201 Update framework path, symlinks and add signing support
- /Library/SystemFrameworks -> /Library/ManagedFrameworks
- Python3.framework/Versions/3.8/bin/python3.8 -> Python3.framework/Versions/Current/bin/python3
- /usr/local/bin/python3.framework -> /usr/local/bin/managed_python3
- Add signing option with Clever DevOps signing cert
- Remove unnecessary Python3.framework/python3 symlink
- Update README with all the changes
2020-06-19 14:14:06 -05:00
Erik Gomez dc297d5711 Merge branch 'master' of https://github.com/macadmins/python 2020-06-15 09:19:57 -05:00
Erik Gomez 53c29b83c4 Create symbolic links to help with use 2020-06-15 09:04:49 -05:00
Marnin de343551d4 Fixed Opinionated Typo 2020-06-15 08:39:26 -04:00
Erik Gomez 0692b77619 Change to Python3.framework for future python versions 2020-06-14 22:09:52 -05:00