Page History
...
As for the devel env, but with a file like "/cds/sw/ds/ana/conda2/manage/prod_create.yml" and when we do "conda create" it will pick up the versions that were specified in the feedstock package conda_build_config.yml.
If the pinnings have changed: To make a conda_build_config.yaml, make a devel env, export the pinnings to a yml file, then run a short python script from Valerio to make the new conda_build_config.yml, then regenerate all feedstock packages:
Code Block |
---|
with open("ana-4.0.42.yml", "r") as fh:
lines = fh.readlines()
for l in lines:
items = l.split("=")
name=items[0].split('- ')[1].replace("-","_")
print(f"{name}:\n - {items[1]}={items[2]}") |
To run this script, this file must only be a list of packages: early lines the file (list of channels, etc.) must be removed by hand. In the generated conda_build_config.yml there are a few compiler-related lines like cxx_compiler* that have to be removed, as well as backports.* lines (two or three).
If pinnings have not changed, only need the packages that have changed (e.g. psana, psdaq).
Disappearing Packages
Sometimes our precise pinned package versions disappear from conda-forge. In the past when this happened Valerio was able to manually modify the above pinned yaml files to choose a nearby version. This so far has not broken the fast conda-solver behavior.