mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-19 13:20:52 +00:00
changed fragments to .sh extension
This commit is contained in:
166
fragments/header.sh
Normal file
166
fragments/header.sh
Normal file
@@ -0,0 +1,166 @@
|
||||
#!/bin/zsh
|
||||
label="" # if no label is sent to the script, this will be used
|
||||
|
||||
# Installomator
|
||||
#
|
||||
# Downloads and installs an Applications
|
||||
# 2020 Armin Briegel - Scripting OS X
|
||||
#
|
||||
# inspired by the download scripts from William Smith and Sander Schram
|
||||
# with additional ideas and contribution from Isaac Ordonez, Mann consulting
|
||||
# and help from Søren Theilgaard (theilgaard.dk)
|
||||
|
||||
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
# NOTE: adjust these variables:
|
||||
|
||||
# set to 0 for production, 1 for debugging
|
||||
# while debugging, items will be downloaded to the parent directory of this script
|
||||
# also no actual installation will be performed
|
||||
DEBUG=1
|
||||
|
||||
# notify behavior
|
||||
NOTIFY=success
|
||||
# options:
|
||||
# - success notify the user on success
|
||||
# - silent no notifications
|
||||
# - all all notifications (great for Self Service installation)
|
||||
|
||||
|
||||
# behavior when blocking processes are found
|
||||
BLOCKING_PROCESS_ACTION=prompt_user
|
||||
# options:
|
||||
# - ignore continue even when blocking processes are found
|
||||
# - silent_fail exit script without prompt or installation
|
||||
# - prompt_user show a user dialog for each blocking process found
|
||||
# abort after three attempts to quit
|
||||
# (only if user accepts to quit the apps, otherwise
|
||||
# the update is cancelled).
|
||||
# - prompt_user_then_kill
|
||||
# show a user dialog for each blocking process found,
|
||||
# attempt to quit two times, kill the process finally
|
||||
# - prompt_user_loop
|
||||
# Like prompt-user, but clicking "Not Now", will just wait an hour,
|
||||
# and then it will ask again.
|
||||
# - tell_user User will be showed a notification about the important update,
|
||||
# but user is only allowed to quit and continue, and then we
|
||||
# ask the app to quit.
|
||||
# - tell_user_then_kill
|
||||
# Show dialog 2 times, and if the quitting fails, the
|
||||
# blocking processes will be killed.
|
||||
# - kill kill process without prompting or giving the user a chance to save
|
||||
|
||||
|
||||
# logo-icon used in dialog boxes if app is blocking
|
||||
LOGO=appstore
|
||||
# options:
|
||||
# - appstore Icon is Apple App Store (default)
|
||||
# - jamf JAMF Pro
|
||||
# - mosyleb Mosyle Business
|
||||
# - mosylem Mosyle Manager (Education)
|
||||
# path can also be set in the command call, and if file exists, it will be used, like 'LOGO="/System/Applications/App\ Store.app/Contents/Resources/AppIcon.icns"' (spaces are escaped).
|
||||
|
||||
|
||||
# install behavior
|
||||
INSTALL=""
|
||||
# options:
|
||||
# - When not set, software will only be installed
|
||||
# if it is newer/different in version
|
||||
# - force Install even if it’s the same version
|
||||
|
||||
|
||||
# Re-opening of closed app
|
||||
REOPEN="yes"
|
||||
# options:
|
||||
# - yes App wil be reopened if it was closed
|
||||
# - no App not reopened
|
||||
|
||||
|
||||
# NOTE: How labels work
|
||||
|
||||
# Each workflow label needs to be listed in the case statement below.
|
||||
# for each label these variables can be set:
|
||||
#
|
||||
# - name: (required)
|
||||
# Name of the installed app.
|
||||
# This is used to derive many of the other variables.
|
||||
#
|
||||
# - type: (required)
|
||||
# The type of the installation. Possible values:
|
||||
# - dmg
|
||||
# - pkg
|
||||
# - zip
|
||||
# - tbz
|
||||
# - pkgInDmg
|
||||
# - pkgInZip
|
||||
# - appInDmgInZip
|
||||
# - updateronly This last one is for labels that should only run an updateTool (see below)
|
||||
#
|
||||
# - packageID: (optional)
|
||||
# The package ID of a pkg
|
||||
# If given, will be used to find version of installed software, instead of searching for an app.
|
||||
# Usefull if a pkg does not install an app.
|
||||
# See label installomator_st
|
||||
#
|
||||
# - downloadURL: (required)
|
||||
# URL to download the dmg.
|
||||
# Can be generated with a series of commands (see BBEdit for an example).
|
||||
#
|
||||
# - appNewVersion: (optional)
|
||||
# Version of the downloaded software.
|
||||
# If given, it will be compared to installed version, to see if download is different.
|
||||
# It does not check for newer or not, only different.
|
||||
#
|
||||
# - expectedTeamID: (required)
|
||||
# 10-digit developer team ID.
|
||||
# Obtain the team ID by running:
|
||||
#
|
||||
# - Applications (in dmgs or zips)
|
||||
# spctl -a -vv /Applications/BBEdit.app
|
||||
#
|
||||
# - Pkgs
|
||||
# spctl -a -vv -t install ~/Downloads/desktoppr-0.2.pkg
|
||||
#
|
||||
# The team ID is the ten-digit ID at the end of the line starting with 'origin='
|
||||
#
|
||||
# - archiveName: (optional)
|
||||
# The name of the downloaded file.
|
||||
# When not given the archiveName is derived from the $name.
|
||||
#
|
||||
# - appName: (optional)
|
||||
# File name of the app bundle in the dmg to verify and copy (include .app).
|
||||
# When not given, the appName is derived from the $name.
|
||||
#
|
||||
# - targetDir: (optional)
|
||||
# dmg or zip:
|
||||
# Applications will be copied to this directory.
|
||||
# Default value is '/Applications' for dmg and zip installations.
|
||||
# pkg:
|
||||
# targetDir is used as the install-location. Default is '/'.
|
||||
#
|
||||
# - blockingProcesses: (optional)
|
||||
# Array of process names that will block the installation or update.
|
||||
# If no blockingProcesses array is given the default will be:
|
||||
# blockingProcesses=( $name )
|
||||
# When a package contains multiple applications, _all_ should be listed, e.g:
|
||||
# blockingProcesses=( "Keynote" "Pages" "Numbers" )
|
||||
# When a workflow has no blocking processes, use
|
||||
# blockingProcesses=( NONE )
|
||||
#
|
||||
# - pkgName: (optional, only used for pkgInDmg, dmgInZip, and appInDmgInZip)
|
||||
# File name of the pkg/dmg file _inside_ the dmg or zip
|
||||
# When not given the pkgName is derived from the $name
|
||||
#
|
||||
# - updateTool:
|
||||
# - updateToolArguments:
|
||||
# When Installomator detects an existing installation of the application,
|
||||
# and the updateTool variable is set
|
||||
# $updateTool $updateArguments
|
||||
# Will be run instead of of downloading and installing a complete new version.
|
||||
# Use this when the updateTool does differential and optimized downloads.
|
||||
# e.g. msupdate
|
||||
#
|
||||
# - updateToolRunAsCurrentUser:
|
||||
# When this variable is set (any value), $updateTool will be run as the current user.
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user