Skip to content

Project Scope and Audience

Elliot Jordan edited this page Nov 30, 2020 · 4 revisions

Audience

You do not need to be an AutoPkg expert to use Recipe Robot. Quite the opposite — Recipe Robot makes it so that people who aren't intimately familiar with AutoPkg can create conventions-compliant recipes, and even share those recipes with the AutoPkg community.

However, it does help to be familiar with the basics of AutoPkg in order to evaluate whether Recipe Robot's output is what you expect. You may need to tweak the generated recipes slightly in order to achieve the desired outcome. For example, you may need to add a description for software in Munki and JSS recipes.

Types of apps supported

Recipe Robot's core mission is to ease the process of creating AutoPkg recipes for "simple" Mac apps.

What does "simple" mean? In general, publicly-downloadable apps distributed as a zip archive or disk image are good candidates.

Recipe Robot makes a best effort to create AutoPkg recipes for more complex Mac software, but is not guaranteed to work with the following:

  • Command line software
  • Plugins, extensions, or other software that doesn't have an app bundle
  • Software that includes multiple apps as part of a suite of tools
  • Apps requiring special handling to download (e.g. download page that requires a web login)
  • Apps that use non-standard installation methods (e.g. an installation app)

You may still need to make a recipe the old fashioned way, if the Robot comes up empty.

Complete recipe sets

Additionally, Recipe Robot is designed to build self-contained recipe "sets." It can't, for example, see that there's a download recipe already available for an app and build a munki recipe that uses the download recipe as a parent. It needs to build the whole chain itself.

That, together with my strong desire to avoid duplicate recipes in public repos, is why Recipe Robot doesn't generate recipes for an app if any AutoPkg recipes already exist for that app, by default. This is a design choice we made after careful consideration, for two reasons:

  1. It's difficult to parse a ParentRecipe and determine exactly which processors will be needed and which file paths we can rely on. Your brain is still the best tool for that.

  2. Many AutoPkg recipe authors put a lot of work into creating and maintaining their recipes, and it's important that we respect that by refraining from uploading duplicate recipes to GitHub.

You can override this etiquette, but please only post a duplicate set of recipes to GitHub if they meet these guidelines:

  • applicable to a wide audience
  • better than the original in at least one significant way
  • a note in the description clarifies how your recipe differs (see this example)