conda-forge / conda-forge/conda-forge.github.io
Package transitions at conda-forge
- 主要言語
- JavaScript
- スター
- 170
- フォーク
- 320
- 平均マージ
- 2日 10時間
- マージ済み PR(30日)
- 5
説明
### Your question:
As more features and libraries have been added to the conda-forge ecosystem, some maintainers have expressed the desire to reduce the total number of dependencies imposed on their users.
While a few proposals have been raised to improve creating split packages, [standardized naming](https://github.com/conda-forge/conda-forge.github.io/issues/544), catch all for files, one challenge in our ecosystem remains in terms of how to deal with the package transition.
Specifically, these package splits typically occur in phases as:
1. Maintainers gain interest in splitting off certain features.
2. Maintainers learn about different flags proposed upstream.
3. Upstream exposes new capabilities in splitting a package.
The use case I'm particularly concerned with, is with large "mega packages" such as `vtk`, `ffmpeg`, `opencv` where plugin mechanisms may exist that enable discovery of extra features at runtime.
It may be desirable for example:
1. On one day, to split off opencv-hdf5 to a new package. Creating `opencv-base` and `opencv-hdf5`.
2. It may be desirable the next day, to also split off `libopencv_highgui`,
But since we have already used our name "base", we are now stuck with the current tools I know of at conda-forge.
### External references
* Debian's transition guide: https://wiki.debian.org/PackageTransition
* Fedora's transition guide: https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages
https://github.com/conda-forge/conda-forge.github.io/issues/544
#### Packages that are considering splits for various reasons:
* Removal of optional dependency (ffmpeg) https://github.com/conda-forge/vtk-feedstock/pull/282
* Removal of heavy dependency (qt) https://github.com/conda-forge/opencv-feedstock/pull/337
* Removal of heavy dependency (qt) https://github.com/conda-forge/matplotlib-feedstock/pull/178
#### Packages where splitting was (seemingly) not possible:
* https://github.com/conda-forge/ffmpeg-feedstock/pull/138
#### Packages where creating a split package stalled due to unclear (realistic) transition path:
* Splitting qt-base into finer grained packages https://github.com/conda-forge/qt-main-feedstock/issues/78
コントリビューションガイド
評価
この issue はまだ評価されていません。