Skip to content

Feature Request - Generate nopkg files to add Outset scripts #76

Description

@jelockwood

The Issue

Outset itself can be deployed to Macs via various tools as it is provided as a standard installer pkg. This includes deployment (and updating) via Munki aka Managed Software Center. It is also possible to build a standard installer pkg to install one or more scripts to be copied in to the relevant sub-directories in the…

/usr/local/outset/

…directory.

I also see that there is an included tool to 'package up' scripts from these subdirectories to a standard installer pkg so that such an existing setup can be replicated to multiple machines. This tool is outset-pkg

I have however found this tool to have some drawbacks as follows and therefore this feature request details a suggested alternative approach.

Proposed Solution

My suggestion is that a tool similar to outset-pkg be created but to work by creating one or more nopkg pkginfo files for use with Munki. When run it would ask for the following information - some of which may be considered optional

  • Name
  • Version
  • Installcheck script
  • Post install script
  • Uninstall script
  • Payload script
  • Which Outset subdirectory to deploy to

As may have been spotted this is pretty much what the makepkginfo command does. However it would go further and also ask for the Payload script to be installed and which Outset subdirectory it should be deployed to.

This approach would be intended to be to deploy a single file per generated nopkg pkginfo.

This approach would I feel make it easier to build an automated system for deploying Outset scripts with the ability to target multiple scripts for an individual Mac or multiple Macs or a single script for an individual or multiple Macs or any permutation of this. More importantly I feel it makes it much much easier to subsequently deploy updates to individual scripts. Updating the scripts would be independent of updating Outset itself.

This tool would use bash 'Here Doc' aka 'cat << eof' to embed the 'Payload' script, i.e. the script to actually end up being deployed to an Outset subdirectory.

As a very similar existing solution I would refer people to the 'archived' but currently still working PrinterGenerator script for generating nopkg pkginfo files to install Printer Queues via Munki

Alternative

I have considered the use of the existing outset-pkg but this is designed to do all scripts on an already configured machine and hence does not make it easy to have multiple different setups. It also makes updating a single script more of a hassle. The proposed approach also makes it possible to trigger an automated uninstall of a script via the standard Munki process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions