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

[bug] conan 1.31 ignores case in exports_sources #8583

Closed
Da-LiFe opened this issue Mar 2, 2021 · 5 comments · Fixed by #8585
Closed

[bug] conan 1.31 ignores case in exports_sources #8583

Da-LiFe opened this issue Mar 2, 2021 · 5 comments · Fixed by #8585
Assignees
Milestone

Comments

@Da-LiFe
Copy link

Da-LiFe commented Mar 2, 2021

We are currently migrating from conan 1.22 to conan 1.31. We found, that 1.22 is not ignoring case in exports_sources, but 1.31 is and, thus, breaking our recipies.

Environment Details (include every applicable attribute)

  • Operating System+version: osl15.2
  • Compiler+version: 7.5
  • Conan version: 1.31
  • Python version: 3.6

Steps to reproduce (Include if Applicable)

To reproduce, I've called conan new ..., added

exports_sources = ["test", "TEST"]

to the recipe and touched those files in the filesystem.

Logs (Executed commands with output) (Include/Attach if Applicable)

Calling conan create with 1.22 results in:

TestExport/1.2.3@user/testing exports_sources: Copied 2 files: test, TEST

ll [...]/.conan/data/TestExport/1.2.3/user/testing/export_source/
[...] 2. Mär 07:58 test
[...] 2. Mär 07:58 TEST

and with 1.31 results in:

TestExport/1.2.3@user/testing exports_sources: Copied 2 files: TEST, TEST

ll [...]/.conan/data/TestExport/1.2.3/user/testing/export_source/
[...] 2. Mär 07:58 TEST

Additional information

I'd assume that this PR is somehow related: #7704

It changes the default of ignore_case, but export_sources is not adjusted accordingly.

@memsharded
Copy link
Member

Hi @Da-LiFe

We have proposed a fix in #8585. It is targeted for next Conan release 1.35, and it would be easy to include it in a 1.34.1 patch release too. It would be great if you could run from sources from that branch to validate it works in your real case too (the unittest with "test", "TEST" is passing now, but sure you have a more complex case in real life).

Is it possible that you could upgrade directly to any of those Conan versions, or would you need a backport to 1.31? (and then 1.32, 1.33, it would be a considerable effort).

@memsharded
Copy link
Member

Hi @Da-LiFe

This is merged and planned for release 1.35. Please let us know about your upgrade plan, to see what backports might be possible.

@Da-LiFe
Copy link
Author

Da-LiFe commented Mar 12, 2021

Hi @memsharded

We've tested the fix in our setup and its working. However, we've noticed that if "test" is a symlink to "TEST", the symlink is resolved after the export_sources, i.e. both are files then. This is ok in our use-case, but might cause problems for others?

Regarding the version: We are fine with upgrading to 1.34.1. So no backports are requires for us.

@memsharded
Copy link
Member

Thanks @Da-LiFe for testing and reporting, happy to hear that it is working now and no backports are necessary :)

Regarding the symlink, is it a regression of this fix? Because in code it seems that that could also be the previous behavior as well, nothing really changed regarding symlinks in https://github.com/conan-io/conan/pull/8585/files, it is basically ensuring that casing do not affect matching. In that case I think we are fine with it.

@Da-LiFe
Copy link
Author

Da-LiFe commented Mar 12, 2021

Regarding the symlink, is it a regression of this fix?

@memsharded I can't reproduce the obervation by myself using conan 1.34.1 right now. I'll have to refer to the person that told me about this possible symlink issue.

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

Successfully merging a pull request may close this issue.

2 participants