Closed Marco-Sulla closed 2 years ago
Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe
) and found it was in an excellent condition.
I don't understand. It seems it continues to build a noarch package for every architecture... Have I to try and merge? What do you suggest?
Let me ask the experts on https://gitter.im/conda-forge/conda-forge.github.io what the suggested route is
@conda-forge-admin please rerender
continues to build a noarch package for every architecture...
yep: the multi-output approach will always build all of them. It's possible to use some jinja magic, to force just one build by e.g.
{% set build_noarch = False %}
{% set build_noarch = True %} # [some selector]
...
outputs:
{% if build_noarch}
- name: frozendict-noarch
...
{% endif %}
But.... what is the motivation here? A downstream that needs frozendict
would not be satisfied with frozendict-noarch
.
It is possible to build multiple, like-named packages by changing something else (usually the build number) but this can be more confusing, and usually reserved for packages that would help lots of other packages stay noarch: python
... but usually, if there is a performance-related compiled component, it's worth keeping that as the preferred default, if at all possible.
Ok, thank you ltalirz and bollwyvl, I think I'll merge as-is :)
Excuse me, yesterday was late and I didn't understand what you wrote. The fact is that if I name a build frozendict-noarch, the wheel will have this name, right? So the only chance I have is to change the build number? It will not reset to zero by the bot? This way I'll have a frozendict-VERSION-py3-none-any.whl, or it will create a noarch wheel for every py version?
name a build frozendict-noarch, the wheel will have this name, right?
Yes, this yielded:
and one would have to conda install -c conda-forge frozendict-noarch
to get this file. it could even be installed next to frozendict
, with... unpredictable results.
only chance I have is to change the build number?
Well... it's the "build string" which is usually made of the build number and a semi-opaque hash which includes things like the compiler used. the python major, for historical reasons, also shows up.
It will not reset to zero by the bot
If one "colors within the lines," it can still figure things out... a variable named build_number
appears to get used.
noarch wheel for every py version?
Yes, this is currently creating a noarch
wheel for each with slightly different hashes, but otherwise no differences... as none of them have any dependencies (other than python
), which one gets installed is undefined.
Which again begs the question: why do you want noarch
packages, in addition to per-python-per-platform builds?
Good question. The answer is simple: noarch build supports Python 3.6+ on every OS that can run Python. The other builds supports Linux, Windows and MacOS and Python 3.7 - 3.10
Well, I tried as you suggested in this pull request: https://github.com/conda-forge/frozendict-feedstock/pull/28/files It didn't build the package for python 3.10 on Linux. It seems that if the output has the same name, the highest build number "wins".
conda-smithy
(Use the phrase code>@<space/conda-forge-admin, please rerender in a comment in this PR for automated rerendering)