Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.

Customize

Allister Banks edited this page Aug 31, 2021 · 17 revisions

Adding Your Custom Items

Copy your custom packages, profiles, and scripts to their respective working directories in the included custom-outset directory, and remove the example scripts.

Make sure any scripts you are adding have the executable bit. You may have to run chmod +x ./path/to/script.sh to set this. The following makefile package building process should ensure your scripts are owned by root (UID 0) when the payload installs them to the disk (specific group membership is not required/checked, but outset does confirm the writable bit is NOT set on your scripts).

Note: The login context runs as the user, so you won't be able to install pkgs by putting them in login-once or login-every. If you cannot use the boot contexts for pkgs for any reason, add your packages, profiles, or scripts to the login-privileged-once or login-privileged-every directories, and they will be processed as root when the user logs in.

Package Your Scripts

After you've added your custom packages, profiles, and scripts, and removed the example scripts, change directories to custom-outset and open the Makefile in a Text Editor.

Edit the top 4 lines to change them from..

PKGTITLE="outset-custom"
PKGVERSION="1.0.0"
PKGID=com.github.outset.custom
PROJECT="outset-custom"

..to your own information:

PKGTITLE="super-scripts"
PKGVERSION="1.1.0"
PKGID=com.github.super.scripts
PROJECT="super-scripts"

Save the Makefile and then use it to package up your files:

$ cd ./name-of-custom-outset
$ make pkg

This will then display the following output:

rm -f ./outset*.pkg
rm -f ./pkgroot/usr/local/outset/*/*.pyc
pkgbuild --root pkgroot --identifier com.github.outset.custom --version "1.0.0" --ownership recommended ./"outset-custom"-"1.0.0".pkg
pkgbuild: Inferring bundle components from contents of pkgroot
pkgbuild: Wrote package to ./outset-custom-1.0.0.pkg

You will see a package called outset-custom-{VersionNumber}.pkg where "VersionNumber" is what is defined in the Makefile.

You can use this package with a management suite such as Munki or Jamf.