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

Distribution name should be treated case insensitively #1107

Open
neilb opened this issue May 11, 2023 · 1 comment
Open

Distribution name should be treated case insensitively #1107

neilb opened this issue May 11, 2023 · 1 comment

Comments

@neilb
Copy link

neilb commented May 11, 2023

If someone changes the case of a module, and that module is used as the basis of the distribution name, then PAUSE handles it largely correctly. MetaCPAN will treat them as different distributions:

Screenshot 2023-05-11 at 12 03 53

I first released this with the module called Acme::NameChangeTest. This resulted in this line in 06perms.txt:

Acme::NameChangeTest,NEILB,f

And in 02packages.details.txt:

Acme::NameChangeTest              undef  N/NE/NEILB/Acme-NameChangeTest-0.003.tar.gz

I then changed it to Acme::NameChangeTEST, and those two entries became:

Acme::NameChangeTEST,NEILB,f
Acme::NameChangeTEST              undef  N/NE/NEILB/Acme-NameChangeTEST-0.004.tar.gz

I came across this while working on sorting out historical problems with changes of case. Historical cases like this resulted in multiple entries in the CPAN Index, but PAUSE doesn't do that now.

Guessing you're using CPAN::DistnameInfo to pull the dist name from the filename, but not then canonicalising the name.

@neilb
Copy link
Author

neilb commented May 11, 2023

A "real life example" is Tuxedo by AFRYER:

Screenshot 2023-05-11 at 14 31 00

This will hopefully go away soon, as I'm working through cases where case-changed package names appear in the CPAN Index multiple times.

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