Recipe Format Specification
This is the official specification document for the GoboLinux recipe format.
The term “Recipe” can refer to either:
- A packed recipe, as held in GoboLinux recipe store, with a name like
Foo--1.0-r1--recipe.tar.bz2
. - The file
Foo/1.0-r1/Recipe
in such a tarball. This is also called the “recipe file”.
File Layout
A packed recipe is a tarball such as SomeProgram--Version-r1--recipe.tar.bz2
with the following directory structure.
SomeProgram/
`--Version-r1/
|-- Recipe (required)
|-- *.patch
|-- *.patch.in
|-- Resources/
| |-- Dependencies (required)
| |-- Description (required)
| |-- Defaults/
| | |-- Settings/
| | `-- Variable/
| |
| |-- Tasks/
| |-- Wrappers/
| |-- BuildDependencies
| |-- BuildInformation
| |-- Environment
| |-- Hints
| |-- PostInstall
| `-- Requirements
|
`-- <arch>/
|-- Recipe
`-- Resources/
where <arch>
represents one or more optional architecture directories named
i686/
, x86_64/
, arm/
, ppc/
, etc.