conda-forge / conda-forge/conda-forge.github.io

Package transitions at conda-forge

Đang mở
#1,894 5 bình luận 2 reaction 0 người được giao Xem trên GitHub
question
Ngôn ngữ chính
JavaScript
Star
170
Fork
320
Merge trung bình
2 ngày 10 giờ
Pull request đã merge (30 ngày)
5

Mô tả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.