Since we disabled uppercase characters in overrides a few releases ago, uppercase characters in recipe names (and for that matter, distro and machine names) cannot be supported due to their reliance upon overrides including the name. We should have a QA check and produce an error when an uppercase character is used in PN instead of leaving the user to figure it out from weird behaviour that will otherwise be the result.
IMHO this bug should have a higher priority, simply because: - there is no place from where one could retrieve the information (talking about recipe's names in lowercase) - from my own experience using uppercase characters in recipe's names will lead to any kind of problems: I was in charge of porting an entire layer from yocto 1.8 to yocto 2.2.1 and it took a LOT of time (and lots of IRC sessions) to find out that all of my problems were caused by uppercase characters in recipe's names.
As suggested by Paul, I am currently working on enhancement inside insane.bbclass to check for package name which is not lowercase and provide warning message.
Patch to check recipe uppercase in insane.bbclass submitted to openembedded-core and it was accepted.
WARNING: build/../sources/meta-foo/recipes-extended/socketcan/Can_git.bb: QA Issue: PN: Can is upper case, this can result in unexpected behavior. [uppercase-pn]--:--:-- I can confirm the fix works flawlessly
Pushed commit to mailing list for review: http://lists.openembedded.org/pipermail/openembedded-core/2017-August/141516.html