mirror of
https://github.com/Lakr233/vphone-cli.git
synced 2026-04-05 04:59:05 +08:00
Nix PATH preservation, amfidont boot, and preflight stability (#196)
* fix: preserve caller PATH through Nix zshenv reset in cfw scripts Nix darwin's /etc/zshenv resets PATH on every zsh subprocess, discarding the Makefile's carefully constructed PATH (which includes .venv/bin and /opt/homebrew/bin). This caused 'Missing Python deps' and ldid PKCS12_parse errors during cfw_install. Pass the Makefile PATH through _VPHONE_PATH env var (which zshenv won't touch), and restore it at the top of each cfw_install script. * fix(cfw_install_dev): add python resolver, use glob for vphoned sources - Add _resolve_python3() matching cfw_install.sh so the venv python is used instead of Nix system python (which lacks capstone/keystone). - Replace hardcoded VPHONED_SRCS list with glob pattern to auto-pick up new .m files (was missing 5 files: accessibility, apps, clipboard, settings, url — causing linker errors). * fix: amfidont uses bundle binary CDHash and .build path make boot launches the bundle binary (.build/vphone-cli.app/Contents/ MacOS/vphone-cli), not the release binary. amfidont's --path must cover the .app bundle location. - amfidont_allow_vphone depends on bundle (not build) - start_amfidont_for_vphone.sh extracts CDHash from bundle binary - --path points to .build/ so amfidont covers .app bundle contents * fix(preflight): prevent run_capture errexit on non-zero return zsh set -e is global scope — set -e inside run_capture then return 137 triggers errexit and kills the script before reaching the assert-bootable check. Use '|| rc=$?' instead to capture the exit code without modifying errexit state.
This commit is contained in:
8
Makefile
8
Makefile
@@ -189,7 +189,7 @@ vm_new:
|
||||
CPU="$(CPU)" MEMORY="$(MEMORY)" \
|
||||
zsh $(SCRIPTS)/vm_create.sh --dir $(VM_DIR) --disk-size $(DISK_SIZE)
|
||||
|
||||
amfidont_allow_vphone: build
|
||||
amfidont_allow_vphone: bundle
|
||||
zsh $(SCRIPTS)/start_amfidont_for_vphone.sh
|
||||
|
||||
boot_host_preflight: build
|
||||
@@ -280,10 +280,10 @@ ramdisk_send:
|
||||
.PHONY: cfw_install cfw_install_dev cfw_install_jb
|
||||
|
||||
cfw_install:
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") zsh "$(CURDIR)/$(SCRIPTS)/cfw_install.sh" .
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") _VPHONE_PATH="$$PATH" zsh "$(CURDIR)/$(SCRIPTS)/cfw_install.sh" .
|
||||
|
||||
cfw_install_dev:
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") zsh "$(CURDIR)/$(SCRIPTS)/cfw_install_dev.sh" .
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") _VPHONE_PATH="$$PATH" zsh "$(CURDIR)/$(SCRIPTS)/cfw_install_dev.sh" .
|
||||
|
||||
cfw_install_jb:
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") zsh "$(CURDIR)/$(SCRIPTS)/cfw_install_jb.sh" .
|
||||
cd $(VM_DIR) && $(if $(SSH_PORT),SSH_PORT="$(SSH_PORT)") _VPHONE_PATH="$$PATH" zsh "$(CURDIR)/$(SCRIPTS)/cfw_install_jb.sh" .
|
||||
|
||||
Reference in New Issue
Block a user