openSUSE / openSUSE/libsolv

Conda solver not handling developmental (and maybe pre-releases) as expected.

Open
#482 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
609
Forks
177
PR merge metrics
No merged PRs in 30d

Description

According to https://www.python.org/dev/peps/pep-0440/#handling-of-pre-releases, I would have expected a constraint of ~=0.1 to match an available 0.1.0.dev0 when there is no 0.1.0 version available. I do realize they have a SHOULD clause rather than MUST, but I'd expect the libsolv implementation to try to aspire to that. I am using mamba (micromamba actually) but I believe they just pass everything to libsolv (@wolfv could probably comment more).

I haven't tried with prereleases (alpha/beta/rc) to see whether that works as expected, though I'd expect it does and the .dev case is just being overlooked, since you have to read a little closely to realize that the PEP440 wording does include .dev as a prerelease specifier of sorts.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the ~=0.1 constraint with an available 0.1.0.dev0 package through micromamba, then trace how libsolv evaluates developmental and other pre-release versions. Done means the solver's behavior is aligned with the expected PEP 440 handling, with coverage for the developmental case and any confirmed pre-release behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.