[yocto] linux-yocto: doesn't maintain patch order from SRC_URI?

Darren Hart dvhart at linux.intel.com
Tue Nov 29 16:46:06 PST 2011



On 11/29/2011 03:14 PM, Bruce Ashfield wrote:
> On 11-11-29 04:39 PM, Darren Hart wrote:
>> I'm experimenting with Matt Fleming's EFI_STUB patches. The first 10 patches were working fine, but when I try to add the 11th, the do_patch fails. I found that it isn't trying to apply the patches in the order listed in the recipe - no in any other recognizable pattern for that matter.
>>
> 
> It's shell order. 

Oh, how is this shell order?

$ ls *patch
0001-x86-Add-missing-bzImage-fields-to-struct-setup_heade.patch
0002-x86-efi-Make-efi_call_phys_prelog-CONFIG_RELOCATABLE.patch
0003-x86-Don-t-use-magic-strings-for-EFI-loader-signature.patch
0004-efi.h-Add-struct-definition-for-boot-time-services.patch
0005-efi.h-Add-efi_image_loaded_t.patch
0006-efi.h-Add-allocation-types-for-boottime-allocate_pag.patch
0007-efi.h-Add-graphics-protocol-guids.patch
0008-efi.h-Add-boottime-locate_handle-search-types.patch
0009-efi-Add-EFI-file-I-O-data-types.patch
0010-x86-efi-EFI-boot-stub-support.patch
0011-x86-efi-Break-up-large-initrd-reads.patch

This is the order I would expect and seems to match shell order...

--
Darren

> You really should just create a .scc file, put IT
> on the SRC_URI and list the patches. You'll have no problems after
> that.
> 
> I do have a fix for this, but can't send it right now due to travel.
> 
> You are using the compatibility mode for more than I originally intended
> it for. So just dropping a .scc file into place will fix things
> up nicely.
> 
> Bruce
> 
>> The recipe contains:
>>
>> # Add the efi-stub
>> SRC_URI += "file://0001-x86-Add-missing-bzImage-fields-to-struct-setup_heade.patch \
>>              file://0002-x86-efi-Make-efi_call_phys_prelog-CONFIG_RELOCATABLE.patch \
>>              file://0003-x86-Don-t-use-magic-strings-for-EFI-loader-signature.patch \
>>              file://0004-efi.h-Add-struct-definition-for-boot-time-services.patch \
>>              file://0005-efi.h-Add-efi_image_loaded_t.patch \
>>              file://0006-efi.h-Add-allocation-types-for-boottime-allocate_pag.patch \
>>              file://0007-efi.h-Add-graphics-protocol-guids.patch \
>>              file://0008-efi.h-Add-boottime-locate_handle-search-types.patch \
>>              file://0009-efi-Add-EFI-file-I-O-data-types.patch \
>>              file://0010-x86-efi-EFI-boot-stub-support.patch \
>> 	    file://0011-x86-efi-Break-up-large-initrd-reads.patch \
>>              "
>>
>> do_patch fails with:
>> Log data follows:
>> | Deleted branch meta-temp (was 620917d).
>> | warning: could not find (or was already included): ktypes/yocto.scc
>> | ./0-standard-yocto-61b5e146f9d113375883df8c51449722.sco: line 14: yocto_68b329da9893e34099c7d8ad5cb9c940: command not found
>> | [INFO] validating against known patches  (standard-yocto-meta)
>> error: arch/x86/boot/compressed/eboot.c: does not exist in index09 %)
>> | To force apply this patch, use 'guilt push -f'
>> | [ERROR] unable to complete push
>> | pending patches are:
>> | Patches directory doesn't exist, try guilt-init
>> | ERROR. could not update git tree
>> | ERROR: Function 'do_patch' failed (see /build/poky/ie/tmp/work/ie_phase1-poky-linux/linux-yocto-ie-3.0.4+git1+d51b0e743599a41a42e119f29f8dfa89854b3b5e_1+6b2c7d65b844e686eae7d5cccb9b638887afe28e-r4/temp/log.do_patch.2768 for further information)
>>
>> and meta/patches/standard/series contains:
>>
>> $ cat standard/series
>> links/scratch/obj/0002-x86-efi-Make-efi_call_phys_prelog-CONFIG_RELOCATABLE.patch
>> links/scratch/obj/0003-x86-Don-t-use-magic-strings-for-EFI-loader-signature.patch
>> links/scratch/obj/0004-efi.h-Add-struct-definition-for-boot-time-services.patch
>> links/scratch/obj/0005-efi.h-Add-efi_image_loaded_t.patch
>> links/scratch/obj/0011-x86-efi-Break-up-large-initrd-reads.patch
>>
>> This needs to come after 10.
>>
>> links/scratch/obj/0007-efi.h-Add-graphics-protocol-guids.patch
>> links/scratch/obj/0001-x86-Add-missing-bzImage-fields-to-struct-setup_heade.patch
>> links/scratch/obj/0009-efi-Add-EFI-file-I-O-data-types.patch
>> links/scratch/obj/0008-efi.h-Add-boottime-locate_handle-search-types.patch
>> links/scratch/obj/0006-efi.h-Add-allocation-types-for-boottime-allocate_pag.patch
>> links/scratch/obj/0010-x86-efi-EFI-boot-stub-support.patch
>>
>>
>>
> 

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the yocto mailing list