Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve .conda support in conda-build #15

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
38 changes: 38 additions & 0 deletions cep-cb-conda-format.md
@@ -0,0 +1,38 @@
<table>
<tr><td> Title </td><td> Improved support for .conda packages in conda-build </td>
<tr><td> Status </td><td> Proposed </td></tr>
<tr><td> Author(s) </td><td> Steve Croce &lt;scroce@anaconda.com&gt;</td></tr>
<tr><td> Created </td><td> Dec 29, 2021</td></tr>
<tr><td> Updated </td><td> Jan 18, 2022</td></tr>
<tr><td> Discussion </td><td> NA </td></tr>
<tr><td> Implementation </td><td> To be implemented </td></tr>
</table>

## Abstract

The `.conda` package format has been in use within the conda ecosystem for years and has a number of advantages over the `.tar.bz2` format. However, building both `.conda` and `.tar.bz2` packages still requires multiple steps and is not well documented. conda-build should fully support building and outputting `.conda` package formats in addition to the "legacy" `.tar.bz2` format either individually or at the same time.

## Specification

Today, conda-build includes functionality to create `.conda` packages if:

- in a package's meta.yaml, output `type` field set to `conda_v2` *OR*
- in .condarc, `pkg_format` is set to 2

The proposal is to:

- Expand the `pkg_format` setting in the .condarc to accept a list of formats to build.
- Expand the conda_build_config.yaml with a setting to provide package format(s) and accept a list of formats.
- Improve conda-build's documentation for the package format and how to create it

A topic for discussion is whether default behavior should changed at some point to build both `.tar.bz2` and `.conda`, and the appropriate timeline to do so. This could help improve adoption and support of the `.conda` format.

## Reference

* https://docs.google.com/document/d/1HGKsbg_j69rKXPihhpCb1kNQSE8Iy3yOsUU2x68x8uw/edit
* https://github.com/conda/conda/pull/8265
* https://github.com/conda/conda-build/pull/3334

## Copyright

All CEPs are explicitly [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).