Issue ID:
Type
Bug
Title:
FIX: Conda package requests do not normalize versions
Created:
2/6/2023 5:12:01 AM by Alana Tripp
Status:
Awaiting Release on 2/8/2023 9:47:15 AM
Last pulled:
2/8/2023 1:09:45 PM
Description:
The steps to reproduce: 1. Create new CONDA feed without connector (I was using private/internal). Let's name it *conda_channel* 2. Download this file: https://anaconda.org/anaconda/ca-certificates/2023.01.10/download/win-64/ca-certificates-2023.01.10-haa95532_0.tar.bz2 3. Upload to the feed we just created 4. **ERROR**: WebUI of the feed says there are no packages (error 1) 5. Check this file: PROGET_BASE_URL/conda/conda_channel/win-64/repodata.json 6. Note that the keys under the `packages` structure have their leading zeros removed. 7. **ERROR**: Try to download: PROGET_BASE_URL/conda/conda_channel/win-64/ca-certificates-2023.1.10-haa95532_0.tar.bz2 => error 8. Add leading zero to URL => PROGET_BASE_URL/conda/conda_channel/win-64/ca-certificates-2023.01.10-haa95532_0.tar.bz2 => works The issue is that conda combines the URL up to `win-64` with the package name. And although ProGet saves the file without the leading zero, the endpoint is not correctly resolved for some reason. This also seems to not work with pre-release-separators: If you upload a package with version `2023.2.beta4`, ProGet adjusts it to `2023.2b4` which is the correct normalization. However, similar to the above, the download URL only works if I change it back to `2023.2.beta4` although ProGet stores it as `2023.2b4` internally.