You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**A**pplication **B**inary **I**nterface. ABI is a document that comprehensively defines the binary system interface between applications and the operating system on which they run. [Learn More at Wikipedia](https://en.wikipedia.org/wiki/Application_binary_interface) or [pypackaging-native](https://pypackaging-native.github.io/background/binary_interface).
19
+
Application Binary Interface. ABI is a document that comprehensively defines the binary system interface between applications and the operating system on which they run.
20
+
21
+
Learn More at [Wikipedia](https://en.wikipedia.org/wiki/Application_binary_interface) or [pypackaging-native](https://pypackaging-native.github.io/background/binary_interface).
22
+
23
+
<aid="term-CDN"></a>
24
+
25
+
## CDN
26
+
27
+
Content Delivery Network. CDNs are geographically distributed networks of servers that mirror the contents of a primary source. Having multiple servers offering the same content increases performance (reduced latency, higher download speeds) and availability.
**C**ore **D**ependency **T**ree. Core Dependency Tree packages take care of the dependencies which are so close to the system that they are not packaged with conda-forge. A CDT package consists of repackaged CentOS binaries from the appropriate version, either 6 or 7 depending on user choice and platform. [Learn more](maintainer/knowledge_base.md#cdt-packages).
35
+
Core Dependency Tree. Core Dependency Tree packages take care of the dependencies that are so close to the system that they are not packaged with conda-forge. For example, in conda-forge, we have used repackaged CentOS 6 or 7 binaries for some time.
**C**ommand **L**ine **I**nterface. A program in which commands are entered as text, one line at a time, for a computer to execute. This is done in the Miniforge Prompt in Windows, and in a terminal in macOS and Linux. `conda` is executed in a CLI. [Learn More](https://en.wikipedia.org/wiki/Command-line_interface).
39
+
<aid="term-CFEP"></a>
40
+
41
+
## CFEP
42
+
43
+
Conda Forge Enhancement Proposal. A CFEP is a document that outlines a suggested change to how the conda-forge project operates, from a technical standpoint as well as to address social topics such as governance and expected conduct.
**C**ontinuous **I**ntegration. Continuous integration is the practice of automating the integration of code changes from multiple contributors into a single software project. [Learn More](https://en.wikipedia.org/wiki/Continuous_integration).
51
+
Continuous Integration. Continuous integration is the practice of automating the integration of code changes from multiple contributors into a single software project.
**C**onda **F**orge **E**nhancement **P**roposal. A CFEP is a document which outlines a suggested change to how the conda-forge project operates, from a technical standpoint as well as to address social topics such as governance and expected conduct. [Learn More](https://github.com/conda-forge/cfep/blob/main/cfep-01.md/).
57
+
## CLI
58
+
59
+
Command Line Interface. A textual interface of a program that allows the user to control the program with a single command line, which is entered in a command-line environment, such as the Miniforge Prompt on Windows, or a terminal on MacOS and Linux. An example of a program offering a CLI is `conda`.
Conda channels are the locations where packages are stored. They serve as the base for hosting and managing packages. `conda-forge` is one example of a conda channel. [Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html).
67
+
Conda channels are the locations where packages are stored. They serve as the base for hosting and managing packages. `conda-forge` is one example of a conda channel.
A conda package is a `.tar.bz2` or `.conda` archive that contains libraries, executable programs, data files and other components, as well as metadata under the `info/` directory. Its contents are unpacked in the installation prefix. [Learn More](<https://en.wikipedia.org/wiki/Conda_(package_manager)>).
75
+
A conda package is a `.tar.bz2` or `.conda` archive that contains libraries, executable programs, data files and other components, as well as metadata under the `info/` directory. Its contents are unpacked in the installation prefix.
**C**omprehensive **R****A**rchive **N**etwork. CRAN is a network of FTP and web servers around the world that store identical, up-to-date, versions of code and documentation for R. [Learn More](https://cran.r-project.org/).
83
+
Comprehensive R Archive Network. CRAN is a network of FTP and web servers around the world that store identical, up-to-date versions of code and documentation for R.
84
+
85
+
[Learn More](https://cran.r-project.org/).
59
86
60
87
<aid="term-Environment"></a>
61
88
62
89
## Environment
63
90
64
-
An environment is a tool that helps to keep dependencies required by different projects separate by creating isolated spaces where these dependencies are installed. [Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html).
91
+
An environment is a tool that helps to keep dependencies required by different projects separate by creating isolated spaces where these dependencies are installed.
**I**nternational **C**omponents for **U**nicode. ICU is an open-source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization. [Learn More](https://icu.unicode.org/).
99
+
International Components for Unicode. ICU is an open-source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization.
100
+
101
+
[Learn More](https://icu.unicode.org/).
71
102
72
103
<aid="term-PR"></a>
73
104
74
105
## PR
75
106
76
-
**P**ull **R**equest. Pull Request is a workflow method to submit contributions to an open development project in which the developer asks for changes committed to an external repository to be considered for inclusion in a project's main repository. [Learn More](https://help.github.com/articles/about-pull-requests/).
107
+
Pull Request. A Pull Request is a workflow method to submit contributions to an open development project in which the developer asks for changes committed to an external repository to be considered for inclusion in a project's main repository.
A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](maintainer/adding_pkgs.md#the-recipe-meta-yaml) file, but can also include license files, patches, build scripts, test scripts etc. [Learn More](https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html).
115
+
A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](maintainer/adding_pkgs.md#the-recipe-meta-yaml) file, but can also include license files, patches, build scripts, test scripts etc.
Virtual packages are not real packages that can be downloaded. They are injected by the conda clients at runtime so the solver can consider that metadata as part of the constraints of the problem. By convention, they always start with a double underscore (`__`). Some examples include the type of operating system (Linux, Windows, macOS), or the CUDA version supported by the system (if any). [Learn More](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html).
123
+
Virtual packages are not real packages that can be downloaded. They are injected by the conda clients at runtime so the solver can consider that metadata as part of the constraints of the problem. By convention, they always start with a double underscore (`__`). Some examples include the type of operating system (Linux, Windows, macOS), or the CUDA version supported by the system (if any).
Copy file name to clipboardExpand all lines: docs/maintainer/adding_pkgs.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,7 +134,7 @@ Once you finished your PR, all you have to do is wait for feedback from our revi
134
134
135
135
The review team will assist you by pointing out improvements and answering questions. Once the package is ready, the reviewers will approve and merge your pull request.
136
136
137
-
After merging the [PR](../glossary.md#term-PR), our [CI](../glossary.md#term-CI) infrastructure will build the package and make it available in the conda-channel.
137
+
After merging the [PR](../glossary.md#pr), our [CI](../glossary.md#ci) infrastructure will build the package and make it available in the conda-channel.
138
138
139
139
:::note
140
140
@@ -148,10 +148,10 @@ If you have questions or have not heard back for a while, you can notify us by i
148
148
149
149
## Post staging process
150
150
151
-
- After the PR is merged, our [CI](../glossary.md#term-CI) services will create a new git repo automatically. For example, the recipe for a package named `pydstool` will be moved to a new repository [https://github.com/conda-forge/pydstool-feedstock](https://github.com/conda-forge/pydstool-feedstock). This process is automated through a CI job on the `conda-forge/staged-recipes` repo. It sometimes fails due to API rate limits and will automatically retry itself. If your feedstock has not been created after a day or so, please get in touch with the `conda-forge/core` team for help.
151
+
- After the PR is merged, our [CI](../glossary.md#ci) services will create a new git repo automatically. For example, the recipe for a package named `pydstool` will be moved to a new repository [https://github.com/conda-forge/pydstool-feedstock](https://github.com/conda-forge/pydstool-feedstock). This process is automated through a CI job on the `conda-forge/staged-recipes` repo. It sometimes fails due to API rate limits and will automatically retry itself. If your feedstock has not been created after a day or so, please get in touch with the `conda-forge/core` team for help.
152
152
- CI services will be enabled automatically and a build will be triggered automatically which will build the conda package and upload to [https://anaconda.org/conda-forge](https://anaconda.org/conda-forge)
153
153
- If this is your first contribution, you will be added to the conda-forge [team](https://github.com/orgs/conda-forge/people) and given access to the CI services so that you can stop and restart builds. You will also be given commit rights to the new git repository.
154
-
- If you want to make a change to the recipe, send a [PR](../glossary.md#term-PR) to the git repository from a fork. Branches of the main repository are used for maintaining different versions only.
154
+
- If you want to make a change to the recipe, send a [PR](../glossary.md#pr) to the git repository from a fork. Branches of the main repository are used for maintaining different versions only.
155
155
156
156
<aid="feedstock-repository-structure"></a>
157
157
@@ -196,7 +196,7 @@ This file is used to configure how the feedstock is set up and built. Making any
196
196
197
197
The maintainer's job is to:
198
198
199
-
- Keep the feedstock updated by merging eventual maintenance [PR](../glossary.md#term-PR)s from conda-forge's bots.
199
+
- Keep the feedstock updated by merging eventual maintenance [PR](../glossary.md#pr)s from conda-forge's bots.
200
200
- Keep the feedstock on par with new releases of the source package by:
201
201
- Bumping the version number and checksum.
202
202
- Making sure that the feedstock's requirements stay accurate.
@@ -452,26 +452,26 @@ Run dependencies are only required during run time of the package. Run dependenc
452
452
453
453
#### Avoid external dependencies
454
454
455
-
As a general rule: all dependencies have to be packaged by conda-forge as well. This is necessary to assure [ABI](../glossary.md#term-ABI) compatibility for all our packages.
455
+
As a general rule: all dependencies have to be packaged by conda-forge as well. This is necessary to assure [ABI](../glossary.md#abi) compatibility for all our packages.
456
456
457
457
There are only a few exceptions to this rule:
458
458
459
-
1. Some dependencies have to be satisfied with [CDT](../glossary.md#term-CDT) packages (see [Core Dependency Tree Packages (CDTs)](knowledge_base.md#cdt-packages)).
459
+
1. Some dependencies have to be satisfied with [CDT](../glossary.md#cdt) packages (see [Core Dependency Tree Packages (CDTs)](knowledge_base.md#cdt-packages)).
460
460
2. Some packages require root access (e.g. device drivers) that cannot be distributed by conda-forge. These dependencies should be avoided whenever possible.
461
461
462
462
<a id="pinning"></a>
463
463
464
464
#### Pinning
465
465
466
-
Linking shared c/c++ libraries creates dependence on the [ABI](../glossary.md#term-ABI) of the library that was used at build time on the package.
466
+
Linking shared c/c++ libraries creates dependence on the [ABI](../glossary.md#abi) of the library that was used at build time on the package.
467
467
The exposed interface changes when previously existing exposed symbols are deleted or modified in a newer version.
468
468
469
-
It is therefore crucial to ensure that only library versions with a compatible [ABI](../glossary.md#term-ABI) are used after linking.
469
+
It is therefore crucial to ensure that only library versions with a compatible [ABI](../glossary.md#abi) are used after linking.
470
470
471
471
In the best case, the shared library you depend on:
472
472
473
473
- defines a pin in the [list of globally pinned packages](https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/master/recipe/conda_build_config.yaml)
474
-
- exports its [ABI](../glossary.md#term-ABI) compatible requirements by defining `run_exports` in it's meta.yaml
474
+
- exports its [ABI](../glossary.md#abi) compatible requirements by defining `run_exports` in it's meta.yaml
475
475
476
476
In these cases you do not have to worry about version requirements:
477
477
@@ -483,7 +483,7 @@ requirements:
483
483
- libpng
484
484
```
485
485
486
-
In other cases you have to specify [ABI](../glossary.md#term-ABI) compatible versions manually.
486
+
In other cases you have to specify [ABI](../glossary.md#abi) compatible versions manually.
487
487
488
488
```yaml
489
489
requirements:
@@ -555,7 +555,7 @@ But every conda package must have at least _some_ tests.
555
555
Sometimes defining tests seems to be hard, e.g. due to:
556
556
557
557
- tests for the underlying code base may not exist.
558
-
- test suites may take too long to run on limited [CI](../glossary.md#term-CI) infrastructure.
558
+
- test suites may take too long to run on limited [CI](../glossary.md#ci) infrastructure.
559
559
- tests may take too much bandwidth.
560
560
561
561
In these cases, conda-forge may not be able to execute the prescribed test suite.
Copy file name to clipboardExpand all lines: docs/maintainer/infrastructure.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -161,7 +161,7 @@ Package-wide dependency pins are defined in [conda_build_config.yaml](https://gi
161
161
162
162
For more information on conda-forge wide package pins, please refer to [Globally pinned packages](pinning_deps.md#globally-pinned-packages).
163
163
164
-
Please open a [PR](../glossary.md#term-PR) and/or an issue there, if you think a pin needs to be advanced. For more information on updating globally pinned packages, please refer to [Updating package pins](pinning_deps.md#update-pins).
164
+
Please open a [PR](../glossary.md#pr) and/or an issue there, if you think a pin needs to be advanced. For more information on updating globally pinned packages, please refer to [Updating package pins](pinning_deps.md#update-pins).
165
165
166
166
#### conda-forge-repodata-patches
167
167
@@ -226,7 +226,7 @@ Smithy contains maintenance code for conda-forge, which is used by the `conda-sm
226
226
227
227
- The rerendering process
228
228
- The recipe linter
229
-
-[CI](../glossary.md#term-CI) support utils
229
+
-[CI](../glossary.md#ci) support utils
230
230
231
231
`conda-smithy` also contains the command line tool that you should use if you rerender manually from the command line (see [Rerendering feedstocks](updating_pkgs.md#dev-update-rerender)).
Copy file name to clipboardExpand all lines: docs/maintainer/pinning_deps.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ There is additional documentation on this pinning scheme in [the conda docs](htt
84
84
85
85
## Specifying run_exports
86
86
87
-
The `run_exports` feature can be used to specify the versions that are [ABI](../glossary.md#term-ABI) compatible with the built version. This leads to higher flexibility of choosable packages, without breakages due to incompatibilities.
87
+
The `run_exports` feature can be used to specify the versions that are [ABI](../glossary.md#abi) compatible with the built version. This leads to higher flexibility of choosable packages, without breakages due to incompatibilities.
88
88
89
89
Packages that depend on a package with `run_exports` can choose to overwrite this behavior using the `build/ignore_run_exports` key.
90
90
@@ -123,7 +123,7 @@ be added by hand. To do this, follow these steps:
123
123
1. Create a new migration yaml by copying [example.exyaml](https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/master/recipe/migrations/example.exyaml) in the `conda-forge/conda-forge-pinning` repository.
124
124
2. Change the migration yaml to reflect the package and version to be migrated
125
125
3. Write a migrator for propagating the pin changes.
126
-
4. Propose the changes as a [PR](../glossary.md#term-PR) to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock).
126
+
4. Propose the changes as a [PR](../glossary.md#pr) to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock).
127
127
5. Once accepted the migration will begin. The migration status can be monitored at [https://conda-forge.org/status](https://conda-forge.org/status).
128
128
6. After the migration is complete, a new PR can be issued to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock) to:
129
129
- Remove the migrator yaml for the completed migration
0 commit comments