CEP 14: document additional fields in source items - #176
Conversation
Following CEP-0014 (conda/ceps#176), which specifies `filter` on `url`, `path`, and `git` sources, extend filter support to git sources as well. The filter is applied to the checked-out tree when copying it into the work directory, mirroring the url/path behavior. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RxSDwdYTY8h7T8VRHR5wmD
| # variables that are resolved before collection: ${{ PREFIX }}, ${{ BUILD_PREFIX }}, | ||
| # ${{ SRC_DIR }}, ${{ RECIPE_DIR }}, and ${{ BUILD_DIR }}. |
There was a problem hiding this comment.
Where are these variables defined in the CEPs? (Are they?)
There was a problem hiding this comment.
We don't have a CEP for the Jinja / Env vars yet. I think I had something prepared but haven't really finished it. Might be good to start something though ...
| > This per-index folder layout has been superseded. The rendered tests are | ||
| > serialized to a single `info/tests/tests.yaml` file, and additional test | ||
| > element types (`package_contents`, `perl`, `r`, `ruby`) as well as the | ||
| > `python_version` field were added. See [CEP 48](./cep-0048.md). |
There was a problem hiding this comment.
This doesn't exist yet, does it?
There was a problem hiding this comment.
Nope it doesn't! Although I prepared something.
|
|
||
| `build.post_process` applies regex-based text replacements to files in the | ||
| package during the packaging phase. Each entry MUST specify all three of | ||
| `files`, `regex`, and `replacement`. The following semantics apply: |
There was a problem hiding this comment.
What type of regex are allowed? Which part of the match is replaced? The whole thing or just the capture group?
source items
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
| # pre-link: path | ||
| ``` | ||
|
|
||
| #### Post-processing |
There was a problem hiding this comment.
My concern about the addition of this feature to the standard is that it may cause scope creep of the purpose of conda package builders and that it may make processors of the recipe standard harder to fully implement.
Do these new keywords enable something that was not possible before? Or are they just moving a task that was previously possible as bash/batch as part of the build script into the implementation of the package builder?
Is this capability an essential function for shipping correct conda packages?
Is there an example where it is essential that a package builder can do arbitrary regex replacement?
| # whether to recursively initialize and update git submodules | ||
| submodules: bool (defaults to true) |
There was a problem hiding this comment.
Would be a change in the default behavior of existing package builders (default true instead of false)? IIRC, currently when the source is a git repository submodules are not initialized by default?
Maybe I'm misremembering because on CF we have a policy that sources should be unpacked from archives, so submodules have to be listed as separate sources.
|
|
||
| SVN and HG (mercury) source definitions are removed as they are not relevant anymore. | ||
|
|
||
| ### Source filters |
There was a problem hiding this comment.
Similar to my other note about post-processing. I can see the utility of removing unused artifacts from a source, but this could also be accomplished as the first step of the build script?
Changes to the source items: prefix-dev/rattler-build#2608
Checklist for submitter
cep-0000.mdnamedcep-XXXX.mdin the root level.CEP XX: Amend XYZ.## Changelogsection right above the final "Copyright" section with an item that uses syntaxYYYY-MM-DD: Brief explanation of changes.Checklist for CEP approvals
${greatest-number-in-main} + 1.cep-XXXX.mdfile has been renamed accordingly.# CEP XXXX -header has been edited accordingly.pre-commitchecks are passing.