Add a how to for packaging a fork#2780
Conversation
✅ Deploy Preview for conda-forge-previews ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
CC @carterbox |
carterbox
left a comment
There was a problem hiding this comment.
The first four ## headings are different approaches of packaging a fork. The last two ## headings are discussion about the pro/con of different approaches. They should not all be at the same heading level.
The points of the last two headings should probably just be integrated into the text of relevant section which describes the approach OR the current sections should be reorganized into three levels of hierachy instead of two.
| This is usually done via prepending or appending the fork owner, or some distinguishing keyword to the package name. | ||
| This is similar to how different packages that happened to use the same name are handled. | ||
|
|
||
| For example, a fork updating `django-cryptography` package to support Django 5 was packaged as `django-cryptography-django5`. A fork of `ctypesgen` by `pypdfium2-team` was packaged as `ctypesgen-pypdfium2-team`. |
There was a problem hiding this comment.
None of the examples in this section have prepended owner names. They are all appended owner names. However, prepending should be the preferred convention because it follows the naming convention of forks on GitHub (owner/repo) and appending is usually how subpackages are indicated (package-feature).
There was a problem hiding this comment.
Do you know any examples I could cite here? I couldn't think of a clear way to find these.
There was a problem hiding this comment.
faust-cchardet
There was a problem hiding this comment.
I tried search for the mutex syntax, but I think there aren't many examples where both the fork and the upstream package exist on channel.
https://github.com/search?q=org%3Aconda-forge+%3C0.0a0+language%3AYAML&type=code&l=YAML
There was a problem hiding this comment.
My project uses the pre-pend name approach:
https://github.com/conda-forge/carterbox-torch-radon-feedstock
This project is technically a rename because the upstream source project is literally called "phenomenizer-fork"
https://github.com/conda-forge/phonemizer-fork-feedstock
These two forks of sdsl both opened staged-recipes in 2022, but were scared off when I asked them to rebrand.
conda-forge/staged-recipes#20669 (comment)
conda-forge/staged-recipes#17965
There was a problem hiding this comment.
faust-cchardet
Yeah, but that's the PyPI name, so not really a case of downstream renaming.
My project uses the pre-pend name approach:
https://github.com/conda-forge/carterbox-torch-radon-feedstock
Yeah, I suppose that will work.
There was a problem hiding this comment.
Yeah, but that's the PyPI name, so not really a case of downstream renaming.
That's the point? If they don't want to brand their fork, they can prefix the fork owner's name to the conda package name. Both forks are cChardet. On PYPI, one is cchardet and the other is faust-cchardet because the owner of the fork is faust.
There was a problem hiding this comment.
Oh, so we're talking about upstream too. My assumption was that the "rebranding" section was about what upstream does, while this section was about what we do when upstream doesn't use an original name.
There was a problem hiding this comment.
I think we're agreeing. This section is about naming the conda package differently from the source repo / project name by prepending the author's name to the conda package name.
|
Yeah, I need to improve the organization. Part of the problem is that some points are common to more than one approach, and I didn't really want to repeat them, or say "same as X". |
ee8b0ab to
9178cde
Compare
|
Addressed all comments except for the examples, and rebased. |
Fixes conda-forge#1851 Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
07343d5 to
abf45db
Compare

PR Checklist:
docs/orcommunity/, you have added it to the sidebar in the corresponding_sidebar.jsonfileAn initial attempt to describe the recommendations and risks. Largely based on #1851, though I've expanded it a bit based on my past Gentoo experience. The specific points are open to discussion.
Fixes #1851