Skip to content

[bug] replace_requires doesn't work with ranges on input side #19322

@timpatt

Description

@timpatt

Describe the bug

I'd like to replace sqlite3/[>=3.44 <4] with sqlite3/3.50.4 to ensure that we can use the pre-built version of Qt 6.8.3 from the conancenter. The documentation doesn't actually mention this use-case but the original blog post does so I'm not sure which one is correct.

With the following in my.profile:

[replace_requires]
# This doesn't work:
#sqlite3/[>.3.44 <4]: sqlite3/3.50.4

# This does:
sqlite3/3.51.0: sqlite3/3.50.4

Running conan graph explain --requires=qt/6.8.3 -pr default -pr my.profile will fail to replace the sqlite3 requirement using the version range, but will succeed in replacing it if I just specify the version that it resolves to (currently!). The sqlite3 requirement specified in the Qt conanfile is:
self.requires("sqlite3/[>=3.45.0 <4]") which overlaps with mine and should match.

How to reproduce it

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions