[OE-core] [PATCH] insane: add qa check for lowercase recipe name

Andre McCurdy armccurdy at gmail.com
Tue Aug 15 18:08:23 UTC 2017


On Tue, Aug 15, 2017 at 7:23 AM, Leonardo Sandoval
<leonardo.sandoval.gonzalez at linux.intel.com> wrote:
> On Mon, 2017-08-14 at 19:23 -0700, Yeoh Ee Peng wrote:
>> 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.
>>
>> QA check will produce an warning message when it verify that recipe
>> name is not lowercase.
>>
>> [YOCTO# 11592]
>>
>> Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh at intel.com>
>> ---
>>  meta/classes/insane.bbclass | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
>> index b7177c9..8e062d1 100644
>> --- a/meta/classes/insane.bbclass
>> +++ b/meta/classes/insane.bbclass
>> @@ -27,7 +27,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
>>              installed-vs-shipped compile-host-path install-host-path \
>>              pn-overrides infodir build-deps \
>>              unknown-configure-option symlink-to-sysroot multilib \
>> -            invalid-packageconfig host-user-contaminated \
>> +            invalid-packageconfig host-user-contaminated pn_lowercase \
>>              "
>
> IMO, what you warn is that variable has uppercase letters, so the test
> should be named 'pn_uppercase'

All the other tests are named using '-' rather than '_', so
pn-uppercase (or uppercase-pn) might be even better.

>>  ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
>>              perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
>> @@ -1274,7 +1274,9 @@ python () {
>>      if pn in overrides:
>>          msg = 'Recipe %s has PN of "%s" which is in OVERRIDES, this can result in unexpected behaviour.' % (d.getVar("FILE"), pn)
>>          package_qa_handle_error("pn-overrides", msg, d)
>> -
>> +    if pn != pn.lower():
>> +        package_qa_handle_error("pn_lowercase", 'PN: %s is not lower case, this can result in unexpected behavior.' % pn, d)
>> +
>
> for performance reasons, perhaps it would be better to create a regex
> matching uppercases and if match succeeded, the raise the error/warning
>
> One more thing. At the beginning of the insane class, on the comments
> area you can include this one on the 'Checks we do' section.
>
>>      issues = []
>>      if (d.getVar('PACKAGES') or "").split():
>>          for dep in (d.getVar('QADEPENDS') or "").split():
>> --
>> 2.7.4
>>
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list