A recipe is implemented as a directory. It must contain at least the following files
- The recipe file: recipe
- The recipe itself.
- The meta information file: info.yaml
- A file in yaml format containing some meta information about the recipe like short and long description.
- The settings file: settings.yaml
- A file in yaml format containing variables that are destined for a user to overwrite. This variables are available in the recipe file. Stuff like installation path and build directories should be set here.
If a recipe provides files for the users convenience they have to be put into a directory named files/. See TODO
The custom build system expects the scripts in a sub directory named custom/. See TODO
Global recipe and local overrides
The script look for recipes in two locations. Use [recipe]-build info to see where. Here i see
Recipe
------
Name: kde
Short: Build the kde 4.x development branch.
Long: A recipe to build the kde4 development branch. The core modules and some
additional extragear and playground modules are provided.
Warning: This is the development branch for the next kde release. It is not
necessarily stable!
Full Path: /home/mjansen/projects/ruby/build-tool/recipes/kde/recipe
Configuration
-------------
Settings: /home/mjansen/.build-tool/kde.yaml
Overrides: /home/mjansen/.build-tool/kde/recipe
The script load the recipe in the following order:
- The settings file from
/home/mjansen/.build-tool/kde.yamlif it exists. - The original recipe from
/home/mjansen/projects/ruby/build-tool/recipes/kde/recipe. It is first loaded as a erb file and with the values from the settings file in the variablesettings. Then it's parsed. It is not recommended to use more advanced erb features like loops because it makes the error fixing pretty hard. - The local override file
/home/mjansen/.build-tool/kde/recipeis read exactly like the original recipe. It can overwrite, slightly change or remove stuff from the recipe.
If a recipe looks for additional files it first looks in the users ~/.build-tool/[recipe] directory and if it finds a file there uses that one. This makes it possible to adapt a script without contaminating the installation and losing changes when updating the script.

Recent comments
26 weeks 2 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 6 days ago
27 weeks 6 days ago
28 weeks 5 hours ago
28 weeks 9 hours ago
28 weeks 11 hours ago