Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] --fetch-full-installer mode detects an installer anywhere on disk rather than just in Applications #531

Open
grahampugh opened this issue Nov 6, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@grahampugh
Copy link
Owner

Describe the bug
On macOS Sequoia (maybe older too?), it seems that using --fetch-full-installer mode detects an installer anywhere on disk rather than just in Applications. This causes the script to fail because it is expecting the installer to be in Applications. Additionally, --update is not successfully being induced in this circumstance to download it again.

To Reproduce

  • Download an installer, move it to somewhere else like /Users/Shared.
  • Run e.g. sudo ./erase-install.sh --os 15 --reinstall --update --test-run --ffi. The installer is found by softwareupdate but not by erase-install.sh.
  • Worse still, the installer is launched!

Expected behavior
We can't affect the behaviour of startosinstall, so I guess we are going to have to use mdfind to find and move the installer or to give a dialog that says the installer is in the incorrect location. We may also need to force it to quit.

Code/log output

% sudo ./erase-install.sh --os 15 --reinstall --update --test-run --ffi
2024-11-06 09:25:50 | v36.1 | [log_rotate] Finished rotating logs in /Library/Management/erase-install/log

2024-11-06 09:25:50 | v36.1 | [erase-install] v36.1 script execution started: Wed Nov  6 09:25:50 CET 2024

2024-11-06 09:25:50 | v36.1 | [erase-install] Arguments provided: --os 15 --reinstall --update --test-run --ffi

2024-11-06 09:25:50 | v36.1 | *** TEST-RUN ONLY! ***
2024-11-06 09:25:50 | v36.1 | * This script will perform all tasks up to the point of erase or reinstall,
2024-11-06 09:25:50 | v36.1 | * but will not actually erase or reinstall.
2024-11-06 09:25:50 | v36.1 | * Remove the --test-run argument to perform the erase or reinstall.
2024-11-06 09:25:50 | v36.1 | **********************

2024-11-06 09:25:51 | v36.1 | [set_localisations] Set language to en-CH
2024-11-06 09:25:51 | v36.1 | [erase-install] System version: 15.1 (Build: 24B83)
2024-11-06 09:25:51 | v36.1 | [check_for_swiftdialog_app] swiftDialog v2.5.2.4777 is installed (/Library/Application Support/Dialog/Dialog.app)
2024-11-06 09:25:51 | v36.1 | [check_for_swiftdialog_app] Creating dialog log (/var/tmp/dialog.Qwg)...
2024-11-06 09:25:51 | v36.1 | [erase-install] Caffeinating this script (pid=11040)
2024-11-06 09:25:51 | v36.1 | [check_free_space] OK - 131 GB free/purgeable disk space detected
2024-11-06 09:25:51 | v36.1 | [erase-install] Looking for existing installer app or pkg
2024-11-06 09:25:51 | v36.1 | [find_existing_installer] No valid installer found.
2024-11-06 09:25:51 | v36.1 | [erase-install] Running on architecture arm64
2024-11-06 09:25:51 | v36.1 | [get_user_details] ask for user credentials (attempt 1/5)
2024-11-06 09:25:51 | v36.1 | [get_default_dialog_args] Invoking utility dialog
yes gpugh is a member of everyone
2024-11-06 09:25:56 | v36.1 | [get_user_details] gpugh is a Volume Owner
2024-11-06 09:25:57 | v36.1 | [check_password] Success: the password entered is the correct login password for gpugh.
2024-11-06 09:25:57 | v36.1 | [get_default_dialog_args] Invoking utility dialog
2024-11-06 09:25:58 | v36.1 | [run_fetch_full_installer] Found version 15.1
2024-11-06 09:25:58 | v36.1 | [run_fetch_full_installer] Running /usr/sbin/softwareupdate --fetch-full-installer --full-installer-version 15.1 
Scanning for 15.1 installer
Install finished successfully
2024-11-06 09:26:13 | v36.1 | [check_installer_is_valid] Checking validity of .
2024-11-06 09:26:13 | v36.1 | [check_installer_is_valid] Using DTSDKBuild value from Info.plist
2024-11-06 09:26:13 | v36.1 | [check_installer_is_valid] Installer Info.plist could not be found!
2024-11-06 09:26:13 | v36.1 | [check_installer_is_valid] Build of existing installer could not be found, so it is assumed to be invalid.
2024-11-06 09:26:13 | v36.1 | [run_fetch_full_installer] The downloaded app is invalid for this computer. Try with --version or without --fetch-full-installer

2024-11-06 09:26:13 | v36.1 | [erase-install] terminating the process 'caffeinate' process

2024-11-06 09:26:13 | v36.1 | [finish] sending quit message to dialog (/var/tmp/dialog.Qwg)
2024-11-06 09:26:13 | v36.1 | [finish] Script exit code: 1

Environment (please complete the following information):

  • OS version - 15.1 (24B83)
  • erase-install version - 36.1
@grahampugh grahampugh added the bug Something isn't working label Nov 6, 2024
@grahampugh grahampugh self-assigned this Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant