All of lore.kernel.org
 help / color / mirror / Atom feed
* linux-yocto: doesn't maintain patch order from SRC_URI?
@ 2011-11-29 21:39 Darren Hart
  2011-11-29 23:14 ` Bruce Ashfield
  0 siblings, 1 reply; 9+ messages in thread
From: Darren Hart @ 2011-11-29 21:39 UTC (permalink / raw)
  To: Ashfield, Bruce; +Cc: Yocto Project

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.

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-29 21:39 linux-yocto: doesn't maintain patch order from SRC_URI? Darren Hart
@ 2011-11-29 23:14 ` Bruce Ashfield
  2011-11-30  0:41   ` Darren Hart
  2011-11-30  0:46   ` Darren Hart
  0 siblings, 2 replies; 9+ messages in thread
From: Bruce Ashfield @ 2011-11-29 23:14 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

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.

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-29 23:14 ` Bruce Ashfield
@ 2011-11-30  0:41   ` Darren Hart
  2011-11-30  0:56     ` Bruce Ashfield
  2011-11-30  1:15     ` Darren Hart
  2011-11-30  0:46   ` Darren Hart
  1 sibling, 2 replies; 9+ messages in thread
From: Darren Hart @ 2011-11-30  0:41 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Project



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.

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

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-29 23:14 ` Bruce Ashfield
  2011-11-30  0:41   ` Darren Hart
@ 2011-11-30  0:46   ` Darren Hart
  2011-11-30  0:55     ` Bruce Ashfield
  1 sibling, 1 reply; 9+ messages in thread
From: Darren Hart @ 2011-11-30  0:46 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Project



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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-30  0:46   ` Darren Hart
@ 2011-11-30  0:55     ` Bruce Ashfield
  0 siblings, 0 replies; 9+ messages in thread
From: Bruce Ashfield @ 2011-11-30  0:55 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-30  0:41   ` Darren Hart
@ 2011-11-30  0:56     ` Bruce Ashfield
  2011-11-30  1:15     ` Darren Hart
  1 sibling, 0 replies; 9+ messages in thread
From: Bruce Ashfield @ 2011-11-30  0:56 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-30  0:41   ` Darren Hart
  2011-11-30  0:56     ` Bruce Ashfield
@ 2011-11-30  1:15     ` Darren Hart
  2011-11-30  1:21       ` Darren Hart
  1 sibling, 1 reply; 9+ messages in thread
From: Darren Hart @ 2011-11-30  1:15 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Project

On 11/29/2011 04: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 :-)

So I'm trying this:

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

And in the recipe:
SRC_URI += "file://efi-stub.scc"

In the meta-series I see:

# _mark efi_stub_947530aea4d2a819b340fe2b49d765de start
# _mark efi_stub_947530aea4d2a819b340fe2b49d765de end

But the patches do not get applied.

The Yocto Kernel Architecture and Use Manual does not appear to cover
this case. Do I need to do something more?

Thanks,

