Releases: chilcote/outset
v2.0.0
(Making this release 2.0.0 because it introduces breaking changes.)
This release will change some fundamentals, so some cleanup work might be needed:
"firstboot-scripts" and "firstboot-packages" are now consolidated and called "boot-once." This will be less confusing for new users since "firstboot" usually means "run only the first time the system is ever booted ever."
- You'll want to place scripts/pkgs you wish to run once at boot into the new "boot-once" folder.
"everyboot-scripts" is now called "boot-every," for the same reasoning as above.
- You'll want to move any existing scripts from "everyboot-scripts" to "boot-every"
Scripts no longer have to have a specific extension (py, rb, sh) to run. It now only checks that the file is executable.
outset now supports "on-demand" scripts. (Issue #14)
- on-demand script(s) will work for the currently logged in console user only.
- FUS users in the background will not run the on-demand script(s).
- on-demand script(s) will not run when the machine is at the loginwindow, or when being invoked manually by root (or sudo)
- on-demand script(s) are not added to the login once plist. This will allow an admin to push the same on-demand script(s) - multiple times, i.e. a notification.
- the on-demand folder is cleaned out after each run, so it will not run twice or for subsequent logins.
- You can trigger on-demand by touching /private/tmp/.com.github.outset.ondemand.launchd, perhaps via a postinstall in a package.
You can edit share/com.chilcote.outset.plist to suppress the network check if you so choose (some environments might not be on a network). You can also customize the timeout time that it will use before bailing on the boot-once scripts.
Packages no longer have to be executable
Scripts and packages with malformed permissions will no longer be added to the run once plist, so you an fix the permissions without having to change the name of the script.
The package installer should no longer require a reboot before the plists are loaded.
Merged some helpful PRs from @rmanly