Skip to content

Commit

Permalink
Merge pull request #55 from thomann/main
Browse files Browse the repository at this point in the history
Add pam-devel and its dependencies pam, audit-libs, cracklib, cracklib-dicts, and libpwquality
  • Loading branch information
h-vetinari authored Sep 17, 2024
2 parents dc76cf9 + dac087a commit fb6bb60
Show file tree
Hide file tree
Showing 2,616 changed files with 6,230 additions and 231,541 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
* text=auto

cdts/* linguist-generated=true
cdts/*/* linguist-generated=true
legacy_cdts/* linguist-generated=true
Expand Down
205 changes: 27 additions & 178 deletions README.md

Large diffs are not rendered by default.

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
50 changes: 32 additions & 18 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,48 @@ jobs:
timeoutInMinutes: 360
strategy:
matrix:
cos6_x86_64_legacy:
DISTARCH: 'cos6-x86_64'
LEGACYCDT: '--legacy'
cos7_aarch64_legacy:
DISTARCH: 'cos7-aarch64'
LEGACYCDT: '--legacy'
cos7_ppc64le_legacy:
DISTARCH: 'cos7-ppc64le'
LEGACYCDT: '--legacy'
cos6_x86_64:
DISTARCH: 'cos6-x86_64'
LEGACYCDT: ''
cos7_x86_64:
DISTARCH: 'cos7-x86_64'
LEGACYCDT: ''
cos7_aarch64:
DISTARCH: 'cos7-aarch64'
LEGACYCDT: ''
cos7_ppc64le:
DISTARCH: 'cos7-ppc64le'
LEGACYCDT: ''
maxParallel: 0

steps:

- checkout: self
clean: true

- script: |
sudo mkdir -p /opt/empty_dir || true
for d in \
/opt/ghc \
/opt/hostedtoolcache \
/usr/lib/jvm \
/usr/local/.ghcup \
/usr/local/lib/android \
/usr/local/share/powershell \
/usr/share/dotnet \
/usr/share/swift \
; do
sudo rsync --stats -a --delete /opt/empty_dir/ $d || true
done
sudo apt-get purge -y -f firefox \
google-chrome-stable \
microsoft-edge-stable
sudo apt-get autoremove -y >& /dev/null
sudo apt-get autoclean -y >& /dev/null
df -h
displayName: Manage disk space
- script: |
sudo fallocate -l 15GiB /swapfile || true
sudo chmod 600 /swapfile || true
sudo mkswap /swapfile || true
sudo swapon /swapfile || true
displayName: Create swap file
- bash: |
sudo apt-get remove -y --auto-remove gcc
sudo apt-get purge -y --auto-remove gcc
Expand All @@ -52,12 +66,12 @@ jobs:
mkdir -p build_logs
echo "cmd args: ${DISTARCH} ${LEGACYCDT}"
python build_cdt_recipes.py ${DISTARCH} ${LEGACYCDT}
echo "cmd args: ${DISTARCH}"
python build_cdt_recipes.py ${DISTARCH}
displayName: build and upload CDTs
env:
ANACONDA_TOKEN: $(anaconda.token)
IS_FORK: $(System.PullRequest.IsFork)
- publish: build_logs/
artifact: build-logs-$(DISTARCH)$(LEGACYCDT)-azurejob$(system.JobId)
artifact: build-logs-$(DISTARCH)-azurejob$(system.JobId)
12 changes: 1 addition & 11 deletions build_cdt_recipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
from conda.core.index import get_index

from cdt_config import (
LEGACY_CDT_PATH,
LEGACY_CUSTOM_CDT_PATH,
CDT_PATH,
CUSTOM_CDT_PATH,
)
Expand Down Expand Up @@ -288,23 +286,15 @@ def _build_all_cdts(cdt_path, custom_cdt_path, dist_arch_slug):

@click.command()
@click.argument("dist_arch_slug", required=True)
@click.option(
"--legacy", default=False, is_flag=True,
help="Build old-style, legacy CDTs in the legacy_* folders."
)
def _main(
dist_arch_slug,
legacy
):
"""
Build all CDT recipes for a given DIST_ARCH_SLUG (e.g. cos6-x86_64,
cos7-aarch64, etc.)
"""

if legacy:
_build_all_cdts(LEGACY_CDT_PATH, LEGACY_CUSTOM_CDT_PATH, dist_arch_slug)
else:
_build_all_cdts(CDT_PATH, CUSTOM_CDT_PATH, dist_arch_slug)
_build_all_cdts(CDT_PATH, CUSTOM_CDT_PATH, dist_arch_slug)


if __name__ == "__main__":
Expand Down
2 changes: 0 additions & 2 deletions cdt_config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
LEGACY_CDT_PATH = "legacy_cdts"
LEGACY_CUSTOM_CDT_PATH = "legacy_custom_cdts"
CDT_PATH = "cdts"
CUSTOM_CDT_PATH = "custom_cdts"
Loading

0 comments on commit fb6bb60

Please sign in to comment.