sclorg/rhscl-rebuild-recipes

Name: rhscl-rebuild-recipes

Owner: Software Collections

Description: This repository is intended to gather recipes to rebuild Software Collections we have now in RHSCL.

Created: 2015-05-15 15:05:29.0

Updated: 2018-04-10 08:51:34.0

Pushed: 2018-04-10 08:51:33.0

Homepage:

Size: 44

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Rebuild recipes for Software Collections

The rebuild recipe is a YAML file to manage a collection that will include steps to build the collection from scratch We will aim to prepare the recipe for every collection. This will also help everybody else (users/customers) trying to do the same, so it may be part of the documentation later as well.

The recipes could be also available at https://www.softwarecollections.org/en/docs/ in the future.

How to create the recipe file
Deciding the recipe file name

Create your recipe file as RECIPE_NAME.yml to manage a list of collection. For example a recipe file python.yml can manage a collection python27 and rh-python34.

File syntax

Below is the file syntax.

ECTION_ID_A:
me: COLLECTION_NAME
quires:
- COLLECTION_ID_1
- COLLECTION_ID_2
...
- COLLECTION_ID_N
ckages:
- PACKAGE_1
- PACKAGE_2:
  macros:
    MACRO_NAME_1: MACRO_VALUE_1
    MACRO_NAME_2: MACRO_VALUE_2
    ...
    MACRO_NAME_N: MACRO_VALUE_N
  replaced_macros:
    MACRO_NAME_1: MACRO_VALUE_1
    MACRO_NAME_2: MACRO_VALUE_2
    ...
    MACRO_NAME_N: MACRO_VALUE_N
  cmd: COMMAND,
  cmd:
    - COMMAND_1
    - COMMAND_2
    ...
    - COMMAND_N
  dist: DIST_RE
  platforms:
    - PLATFORM_1
    - PLATFORM_2
    ...
    - PLATFORM_N
  patch: PATCH_CONTENT
- PACKAGE_3
...
- PACKAGE_N

ECTION_ID_B:
.
Element and Status

| Element | Decscription | Kind | Required? | Supported? | | ——- | ———— | —- | ——— | ———- | | COLLECTION_ID | Unique string to describe a collection. It is recommended to use SCL name if possible. | Scalar | Yes | Yes | | COLLECTION_ID/name | Collection name. just for completeness | Scalar | No | Yes | | COLLECTION_ID/requires | Sequences of collections that the collection depends on | Sequences | No | No | | COLLECTION_ID/packages | Sequences of SRPM belonging to particular collection by build order. | Sequences of Union (Scalar or Mappings) | Yes | Yes | | COLLECTION_ID/packages/PACKAGE/macros | Mappings of macros to break circular dependencies. Insert those to top of the RPM spec file such as rpmbuild --define | Mappings | No | Yes | | COLLECTION_ID/packages/PACKAGE/replaced_macros | Mappings of macros to break circular dependencies. Those replaces the value of macro that has already defined in the RPM spec file. | Mappings | No | Yes | | COLLECTION_ID/packages/PACKAGE/cmd | Not recommended. But if macros and replaced_macros are not enough for your requirement, you can use it. For example sed -i 'something' foo.spec to edit RPM spec file. | Union (Scalar or Sequences) | No | Yes | | COLLECTION_ID/packages/PACKAGE/dist | Distribution platforms that are considered to build. The format is a regular expression. A platforms element was changed to this element. Use dist instead of platforms element. | Scalar | No | Yes | | COLLECTION_ID/packages/PACKAGE/patch | Deprecated, due to that it can be replaced as macros, replaced_macros, or cmd element. | Scalar | No | No | | COLLECTION_ID/packages/PACKAGE/platforms | Deprecated, due to that it can be replaced as dist element. Set of platforms that are considered to build. | Sequences | No | No |

Caution: “Supported?” column means whether the element is supported by the tool to parse the recipe file and build automatically: RPM List Builder. If the element is Supported?: No, the status is only proposed. It can be chnaged in the future.

Example

Here is an example of the recipe.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.