User Story
As a macOS user downloading openshell-driver-vm-aarch64-apple-darwin.tar.gz from a GitHub release,
I want the binary to work without manual codesigning,
so that VM sandbox creation succeeds out of the box regardless of install method.
Problem Statement
The macOS openshell-driver-vm binary in the GitHub release tarball is shipped unsigned — without the com.apple.security.hypervisor entitlement required by Apple's Hypervisor.framework. The entitlement is only applied at Homebrew install time via the formula's post_install hook, not during the CI build that produces the release artifact.
Impact / Why This Matters
When this happens, any non-Homebrew install path (direct tarball download, install.sh pre-release mode, CI environments) gets a binary that fails at runtime when it tries to create a microVM through libkrun.
This results in a confusing runtime crash with no clear indication that codesigning is the issue.
This matters because:
- The workaround is to manually run
codesign --entitlements <plist> --force -s - openshell-driver-vm, which requires knowing about macOS entitlements.
- If Homebrew's
post_install is skipped (--skip-post-install) or fails, the binary is silently broken even for Homebrew users.
- Codesigning logic (writing a plist, shelling out to
/usr/bin/codesign) does not belong in a package manager formula — it should be part of the build pipeline that produces the artifact.
Acceptance Criteria
Reproduction Steps
- Download
openshell-driver-vm-aarch64-apple-darwin.tar.gz from a GitHub release
- Extract:
tar -xzf openshell-driver-vm-aarch64-apple-darwin.tar.gz
- Verify missing signature:
codesign -d --entitlements - openshell-driver-vm → shows no entitlements
- Attempt to create a VM sandbox — fails because Hypervisor.framework rejects the unsigned caller
Environment
- OS: macOS (Apple Silicon / aarch64-apple-darwin)
- Install method: direct GitHub release tarball download (non-Homebrew path)
User Story
As a macOS user downloading
openshell-driver-vm-aarch64-apple-darwin.tar.gzfrom a GitHub release,I want the binary to work without manual codesigning,
so that VM sandbox creation succeeds out of the box regardless of install method.
Problem Statement
The macOS
openshell-driver-vmbinary in the GitHub release tarball is shipped unsigned — without thecom.apple.security.hypervisorentitlement required by Apple's Hypervisor.framework. The entitlement is only applied at Homebrew install time via the formula'spost_installhook, not during the CI build that produces the release artifact.Impact / Why This Matters
When this happens, any non-Homebrew install path (direct tarball download,
install.shpre-release mode, CI environments) gets a binary that fails at runtime when it tries to create a microVM through libkrun.This results in a confusing runtime crash with no clear indication that codesigning is the issue.
This matters because:
codesign --entitlements <plist> --force -s - openshell-driver-vm, which requires knowing about macOS entitlements.post_installis skipped (--skip-post-install) or fails, the binary is silently broken even for Homebrew users./usr/bin/codesign) does not belong in a package manager formula — it should be part of the build pipeline that produces the artifact.Acceptance Criteria
openshell-driver-vm-aarch64-apple-darwin.tar.gzin GitHub releases contains a binary ad-hoc signed withcom.apple.security.hypervisor(verifiable viacodesign -d --entitlements - openshell-driver-vm)codesigninpost_installinstall.shno longer containspatch_homebrew_formula()(dead code once formula codesigning is removed)post_installcodesign from a cached older formula is harmless against a pre-signed binarycrates/openshell-driver-vm/entitlements.plistremains the single source of truth for the entitlementReproduction Steps
openshell-driver-vm-aarch64-apple-darwin.tar.gzfrom a GitHub releasetar -xzf openshell-driver-vm-aarch64-apple-darwin.tar.gzcodesign -d --entitlements - openshell-driver-vm→ shows no entitlementsEnvironment