Darren



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


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-30  1:15     ` Darren Hart
@ 2011-11-30  1:21       ` Darren Hart
  2011-11-30 19:11         ` Bruce Ashfield
  0 siblings, 1 reply; 9+ messages in thread
From: Darren Hart @ 2011-11-30  1:21 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Project

On 11/29/2011 05:15 PM, Darren Hart wrote:
> On 11/29/2011 04: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 :-)
> 
> So I'm trying this:
> 
> $ cat linux-yocto-dvhart/efi-stub.scc
> patch 0001-x86-Add-missing-bzImage-fields-to-struct-setup_heade.patch
> patch 0002-x86-efi-Make-efi_call_phys_prelog-CONFIG_RELOCATABLE.patch
> patch 0003-x86-Don-t-use-magic-strings-for-EFI-loader-signature.patch
> patch 0004-efi.h-Add-struct-definition-for-boot-time-services.patch
> patch 0005-efi.h-Add-efi_image_loaded_t.patch
> patch 0006-efi.h-Add-allocation-types-for-boottime-allocate_pag.patch
> patch 0007-efi.h-Add-graphics-protocol-guids.patch
> patch 0008-efi.h-Add-boottime-locate_handle-search-types.patch
> patch 0009-efi-Add-EFI-file-I-O-data-types.patch
> patch 0010-x86-efi-EFI-boot-stub-support.patch
> patch 0011-x86-efi-Break-up-large-initrd-reads.patch
> 
> And in the recipe:
> SRC_URI += "file://efi-stub.scc"
> 
> In the meta-series I see:
> 
> # _mark efi_stub_947530aea4d2a819b340fe2b49d765de start
> # _mark efi_stub_947530aea4d2a819b340fe2b49d765de end
> 
> But the patches do not get applied.
> 
> The Yocto Kernel Architecture and Use Manual does not appear to cover
> this case. Do I need to do something more?

Ah, I need to include the patches explicitly too. That makes sense from
a bitbake perspective. OK, I'm rolling again, nice.

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-yocto: doesn't maintain patch order from SRC_URI?
  2011-11-30  1:21       ` Darren Hart
@ 2011-11-30 19:11         ` Bruce Ashfield
  0 siblings, 0 replies; 9+ messages in thread
From: Bruce Ashfield @ 2011-11-30 19:11 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

On Tue, Nov 29, 2011 at 8:21 PM, Darren Hart <darren.hart@intel.com> wrote:
> On 11/29/2011 05:15 PM, Darren Hart wrote:
>> On 11/29/2011 04: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 :-)
>>
>> So I'm trying this:
>>
>> $ cat linux-yocto-dvhart/efi-stub.scc
>> patch 0001-x86-Add-missing-bzImage-fields-to-struct-setup_heade.patch
>> patch 0002-x86-efi-Make-efi_call_phys_prelog-CONFIG_RELOCATABLE.patch
>> patch 0003-x86-Don-t-use-magic-strings-for-EFI-loader-signature.patch
>> patch 0004-efi.h-Add-struct-definition-for-boot-time-services.patch
>> patch 0005-efi.h-Add-efi_image_loaded_t.patch
>> patch 0006-efi.h-Add-allocation-types-for-boottime-allocate_pag.patch
>> patch 0007-efi.h-Add-graphics-protocol-guids.patch
>> patch 0008-efi.h-Add-boottime-locate_handle-search-types.patch
>> patch 0009-efi-Add-EFI-file-I-O-data-types.patch
>> patch 0010-x86-efi-EFI-boot-stub-support.patch
>> patch 0011-x86-efi-Break-up-large-initrd-reads.patch
>>
>> And in the recipe:
>> SRC_URI += "file://efi-stub.scc"
>>
>> In the meta-series I see:
>>
>> # _mark efi_stub_947530aea4d2a819b340fe2b49d765de start
>> # _mark efi_stub_947530aea4d2a819b340fe2b49d765de end
>>
>> But the patches do not get applied.
>>
>> The Yocto Kernel Architecture and Use Manual does not appear to cover
>> this case. Do I need to do something more?
>
> Ah, I need to include the patches explicitly too. That makes sense from
> a bitbake perspective. OK, I'm rolling again, nice.

Glad to hear you got to this, after I sent that email and headed for some sleep,
I realized that I forgot to point out that detail.

Cheers

Bruce

>
> --
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Linux Kernel
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-11-30 19:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-29 21:39 linux-yocto: doesn't maintain patch order from SRC_URI? Darren Hart
2011-11-29 23:14 ` Bruce Ashfield
2011-11-30  0:41   ` Darren Hart
2011-11-30  0:56     ` Bruce Ashfield
2011-11-30  1:15     ` Darren Hart
2011-11-30  1:21       ` Darren Hart
2011-11-30 19:11         ` Bruce Ashfield
2011-11-30  0:46   ` Darren Hart
2011-11-30  0:55     ` Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.