Skip to content

Commit 9b30720

Browse files
committed
add steps to follow, to handle api/abi breakage of a package
1 parent 916a5fe commit 9b30720

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/user/faq.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,20 @@ FAQ
8080
Unfortunately, this is not possible with conda-forge's current infrastructure (``nvcc``, ``cudatoolkit``, etc) if there is no local CUDA Toolkit installation. In particular, the ``nvcc`` package provided on conda-forge is a *wrapper package* that exposes the actual ``nvcc`` compiler to our CI infrastructure in a ``conda``-friendly way; it does not contain the full ``nvcc`` compiler toolchain. One of the reasons is that CUDA headers like ``cuda.h``, ``cuda_runtime.h``, etc, which are needed at compile time, are not redistributable according to NVIDIA's EULA. Likewise, the ``cudatoolkit`` package only contains CUDA runtime libraries and not the compiler toolchain.
8181

8282
If you need to compile CUDA code, even if it involves only CUDA host APIs, you will still need a valid CUDA Toolkit installed locally and use it. Please refer to `NVCC's documentation <https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html>`_ for the CUDA compiler usage and `CUDA Programming Guide <https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html>`_ for general CUDA programming.
83+
84+
.. _faq_api_abi_breakage:
85+
86+
:ref:`(Q) <faq_api_abi_breakage>` **How to handle a ABI/API breakage of a package?**
87+
88+
If your package breaks, here are a few steps you can take to fix it:
89+
90+
- Rebuild the package with corrected ``run_exports`` (build number bump).
91+
- Hot-fix repodata of previous package to apply the right ``run_exports``.
92+
- Hot-fix the repodata of dependencies to include corrected pinnings for the package.
93+
94+
To read more on how to specify ``run_exports``, see `this <https://conda-forge.org/docs/maintainer/pinning_deps.html?highlight=run_exports#specifying-run-exports>`_.
95+
Some of the examples you can see for reference, where broken packages are fixed by:
96+
97+
- `Replacing an existing pin that was incorrect <https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/217>`_.
98+
- `Loosen a pin <https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/132>`_.
99+
- `Tighten a pin <https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/154>`_.

0 commit comments

Comments
 (0)