Releases: grahampugh/erase-install
Releases · grahampugh/erase-install
v27.0
- Allows for logs to be reported back to Jamf Pro by changing the method
startosinstall
is launched. This requiresrebootdelay
to be set, which allows uploading the script result to Jamf Pro beforestartosinstall
force-quits our script and reboots the machine (thanks to @cvgs). - Adds launcher script
erase-install-launcher.sh
which can be used to start the pkg-delivered version of erase-install from the Scripts section of Jamf Pro (it also supports more than 8 arguments forerase-install
because you can add multiple arguments in one Jamf Parameter field) (thanks to @cvgs). - Adds some fallbacks for the
--fetch-full-installer
option. - If no build ID is found in the existing installer, we set it as invalid instead of exiting the script (addresses #271, thanks to @sphen13).
- Fix the fallback free disk space calculation (
df
was returning disk size in kb and not gb) (#274 - thanks to @sphen13). --update
option now uses new logic ininstallinstallmacos.py
to restrict searches to a certain OS or version (addresses #287).- Improved function descriptions in the script.
- Changed the
Makefile
to download the correct version ofinstallinstallmacos.py
during the make process. - Improved checksum checks for
installinstallmacos.py
- if an incorrect checksum is found, the correct version is downloaded rather than the script failing (unless--no-curl
option has been added). - Add titles to username and password dialog boxes (#289, thanks to @cvgs)
- Now correctly deletes a sparseimage from the cache when
--move
is used and the sparseimage is downloaded (#297, thanks to @andyincali) - Now correctly fails if an invalid installer is found and
--replace-invalid
,--update
,--overwrite
or--skip-validation
are not set (addresses #298).
26.2
- Allows
rebootdelay
for 10.15 (thanks to @cvgs). - New
--newvolumename
key which will set the volume name after aneraseinstall
workflow (thanks to @bmacphail). - Now correctly validates whether a selected build value matches the cached installer.
26.1
- Universal python build packages.
- Use
pkg_resources
instead ofdistutils
where available (allows for removal ifdistutils
in python 3.12 - addresses grahampugh/macadmin-scripts/issues/47). - Improves the
--fetch-full-installer
option by looking for the latest version if not specified, and checking that a pre-chosen version is in the list.--list
in conjunction with--ffi
also now uses--list-full-installers
instead of reverting toinstallinstallmacos.py
. - Allows the usage of spaces in
--workdir
and--path
(thanks to @cvgs). - Added
--max-password-attempts=NN
option, which can also be set toinfinite
to prevent canceling the password dialog (addresses #216, thanks to @cvgs). - Changes dialogs so that the Cancel button is on the left, and default button is on the right (thanks to @cvgs).
- Script now uses
sysctl
to check for Apple Silicon (addresses #225, thanks to @cvgs). - Some minor changes to the German translation (thanks to @cvgs).
- Adds an additional check for
--min-drive-space
right before start of the installation (should address #242, thanks to @cvgs). - Adds
-nobrowse
to all instances ofhdiutil
to prevent mounted images appearing on the desktop (thanks to @cvgs).
26.0
- Adds
--catalog
to allow an easier way to select which software update catalog to use, rather than the defaults set ininstallinstallmacos.py
. Example:--catalog 10.15
will use the catalog for Darwin version 19,--catalog 11
will use Darwin version 20. This is to address omissions in the catalogs for older OSes (somewhat addresses #169, #160). - Allow for more lenient checks for Volume Ownership against the entered username (#177, thanks to @cvgs)
- Adds
--rebootdelay
option (Big Sur or later) (#193). - DEPNotify counts down the rebootdelay time.
- Adds
--fs
option which makes all the DEPNotify windows full screen (download, confirm, preparation). - User can dismiss the DEPNotify download and preparation windows if
--rebootdelay
is set to at least 10 seconds. - Multiple
--preinstall-command
arguments can now be supplied. These run immediately beforestartosinstall
is run. - Multiple
--postinstall-command
arguments can now be supplied. These run afterstartosinstall
has finished. - Checksums of
installinstallmacos.py
are now pinned to a tag of themacadmins-scripts
repo so that updates to the script don't break a particular version oferase-install.sh
from working. - Add a message about process Terminations, which some people were mistakenly believing to be errors.
- Fixed the actual killing of jamfHelper and caffeinate.
osascript
dialog windows now run as the user (addresses #198, thanks to @anewhouse).- Fixed an issue concerning the catalog for macOS High Sierra 10.13 which has an item without a version string listed, which was causing installinstallmacos.py to error out (addresses #169).
25.0
- Determines free space better by checking free and purgeable space (partial fix for #152; thanks to Pico in MacAdmins Slack).
- Uses exit traps to clean up after all abnormal exits (fixes #140, #141; thanks to @ryangball).
- Adds
-nobrowse
tohdiutil
to prevent mounted images appearing on the desktop (thanks to @ryangball). - Allows 5 password attempts (fixes #159).
- Adds dialog to show how much time is left in the power check (#144; thanks to @dan-snelson).
- Some dialog changes, to replace the word "reinstall", which some people have found confusing, with "install" (addresses #149).
- Changed log location to the
$workdir
so that it persists after an upgrade, and also so it is wiped if using the--cleanup-after-use
option (fixes #161). - Remove check for membership of
staff
group for Apple Silicon Macs, since Volume Ownership is already checked it's not necessary, and was preventing non-admin AD users from proceeding (fixes #166). - Re-order some initial statements to ensure that the chosen $workdir has been created before DEPNotify is downloaded and the log file is determined (fixes #165).
- Some minor changes to the Dutch translation (addresses #164, thanks @Alitekawi).
0.22.0
- Add preparation progress information to the DEPNotify bar (#122, thanks @andredb90).
- SIP check only checks for partial SIP enablement (#110, thanks @anverhousseini).
- New
--preinstall-command
option to run a command prior to the beginning of thestartosinstall
run (thanks Fredrik Virding for the idea). - Fix build version comparisons (this affected macOS 11.6) (#124, thanks @boberito)
- Allow use of
--confirm
option for reinstallation (#123) - Improve version comparisons in
check_newer_available
function (should improve--update
reliability) - Fix erase or reinstall from a InstallAssistant package if it has not already been extracted with the
--move
option (#111).
0.21.0
- Add French translation (thanks @Darkomen78).
- Fix version for which
--allowremoval
is set when doing a reinstall (thanks @anverhousseini). - Kill DEPNotify in places where jamfHelper is killed (#106, thanks @julienvs).
- Added '$script_name' variable - if you want to change the script name, the echo statements will reflect this value rather than 'erase-install'.
- Added
--clear-cache-only
option, which works in conjunction with--overwrite
or--update
to perform the removal of cached installers but then quit rather than carry on with any further workflow (#105). - Added a more verbose message that
--test-run
has been implemented (#93).
0.20.1
- The Cancel button is now default in the Confirm dialog when not using jamfHelper or DEPNotify. Note that DEPNotify only offers one button so we cannot provide a straightforward Cancel button.
- The contents of the
README.md
have been replaced with a wiki.
0.20.0
--depnotify
option. Uses DEPNotify instead of jamfHelper, if it is installed.--no-jamfhelper
option. Ignores the jamfHelper installation. Useful for testing theosascript
dialogs.
0.19.2
- Another fix to the check that
--fetch-full-installer
can be used. - Edited Dutch localizations (thanks again to Thijs Vught)