Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[question] How to do properly lowercase package name conversion? #17584

Closed
1 task done
harsszegi opened this issue Jan 16, 2025 · 2 comments
Closed
1 task done

[question] How to do properly lowercase package name conversion? #17584

harsszegi opened this issue Jan 16, 2025 · 2 comments
Assignees

Comments

@harsszegi
Copy link

harsszegi commented Jan 16, 2025

What is your question?

Hi,

as Conan 2 breaks package naming, we had to rename a few of our packages to lowercase.
Which breaks Conan 1 completely, e.g.:

ERROR: Failed requirement 'Foo/3.1.0@user/channel' from 'bar/0.1.0@user/channel'
ERROR: Requested 'Foo/3.1.0@user/channel', but found case incompatible recipe with name 'foo' in the cache. Case insensitive filesystem can't manage this.
Remove existing recipe 'foo' and try again.

Obviously within the cache there is both "Foo/3.1.0" (before the rename) and "foo/3.2.0" (after the rename) as there are "old" recipes still using "Foo".

How to handle this?
Thanks,

Have you read the CONTRIBUTING guide?

  • I've read the CONTRIBUTING guide
@memsharded memsharded self-assigned this Jan 16, 2025
@memsharded
Copy link
Member

Hi @harsszegi

Thanks for the question.

Obviously within the cache there is both "Foo/3.1.0" (before the rename) and "foo/3.2.0" (after the rename) as there are "old" recipes still using "Foo".

This is not an issue in Conan 1 for Linux and other case-sensitive filesystems, but it was always problematic for Windows, and that was the reason why ConanCenter moved to lowercase only many years ago, and Conan 2 forced lowercase always.

For Windows and Conan 1 it requires to clear the cache of older packages with the uppercase. It is a bit inconvenient in the transition, but Conan 1 didn't find a better way back then to move forward.

If this is too inconvenient, you might try the Conan 2 conf core:allow_uppercase_pkg_names that allows uppercase initially as a escape, but just consider this is temporary and it will be full removed. Conan 2 uses some hashing in the cache paths, so it will not have this issue for different versions of the same package, even if they have different casing.

@harsszegi
Copy link
Author

Thanks a lot for the info, closing it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants