Bug 12137

Summary: kernel_devsrc: occasional incorrect permissions
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Juro Bystricky <juro.bystricky>
Component: kernelAssignee: He Zhe <zhe.he>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: liezhi.yang, richard.purdie, sgw, tom.zanussi
Version: 2.4.1   
Target Milestone: 4.99   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
diffoscope output demonstrating the bug. none

Description Juro Bystricky 2017-09-28 16:35:19 UTC
Created attachment 4032 [details]
diffoscope output demonstrating the bug.

The package kernel-devsrc built at various times (from scratch) can contain files that have different permissions (see the attached diffoscope file).
This has been observed several times, and seems always the same files are affected:

include/config/auto.conf
include/config/auto.conf.cmd 
include/config/tristate.conf
generated/autoconf.h

So probably a race...
Comment 1 Juro Bystricky 2017-11-28 21:27:42 UTC
Since all of the offending files are generated, I am not sure they should be actually included in the kernel-devsrc package at all.
Comment 2 Saul Wold 2017-12-11 00:49:03 UTC
Changing a make _mrproper_scripts_ to mrproper fixes this, patch has been sent.
Comment 3 Juro Bystricky 2018-01-22 22:49:03 UTC
With the patch in ML we fail "test_kernel_module":

NOTE: core-image-sato-sdk-1.0-r0 do_testimage: FAIL [3.527s]: test_kernel_module (kernelmodule.KernelModuleTest)
NOTE: core-image-sato-sdk-1.0-r0 do_testimage: ----------------------------------------------------------------------
NOTE: core-image-sato-sdk-1.0-r0 do_testimage: Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f
    return func(*args, **kwargs)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f
    return func(*args, **kwargs)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f
    return func(*args, **kwargs)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/meta/lib/oeqa/runtime/cases/kernelmodule.py", line 40, in test_kernel_module
    self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
AssertionError: 2 != 0 : cd /usr/src/kernel && make scripts
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --silentoldconfig Kconfig
***
*** Configuration file ".config" not found!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[2]: *** [scripts/kconfig/Makefile:39: silentoldconfig] Error 1
make[1]: *** [Makefile:548: silentoldconfig] Error 2
make: *** No rule to make target 'include/config/auto.conf', needed by 'scripts'.  Stop.
Comment 4 Richard Purdie 2021-06-24 14:57:54 UTC
We test this as part of reproducible builds and no longer see this.