We have updated Installomator to version 9.0. This brings Installomator to 404 labels (390 apps). This update also brings with it many changes in behavior:
- We have moved the root check to the beginning of the script, and improved DEBUG handling with two different modes.
DEBUG=0
is still for production, and1
is still for the DEBUG we previously knew downloading to the directory it is running from, but2
will download to temporary folder, will detect updates, but will not install anything, but it will notify the user (almost as running the script without root before). - Added option to not interrupt Do Not Disturb full screen apps like Keynote or Zoom with
INTERRUPT_DND="no"
. Default is"yes"
which is how it has worked until now. pkgName
in a label can now be searched for. An example is logitechoptions, where only the name of the pkg is given, and not the exact file path to it.LSMinimumSystemVersion
will now be honered, if theInfo.plist
in the app is specifying this. That means that an app that has this parameter in that file and it shows that the app requires a newer version of the OS than is currently installed, then we will not install it.- New variable
RETURN_LABEL_NAME
. If given the value1
, likeRETURN_LABEL_NAME=1
then Installomator only returns the name of the label. It makes for a better user friendly message for displaying in DEPNotify if that is integrated. - Changed logic if
IGNORE_APP_STORE_APPS=yes
. Before this version a label likemicrosoftonedrive
that was installed from App Store, and that we want to replace with the “ordinary” version, Installomator would still useupdateTool
, even thoughIGNORE_APP_STORE_APPS=yes
. So we would have to haveINSTALL=force
in order to have the app replaced, asupdateTool
would be used. But now ifIGNORE_APP_STORE_APPS=yes
thenupdateTool
will be not set, and the App Store app will be replaced. BUT if the installed software was not from App Store, thenupdateTool
will not be used, and it would be a kind of a forced install (in the example ofmicrosoftonedrive
), except if the version is the same (where installation is skipped). - Added variable
SYSTEMOWNER
that is used when copying files when installing. Default0
is to change owner of the app to the current user on the Mac, like this user was installing this app themselves. When using1
we will put “root:wheel” on the app, which can be useful for shared machines. - Added option
curlOptions
to the labels. It can be filled with extra headers need for downloading the specific software. It needs to be an array, likecurlOptions=( )
. See “mocha”-software-labels.
Logging
- Introducing variable
LOGGING
, that can be either of the logging levels - Logging levels:
0: DEBUG Everything is logged
1: INFO Normal logging behavior
2: WARN
3: ERROR
4: REQ - External logging to Datadog
- A function to shorten duplicate lines in installation logs or output of longer commands
- Ability to extract install.log in the time when Installomator was running, if further investigations needs to be done to logs
Fixes
- Fixed a problem with pkgs: If they were mounted with .pkg in the name, then we would find the directory and not the pkg file itself.
- Minor fix for a check for a pkgName on a DMG. We used
ls
that would throw an error when not found, so the check was corrected.
Many thanks to Søren Theilgaard who did most, if not all, of the heavy lifting for this release. Also many thanks to everyone else who contributed a new label, issue or other help.