-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathREADME.md.tmpl
100 lines (69 loc) · 3.89 KB
/
README.md.tmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!--
**NOTE** This file is generated automatically. Please edit `README.md.tmpl` to
make any changes and then rerender the template by running `python render_readme.py`.
-->
# cdt-builds
conda-forge Core Dependency Tree (CDT) builds
## `cdt_slugs.yaml` Configuration Options
The following options are available when adding a CDT in the configuration file:
- `custom` (boolean): Set to `true` to declare the CDT as a custom CDT. This will
cause the CDT generation code to remove any instance of the CDT that appears in the
`cdts` directory.
- `license_file` (str or list of str or null): Sets the license file for a CDT. If set to
a string or a list of strings giving the paths to the files, it will copy the licenses
to the recipe and modify the recipe `meta.yaml` appropriately. If set to `null`, it will
remove the `license_file` key from the `meta.yaml`.
- `build_append` (dict mapping dist-arch to a string): Set this key to append code to the
`build.sh` file for a given distribution and platform. For example, one might set a key
`cos6-x86_64` in this mapping and set the value to `echo 'hi!'` to add `echo 'hi!'` to
the build script for only `cos6-x86_64`.
- `dep_remove` (list of strings): Set to a list of strings for deps that should be remove
- `dep_replace` (dict mapping dep to replace to new dep): Set to a dict of deps to be
replaced by another dep. this can be used for aliased RPMs.
## Adding a CDT package
To add a CDT package, make a PR on this repo with the following changes.
1. Add the name of the CDT `cdt_slugs.yaml` file.
2. Run the python script `gen_cdt_recipes.py`. This script will generate the
CDT recipes that do not exist. Pass `--force` to regenerate all of the
CDT recipes (takes about 10-20 minutes to complete).
3. Commit any changes from steps 1+2 and open the PR.
The CI service will build the CDTs, report any errors, etc.
## Changing the CDT generation script `rpm.py`
If you make changes to the CDT generation script, make a PR on this repo using
the following steps.
1. Make sure the bump the `cdt_build_number` variable in the `conda_build_config.yaml` file.
2. Run the python script `gen_cdt_recipes.py`. This script will generate the
CDT recipes that do not exist. Pass `--force` to regenerate all of the
CDT recipes (takes about 10-20 minutes to complete).
3. Commit any changes from steps 1+2 and open the PR.
The CI service will build the CDTs, report any errors, etc.
## Making Custom CDT recipes
If you have a CDT recipe that is not autogenerated, it can be added as follows.
1. Add the CDT name to the `cdt_slugs.yaml` file. Make sure to set `custom: true`
in the metadata in the file.
2. Add the CDT recipe in a directory under the full CDT package name in the
`custom_cdts` folder. If you do not know, ask someone on `conda-forge/core`.
3. Commit any changes from steps 1+2 and open the PR.
The CI service will build the CDTs, report any errors, etc.
## CDTs constraints
CDTs are meant to work with conda-forge compilers that depend on the
`sysroot_{conda subdir}` packages.
- needs to have `no_hoist` in the source sections
- sysroot directory has `conda` only in the path
- needs to have a `run` requirement on the proper version of the
`sysroot_{subdir}` package so that it is only installed with CDTs from the
right version of CentOS
- the versions of `sysroot_{conda subdir}` are 2.17 for CentOS 7 and 2.28 for Alma 8
## Azure CI Setup
This bit of code was run to setup azure.
```python
from conda_smithy.azure_ci_utils import register_repo, AzureConfig
cfg = AzureConfig(project_name='cdt-builds')
register_repo("conda-forge", "cdt-builds", config=cfg)
```
## Current CDT Builds
| Name | Version |
| ---- | ------- |
{% for cdt in cdts -%}
| [`{{ cdt }}`](https://anaconda.org/conda-forge/{{ cdt }}) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/{{ cdt }}.svg)](https://anaconda.org/conda-forge/{{ cdt }}) |
{% endfor %}