Skip to content

Commit

Permalink
remove mentions of legacy CDTs & cos6 from README
Browse files Browse the repository at this point in the history
  • Loading branch information
h-vetinari committed Sep 16, 2024
1 parent 779da0b commit 10afa5e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 40 deletions.
27 changes: 7 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ 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` or `legacy_cdts` directories.
`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
Expand Down Expand Up @@ -64,37 +64,24 @@ 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 either
the `custom_cdts` or `legacy_custom_cdts` folder depending on whether or not
the CDT is targeted at the old-style CDT format or the new-style one. If you
do not know, ask someone on `conda-forge/core`.
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.


## Old-style/legacy vs. New-style CDTs
## CDTs constraints

The old-style CDTs are targeted at the conda-forge compilers that do not use the
`sysroot_{conda subdir}` packages (e.g., `sysroot_linux-64`, `sysroot_linux-aarch64`, etc.)
and build their own copy of glibc. These compilers also have `cos6` or `cos7`
in the name of the sysroot directory. The new-style CDTs use a sysroot directory
without `cos6` or `cos7` and are meant to work with the new conda-forge
compilers that depend on the `sysroot_{conda subdir}` packages.
CDTs are meant to work with conda-forge compilers that depend on the
`sysroot_{conda subdir}` packages.

**old-style CDT specs**
- needs to have `no_hoist` in the source sections
- sysroot directory has `conda_cos6` or `conda_cos7` in the path
- needs to have `run_constrained` entry of `sysroot_{conda subdir} ==99999999999` to prevent
it from being co-installed w/ the new compilers or CDTs

**new-style CDT specs**
- 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.12 for CentOS 6 and 2.17 for CentOS 7.
- the versions of `sysroot_{conda subdir}` are 2.17 for CentOS 7 and 2.28 for Alma 8

## Azure CI Setup

Expand Down
27 changes: 7 additions & 20 deletions README.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ 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` or `legacy_cdts` directories.
`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
Expand Down Expand Up @@ -64,37 +64,24 @@ 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 either
the `custom_cdts` or `legacy_custom_cdts` folder depending on whether or not
the CDT is targeted at the old-style CDT format or the new-style one. If you
do not know, ask someone on `conda-forge/core`.
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.


## Old-style/legacy vs. New-style CDTs
## CDTs constraints

The old-style CDTs are targeted at the conda-forge compilers that do not use the
`sysroot_{conda subdir}` packages (e.g., `sysroot_linux-64`, `sysroot_linux-aarch64`, etc.)
and build their own copy of glibc. These compilers also have `cos6` or `cos7`
in the name of the sysroot directory. The new-style CDTs use a sysroot directory
without `cos6` or `cos7` and are meant to work with the new conda-forge
compilers that depend on the `sysroot_{conda subdir}` packages.
CDTs are meant to work with conda-forge compilers that depend on the
`sysroot_{conda subdir}` packages.

**old-style CDT specs**
- needs to have `no_hoist` in the source sections
- sysroot directory has `conda_cos6` or `conda_cos7` in the path
- needs to have `run_constrained` entry of `sysroot_{conda subdir} ==99999999999` to prevent
it from being co-installed w/ the new compilers or CDTs

**new-style CDT specs**
- 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.12 for CentOS 6 and 2.17 for CentOS 7.
- the versions of `sysroot_{conda subdir}` are 2.17 for CentOS 7 and 2.28 for Alma 8

## Azure CI Setup

Expand Down

0 comments on commit 10afa5e

Please sign in to comment.