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

Bruce Ashfield bruce.ashfield at windriver.com
Tue Nov 29 16:55:09 PST 2011


On 11-11-29 07:46 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.
>
> Oh, how is this shell order?

s/shell/modification time order/

There's a find that locates the patches. The order returned by find
is what is returned used to generate an auto-scc file that is then
used to merge with the rest of the infrastructure.

I did a couple of minor changes here, sorting the patch location,
and support for directories of patches. But there's only so far
that I'm going to go for now.

What I'm trying to implement is a mode that the core patch class
will simply dump me a list of patches, that way I don't duplicate any
code, but can feed that into the scripts. I'm not there yet, but am
still working on it, since we can work around this for now, I'll try
and get this right before pushing out any changes.

Cheers,

Bruce

>
> $ 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
>>>
>>>
>>>
>>
>




More information about the yocto mailing list