The dist-info check in post.py uses the package name to partition the version string. This results in an incorrect version being parsed if the package name is not the same as the name of the python module which in turn fails the build unnecessarily.
The dask-core recipe from conda-forge exhibits this behavior.
Note that this check is included in conda-build 3.16.0 but not earlier versions. The check was added in #3163.
This check will also fail when it finds vendored packages. There will likely be other edges cases where this check gives false positives. Perhaps moving this check to conda-verify where is can be ignored on a case by case basis would be more appropriate.
This bug cost me ages to figure out. I'd rather fatal packaging bugs are caught here personally and think we should just improve this as we run into issues. The Python 3.7 build out used my original code so the edges are few I think.
How about an option in the recipe to skip the check for some files or entirely? That gives these edge cases an escape hatch.
Sure, but I'm cooler with iterating on this code until it's solid, there's no reason it can't be that I know of?
bleach 3.0.0 is a good example of a package with a vendored .dist-info directory
I know nothing about the conda build internals, but I'm being affected by this bug too.
Could the code be re-worked to accept any valid python project name?
FWIW this also affects any project that uses a - in the name as these are turned into _.
Do you have an example of a package that does this?
And, as previously linked: conda-forge/fsleyes-widgets-feedstock#5
Confirmed that dask-image and fsleyes-widgets both build fine after https://github.com/conda/conda-build/commit/7d682bd3ceaa99184197c953e0000a62d9330297
The horse is dead. Please beat it no further.
Thanks for confirming. Was mainly noting that to give an indication of the scope of the problem.
Would it be possible to get a patch release with the fix?
Tagged. Builds going up momentarily.
Great, thanks Mike! 馃槃
Most helpful comment
Tagged. Builds going up momentarily.