[OE-core] [PATCH 1/5] {kernel, module}.bbclass: don't run depmod for module packages during do_rootfs

Andreas Oberritter obi at opendreambox.org
Mon Apr 23 21:21:53 UTC 2012


On 23.04.2012 19:35, Darren Hart wrote:
> 
> 
> On 04/17/2012 06:05 AM, Andreas Oberritter wrote:
>> * depmod already gets executed by pkg_postinst_kernel-image.
>>
> 
> Please include a description of the errors seen that this fixes. This
> makes it easier for people experiencing this to find the fix.

Well, there is no error. If you build a module using module.bbclass,
pkg_postinst returns 1 in do_rootfs, causing pkg_postinst to run again
on first boot. To improve this situation, I copied pkg_postinst from
kernel.bbclass to module.bbclass. This was rejected by Koen, because he
doesn't like the code from kernel.bblcass, which uses
${STAGING_DIR_KERNEL}. Richard then suggested that calling depmod during
do_rootfs wasn't necessary at all, because it already gets done by
kernel-image. I already explained this in the cover letter and in the
previous email thread.

> 
>> Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
>> ---
>>  meta/classes/kernel.bbclass |    4 +---
>>  meta/classes/module.bbclass |    7 +++----
>>  2 files changed, 4 insertions(+), 7 deletions(-)
>>
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 3519e7c..c21ab96 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -276,9 +276,7 @@ fi
>>  }
>>  
>>  pkg_postinst_modules () {
>> -if [ -n "$D" ]; then
>> -	${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
>> -else
>> +if [ -z "$D" ]; then
> 
> I understand it parallels the previous test - but it seems fragile to
> rely on the mere existence of $D. Consider the following?
> 
> if [ ! -d "$D" ]; then
> 
> This will do the right thing if D is empty as well as if $D is defined
> by bitbake.
> 
>>  	depmod -a
>>  	update-modules || true
>>  fi
>> diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
>> index 53c16b7..91628e4 100644
>> --- a/meta/classes/module.bbclass
>> +++ b/meta/classes/module.bbclass
>> @@ -37,15 +37,14 @@ module_do_install() {
>>  }
>>  
>>  pkg_postinst_append () {
>> -	if [ -n "$D" ]; then
>> -		exit 1
>> -	fi
>> +if [ -z "$D" ]; then
>>  	depmod -a
>>  	update-modules || true
>> +fi
>>  }
>>  
>>  pkg_postrm_append () {
>> -	update-modules || true
>> +update-modules || true
> 
> Unintentional whitespace change?
> 





More information about the Openembedded-core mailing list