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=0is still for production, and1is still for the DEBUG we previously knew downloading to the directory it is running from, but2will 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. pkgNamein 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.LSMinimumSystemVersionwill now be honered, if theInfo.plistin 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=1then 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 likemicrosoftonedrivethat 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=forcein order to have the app replaced, asupdateToolwould be used. But now ifIGNORE_APP_STORE_APPS=yesthenupdateToolwill be not set, and the App Store app will be replaced. BUT if the installed software was not from App Store, thenupdateToolwill 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
SYSTEMOWNERthat is used when copying files when installing. Default0is to change owner of the app to the current user on the Mac, like this user was installing this app themselves. When using1we will put “root:wheel” on the app, which can be useful for shared machines. - Added option
curlOptionsto 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
lsthat 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.
