Orchard

Orchard autopkg Infrastructure

Orchard's autopkg configuration is hosted on a Mac Pro with a large local storage array.

The buildhost has has a local user 'autopkg' whose $HOME is in /srv/autopkg/. Because autopkg does not work well in multi-user environments (each user would need the same set of recipe repos imported and cannot share preferences), the autopkg user has all the defaults set necessary to build our software set, and it is necessary to switch to this user by prefixing $ sudo -u autopkg to issue any autopkg commands.

Overriding existing recipes

All recipes should be overridden locally, even if you have written a recipe yourself. Recipes should be written for the wider autopkg community and any local standards/customisations should be done in an override.

The directory /srv/autopkg/RecipeOverrides/ is a git clone of the ox-it orchard-recipe-overrides repo on Github /!\ N.B. this repository is currently private, although we hope to make it public once certain sensitive information has been removed.

Once you have written a recipe, or imported a recipe repo containing a munki recipe you would like to use, you should issue

$ sudo -u autopkg autopkg make-override <RecipeName>.munki

This will create a recipe at /srv/autopkg/RecipeOverrides/<RecipeName>.munki.recipe which you must then edit.

The following standards should be observed:

Testing your override

To test your override issue $ sudo -u autopkg run -vv <RecipeName>.munki. You should see your app downloaded, optionally packaged, and then imported into Munki with a useful version number, along with the input and output of each processor step. If anything goes wrong with this process you will probably want to delete the package and associated pkginfo from the munki repo before making changes and trying again.

Committing changes to repo

When you are satisfied with your edits, add the file to the next commit by issuing $ git add <filename> and then commit it to the repository with $ git commit -m "Commit message". Once you have finished creating or editing recipes you should then push them upstream with $ git push origin master which will prompt you for your github username and password.

Orchard: Infrastructure/autopkg (last edited 2015-07-24 12:56:21 by ouit0354)