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

Bruce Ashfield bruce.ashfield at windriver.com
Tue Nov 29 16:56:22 PST 2011


On 11-11-29 07:41 PM, Darren Hart wrote:
>
>
> 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. 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.
>
> OK, I like that better than the monolith patch I plugged the leak with :-)
>
> I understand I am using the compatibility mode more than the original
> intent - and in part I'm doing this on purpose. The "recipe-space"
> iterative development model is going to be the most familiar to OE
> developers and is the fastest way to prototype changes. We need to
> ensure it works well. Once I'm done here, I fully intend to push it into
> a proper in-tree scc file - but for now, it makes the most sense in
> recipe-space while we tweak it and the patches are under heavy development.

Agreed. There's nothing wrong with this model, and you are just doing
something that I hadn't tried until now. The fixes were simple, so I
definitely wouldn't leave this broken. As I said in my other email, I'm
just now looking at how to integrate this nicely and not duplicate SRC_URI
parsing code.

Cheers,

Bruce

>
> Thanks Bruce!
>
> --
> Darren
>
>>
>> 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
>>>
>>>
>>>
>>
>




More information about the yocto mailing list