<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10073</bug_id>
          
          <creation_ts>2016-08-03 01:12:04 +0000</creation_ts>
          <short_desc>wic: generic bootloader-agnostic EFI plugin</short_desc>
          <delta_ts>2018-03-06 11:09:38 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BSPs</product>
          <component>bsps-oe-core</component>
          <version>2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>4.99</target_milestone>
          
          <blocked>10084</blocked>
    
    <blocked>10966</blocked>
    
    <blocked>11291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jianxun Zhang">jianxun.zhang</reporter>
          <assigned_to name="California Sullivan">california.l.sullivan</assigned_to>
          <cc>brian.avery</cc>
    
    <cc>eduard.bartosh</cc>
    
    <cc>haris.okanovic</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>sgw</cc>
    
    <cc>stephano</cc>
    
    <cc>tim.orling</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64821</commentid>
    <comment_count>0</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-08-03 01:12:04 +0000</bug_when>
    <thetext>wic: generic bootloader-agnostic EFI plugin

    This change tries to achieve more by doing less.

    The current design around EFI plugin and wks files are bootloader-
    specific in logic and usage. Current approach may cause fragmentation
    in functionality between bootloader features provided from OE and
    features in wic plugin and wks files in maintainence. For example,
    a build for a machince could have default boot entry files built
    from OE, but still uses a wks file to construct a direct-boot image.
    The two usages are not always synchronized.

    The idea is to have a generic EFI plugin to generate bootable EFI
    image compilant with UEFI spec, but don&apos;t care which bootloader and
    its configuration data any more. Developers are responsible to
    provide content of a boot image, which could be customized via OE
    or not, to plugin.

    This should streamline the design and functions between wic and
    OE. Some options only supported in the existing wic EFI plugin
    could be added in OE as a consequence if OE doesn&apos;t have them.


I attached a WIP patch. What missed is a black list parameter and some patches in OE to support options we strip out from this generic EFI plugin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64822</commentid>
    <comment_count>1</comment_count>
      <attachid>3335</attachid>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-08-03 01:13:01 +0000</bug_when>
    <thetext>Created attachment 3335
WIP: patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67795</commentid>
    <comment_count>2</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-10-31 19:20:38 +0000</bug_when>
    <thetext>This task has been pending for a while. I will have a look on the recent changes in wic area in OE before resuming this task.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67821</commentid>
    <comment_count>3</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2016-11-01 15:45:21 +0000</bug_when>
    <thetext>Can we utilise/extend existing bootimg-partition or rootfs plugin for this purpose?

If we can have a directory populated with EFI artefacts by bitbake build then wic task is simple - to copy it to the boot partition. This is exactly what booting-partition plugin is for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67824</commentid>
    <comment_count>4</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-11-01 16:59:33 +0000</bug_when>
    <thetext>Ed,
Thanks for bring this bootimg-partition in my sight. Actually, we need an interface to deploy a non-bootloader-related database file to ESP for RMC feature. So far we are using EFI_PROVIDERS as a workaround in OE build and the existing bootimg-efi only deploy files for a bootloader. This is where this task is derived.

I just checked an old build:

() RMC database file is present in ./tmp/deploy/images/intel-corei7-64/rmc.db. This location should be $DEPLOY_DIR_IMAGE.

() From YP doc. source files for $IMAGE_BOOT_FILES are in $DEPLOY_DIR_IMAGE.

() $IMAGE_BOOT_FILES, from my quick look in code, should be the source of bootimg-partition plugin.

I feel rmc.db can be deployed if we switched to bootimg-partition plugin. I do see EFI binary of bootloader in ./tmp/deploy/images/intel-corei7-64/, but don&apos;t see the configuration files of the bootloader populated in this directory.

I will do a build to verify it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67856</commentid>
    <comment_count>5</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2016-11-02 11:05:16 +0000</bug_when>
    <thetext>Let me emphasise my opinion on this: wic should operate with already prepared content of partitions with as little modifications as possible. Even if booting-partition can&apos;t do what is needed we should modify it or rootfs plugin, but we should avoid configuring bootloaders or do modifications on wic side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71125</commentid>
    <comment_count>6</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-03-08 14:43:04 +0000</bug_when>
    <thetext>Started to work on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73156</commentid>
    <comment_count>7</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-05-10 08:33:34 +0000</bug_when>
    <thetext>Instead of introducing yet another wic plugin it uses existing APIs from
EFI_PROVIDER classes to populate ${WORKDIR}/bootfs directory with EFI artifacts
and bootloader configuration. This directory can be used by wic rootfs plugin
to put into boot partition of the image.

Example kickstart file and 2 test cases were added to wic test suite to better
illustrate the approach.

I personally like this approach much better than duplicating oe image creation
functionality in wic plugins. This way we can have the code in one place and
bootloaders can be configured the same way for oe and wic images.

The implementation has been sent to the mailing list for review:
http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136463.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73185</commentid>
    <comment_count>8</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-05-11 13:33:57 +0000</bug_when>
    <thetext>sent v2: http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136548.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73257</commentid>
    <comment_count>9</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-05-15 12:14:19 +0000</bug_when>
    <thetext>sent v3: http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136656.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74085</commentid>
    <comment_count>10</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2017-06-13 17:51:14 +0000</bug_when>
    <thetext>got dropped?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74143</commentid>
    <comment_count>11</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-06-14 14:15:08 +0000</bug_when>
    <thetext>hopefully not.

My patchset will probably be merged.
However, there is an alternative proposal: http://lists.openembedded.org/pipermail/openembedded-core/2017-June/137441.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74821</commentid>
    <comment_count>12</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2017-07-06 15:19:22 +0000</bug_when>
    <thetext>Assigning to Saul for experiments.

The idea is to take this further and make bootfs populated by the recipe. I tried to do that, but failed to find a way to make unique partition UUID generated in the recipe and synchronise it with wic. It was not easy even in my initial implementation (I did it in .bbclass by merging 2 tasks into one: http://lists.openembedded.org/pipermail/openembedded-core/2017-June/138204.html)

Please, reassign back to me when you find out how we should proceed further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78322</commentid>
    <comment_count>13</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2017-11-22 17:17:58 +0000</bug_when>
    <thetext>Cal is now looking into this an has WIP that uses a rootfs postprocess function to copy the bootfs 

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=clsulliv/image-creation-rebased

This allows for recipes to install rather then deploy bootfs and bootloader items, this allows for layers to add bootfs/bootloader items.

We are also looking into how to address the multi-kernel, but the challenge is who actually owns writing bootloader entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78327</commentid>
    <comment_count>14</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2017-11-22 18:48:35 +0000</bug_when>
    <thetext>With the above branch anything installed to /boot/ ends up in the boot partition with no additional work. It also has multi kernel support thanks to Harris&apos; multi kernel patch.

Some limitations/issues:
* Must use efi-bootdisk.wks.in as EFI_PROVIDER
* core-image-minimal doesn&apos;t install the preferred kernel to /boot/
* In other images the preferred kernel ends up in /boot/ twice, once as bzimage and once as its whole name due to my copy function
* Only systemd-boot and grub-efi bootloaders have packages that install to /boot/ so far
* live images (with rootfs.img) can&apos;t be created with this yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79565</commentid>
    <comment_count>15</comment_count>
    <who name="Stephano Cetola">stephano</who>
    <bug_when>2018-02-22 23:07:55 +0000</bug_when>
    <thetext>Moving this to 2.6. The EFI enhancements make this project much easier, and those should hopefully make 2.5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79611</commentid>
    <comment_count>16</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2018-02-26 20:51:22 +0000</bug_when>
    <thetext>I sent a pared down version of my patchset to the list: http://lists.openembedded.org/pipermail/openembedded-core/2018-February/147837.html

It does not include the random UUID stuff, as I was unable to get it working sanely before M3. Instead we assume /dev/sda, but its overwritable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79722</commentid>
    <comment_count>17</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2018-03-06 11:09:38 +0000</bug_when>
    <thetext>v3 of the patchset was accepted. See here (and the previous 20ish commits):
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ff9a4d598919e6f148c01017f2fc8ecc784b722d

I&apos;ll open a new bug for the UUID portion to be done in 2.6.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3335</attachid>
            <date>2016-08-03 01:13:01 +0000</date>
            <delta_ts>2016-08-03 01:13:01 +0000</delta_ts>
            <desc>WIP: patch</desc>
            <filename>0001-wic-generic-bootloader-agnostic-EFI-plugin.patch</filename>
            <type>text/plain</type>
            <size>7924</size>
            <attacher name="Jianxun Zhang">jianxun.zhang</attacher>
            
              <data encoding="base64">RnJvbSA1NjhkMDU4M2FlMzE4MDg2NmViOGRhZDU3NmE5Njk5ZTFjYTVjNGY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFueHVuIFpoYW5nIDxqaWFueHVuLnpoYW5nQGxpbnV4Lmlu
dGVsLmNvbT4KRGF0ZTogVHVlLCAyIEF1ZyAyMDE2IDE3OjUwOjIwIC0wNzAwClN1YmplY3Q6IFtQ
QVRDSF0gd2ljOiBnZW5lcmljIGJvb3Rsb2FkZXItYWdub3N0aWMgRUZJIHBsdWdpbgoKVGhpcyBj
aGFuZ2UgdHJpZXMgdG8gYWNoaWV2ZSBtb3JlIGJ5IGRvaW5nIGxlc3MuCgpUaGUgY3VycmVudCBk
ZXNpZ24gYXJvdW5kIEVGSSBwbHVnaW4gYW5kIHdrcyBmaWxlcyBhcmUgYm9vdGxvYWRlci0Kc3Bl
Y2lmaWMgaW4gbG9naWMgYW5kIHVzYWdlLiBDdXJyZW50IGFwcHJvYWNoIG1heSBjYXVzZSBmcmFn
bWVudGF0aW9uCmluIGZ1bmN0aW9uYWxpdHkgYmV0d2VlbiBib290bG9hZGVyIGZlYXR1cmVzIHBy
b3ZpZGVkIGZyb20gT0UgYW5kCmZlYXR1cmVzIGluIHdpYyBwbHVnaW4gYW5kIHdrcyBmaWxlcyBp
biBtYWludGVuYW5jZS4gRm9yIGV4YW1wbGUsCmEgYnVpbGQgZm9yIGEgbWFjaGluZSBjb3VsZCBo
YXZlIGRlZmF1bHQgYm9vdCBlbnRyeSBmaWxlcyBidWlsdApmcm9tIE9FLCBidXQgc3RpbGwgdXNl
cyBhIHdrcyBmaWxlIHRvIGNvbnN0cnVjdCBhIGRpcmVjdC1ib290IGltYWdlLgpUaGUgdHdvIHVz
YWdlcyBhcmUgbm90IGFsd2F5cyBzeW5jaHJvbml6ZWQuCgpUaGUgaWRlYSBpcyB0byBoYXZlIGEg
Z2VuZXJpYyBFRkkgcGx1Z2luIHRvIGdlbmVyYXRlIGJvb3RhYmxlIEVGSQppbWFnZSBjb21waWxh
bnQgd2l0aCBVRUZJIHNwZWMsIGJ1dCBkb24ndCBjYXJlIHdoaWNoIGJvb3Rsb2FkZXIgYW5kCml0
cyBjb25maWd1cmF0aW9uIGRhdGEgYW55IG1vcmUuIERldmVsb3BlcnMgYXJlIHJlc3BvbnNpYmxl
IHRvCnByb3ZpZGUgY29udGVudCBvZiBhIGJvb3QgaW1hZ2UsIHdoaWNoIGNvdWxkIGJlIGN1c3Rv
bWl6ZWQgdmlhIE9FCm9yIG5vdCwgdG8gcGx1Z2luLgoKVGhpcyBzaG91bGQgc3RyZWFtbGluZSB0
aGUgZGVzaWduIGFuZCBmdW5jdGlvbnMgYmV0d2VlbiB3aWMgYW5kCk9FLiBTb21lIG9wdGlvbnMg
b25seSBzdXBwb3J0ZWQgaW4gdGhlIGV4aXN0aW5nIHdpYyBFRkkgcGx1Z2luCmNvdWxkIGJlIGFk
ZGVkIGluIE9FIGFzIGEgY29uc2VxdWVuY2UgaWYgT0UgZG9lc24ndCBoYXZlIHRoZW0uCgpUbyBw
bGF5IHNhZmUsIHdlIHB1dCB0aGlzIG5ldyB3b3JrIGluIGEgbmV3IGdlbmVyaWMgRUZJIHBsdWdp
bi4KClNpZ25lZC1vZmYtYnk6IEppYW54dW4gWmhhbmcgPGppYW54dW4uemhhbmdAbGludXguaW50
ZWwuY29tPgotLS0KIHNjcmlwdHMvbGliL3dpYy9wbHVnaW5zL3NvdXJjZS9nZW5lcmljLWVmaS5w
eSB8IDE2MyArKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE2MyBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMv
c291cmNlL2dlbmVyaWMtZWZpLnB5CgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9saWIvd2ljL3BsdWdp
bnMvc291cmNlL2dlbmVyaWMtZWZpLnB5IGIvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNl
L2dlbmVyaWMtZWZpLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NGRh
YzgKLS0tIC9kZXYvbnVsbAorKysgYi9zY3JpcHRzL2xpYi93aWMvcGx1Z2lucy9zb3VyY2UvZ2Vu
ZXJpYy1lZmkucHkKQEAgLTAsMCArMSwxNjMgQEAKKyMgZXg6dHM9NDpzdz00OnN0cz00OmV0Cisj
IC0qLSB0YWItd2lkdGg6IDQ7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBu
aWwgLSotCisjCisjIENvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uCisjIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0g
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorIworIyBERVND
UklQVElPTgorIyBUaGlzIGltcGxlbWVudHMgdGhlICdib290aW1nLWVmaScgc291cmNlIHBsdWdp
biBjbGFzcyBmb3IgJ3dpYycKKyMKKyMgQVVUSE9SUworIyBUb20gWmFudXNzaSA8dG9tLnphbnVz
c2kgKGF0XSBsaW51eC5pbnRlbC5jb20+CisjCisKK2ltcG9ydCBvcworaW1wb3J0IHNodXRpbAor
Citmcm9tIHdpYyBpbXBvcnQgbXNnZXIKK2Zyb20gd2ljLnBsdWdpbmJhc2UgaW1wb3J0IFNvdXJj
ZVBsdWdpbgorZnJvbSB3aWMudXRpbHMubWlzYyBpbXBvcnQgZ2V0X2N1c3RvbV9jb25maWcKK2Zy
b20gd2ljLnV0aWxzLm9lLm1pc2MgaW1wb3J0IGV4ZWNfY21kLCBleGVjX25hdGl2ZV9jbWQsIGdl
dF9iaXRiYWtlX3ZhciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PVEREX0VY
VFJBX1NQQUNFCisKK2NsYXNzIEJvb3RpbWdFRklQbHVnaW4oU291cmNlUGx1Z2luKToKKyAgICAi
IiIKKyAgICBHZW5lcmljIEVGSSB3aWMgcGx1Z2luIHRvIGNyZWF0ZSBib290YWJsZSBFRkkgU3lz
dGVtIFBhcnRpdGlvbiAoRVNQKS4KKyAgICAoKSBVc2VyIGJyaW5ncyBhbnkgRUZJIGJvb3Rsb2Fk
ZXIsIHNwZWNpZmljIGNvbmZpZyBmaWxlcyBhbmQgYW55IG90aGVyCisgICAgZmlsZXMgdG8gYmUg
ZGVwbG95ZWQgb24gU3lzdGVtIFBhcnRpdGlvbi4KKyAgICAoKSBUaGUgcGx1Z2luIGNoZWNrcyBj
b250ZW50IGFnYWluc3QgVUVGSSBTcGVjIDIuNiB0byB3YXJuIHVzZXIgaWYKKyAgICBkaXJlY3Rv
cnkgc3RydWN0dXJlLCBuYW1lcyBhbmQgbG9jYXRpb25zIG9mIGZpbGVzIGRvZXNuJ3Qgc2VlbSB0
byBiZQorICAgIGNvbXBsaWFudCB3aXRoIFVFRkkgc3BlYyB0byBib290IGEgdGFyZ2V0LgorICAg
ICgpIFByZXBhcmUgRVNQIGFuZCBjb3B5IGFsbCBmaWxlcyBwcm92aWRlZCBieSBjYWxsZXIsIGFs
c28gcHVyZ2UgZmlsZXMKKyAgICBkZWZpbml0ZWx5IG5vdCBmb3IgZGlyZWN0LWJvb3QgaW4gYSBi
bGFja2xpc3QuCisgICAgIiIiCisKKyAgICBuYW1lID0gJ2Jvb3RpbWctZWZpJworCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIGRvX2NvbmZpZ3VyZV9wYXJ0aXRpb24oY2xzLCBwYXJ0LCBzb3Vy
Y2VfcGFyYW1zLCBjcmVhdG9yLCBjcl93b3JrZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9lX2J1aWxkZGlyLCBib290aW1nX2Rpciwga2VybmVsX2RpciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBuYXRpdmVfc3lzcm9vdCk6CisgICAgICAgICIiIgorICAgICAg
ICBDYWxsZWQgYmVmb3JlIGRvX3ByZXBhcmVfcGFydGl0aW9uKCksIGNoZWNrIGNvbnRlbnQgYWdh
aW5zdCBVRUZJIHNwZWMgMi42CisgICAgICAgICIiIgorCisgICAgICAgICIiIgorICAgICAgICBO
YW1pbmcgY29udmVudGlvbnMgZGVmaW5lZCBpbiBVRUZJIHNwZWMsIGZvciByZW1vdmFibGUgbWVk
aWEKKyAgICAgICAgIiIiCisgICAgICAgIHVlZmlfaW1hZ2VfdHlwZXMgPSAoIkJPT1RJQTMyLkVG
SSIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQk9PVHg2NC5FRkkiLCBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkJPT1RJQTY0LkVGSSIsIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiQk9PVEFSTS5FRkkiLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIkJPT1RBQTY0LkVGSSIpCisgICAgICAgICIiIgorICAgICAgICBCYXNpYyBjaGVjayBpZiBj
b250ZW50IGZvciBFU1AgbWFrZXMgc2Vuc2UgZm9yIGEgYm9vdGFibGUgaW1hZ2UKKyAgICAgICAg
IiIiCisKKyAgICAgICAgaWYgbm90IGJvb3RpbWdfZGlyOgorICAgICAgICAgICAgYm9vdGltZ19k
aXIgPSBnZXRfYml0YmFrZV92YXIoIkhERERJUiIpCisgICAgICAgICAgICBpZiBub3QgYm9vdGlt
Z19kaXI6CisgICAgICAgICAgICAgICAgbXNnZXIuZXJyb3IoIkNvdWxkbid0IGZpbmQgSERERElS
IHdoZW4gY29uZmlndXJpbmcgRUZJIHBhcnRpdGlvbiwgZXhpdGluZ1xuIikKKworICAgICAgICBl
ZmlfZGlyID0gb3MucGF0aC5qb2luKGJvb3RpbWdfZGlyLCAiRUZJIikKKyAgICAgICAgcmVtb3Zh
YmxlX21lZGlhX2RpciA9IG9zLnBhdGguam9pbihlZmlfZGlyLCAiQk9PVCIpCisgICAgICAgIGhh
dmVfbG9hZGVyID0gRmFsc2UKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZWZpX2Rp
cik6CisgICAgICAgICAgICBtc2dlci5lcnJvcigiQ291bGRuJ3QgZmluZCBhIGRpcmVjdG9yeSBc
IkVGSVwiIGluICVzLiBJbWFnZSB3b24ndCBiZSBib290YWJsZSwgZXhpdGluZyIgJSBib290aW1n
X2RpcikKKworICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhyZW1vdmFibGVfbWVkaWFfZGlyKToK
KyAgICAgICAgICAgIGZvciBpIGluIG9zLmxpc3RkaXIocmVtb3ZhYmxlX21lZGlhX2Rpcik6Cisg
ICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoaSkgYW5kIGkudXBwZXIoKSBub3QgaW4g
dWVmaV9pbWFnZV90eXBlczoKKyAgICAgICAgICAgICAgICAgICAgbXNnZXIuZXJyb3IoIiVzIGNh
bm5vdCBiZSBpbiAlcyBwZXIgVUVGSSBzcGVjIGZvciByZW1vdmFibGUgbWVkaWEsIGV4aXRpbmci
ICUgaSwgcmVtb3ZhYmxlX21lZGlhX2RpcikKKyAgICAgICAgICAgIGhhdmVfbG9hZGVyID0gVHJ1
ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIHRvcCwgZGlycywgZmlsZXMgaW4gb3Mu
d2FsaygpOgorICAgICAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICAgICAgICAg
ICAgICBpZiBmLmxvd2VyKCkuZW5kc3dpdGgoIi5lZmkiKToKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhhdmVfbG9hZGVyID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgICAgICBpZiBoYXZlX2xvYWRlcjoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgaWYgbm90IGhhdmVfbG9hZGVyOgorICAgICAgICAgICAgbXNnZXIuZXJyb3Io
IkNvdWxkbid0IGZpbmQgYW4gRUZJIGJvb3Rsb2FkZXIgaW4gJXMsIGV4aXRpbmciICUgZWZpX2Rp
cikKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBkb19wcmVwYXJlX3BhcnRpdGlvbihjbHMs
IHBhcnQsIHNvdXJjZV9wYXJhbXMsIGNyZWF0b3IsIGNyX3dvcmtkaXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9lX2J1aWxkZGlyLCBib290aW1nX2Rpciwga2VybmVsX2RpciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdGZzX2RpciwgbmF0aXZlX3N5c3Jvb3QpOgor
ICAgICAgICAiIiIKKyAgICAgICAgQ2FsbGVkIHRvIGRvIHRoZSBhY3R1YWwgY29udGVudCBwb3B1
bGF0aW9uIGZvciBhIHBhcnRpdGlvbiBpLmUuIGl0CisgICAgICAgICdwcmVwYXJlcycgdGhlIHBh
cnRpdGlvbiB0byBiZSBpbmNvcnBvcmF0ZWQgaW50byB0aGUgaW1hZ2UuCisgICAgICAgIEluIHRo
aXMgY2FzZSwgcHJlcGFyZSBjb250ZW50IGZvciBhbiBFRkkgKGdydWIpIGJvb3QgcGFydGl0aW9u
LgorICAgICAgICAiIiIKKyAgICAgICAgYmxhY2tsaXN0ID0gKCJpbml0cmQiLCAicm9vdGZzLmlt
ZyIsICJ2bWxpbnV6IikKKworICAgICAgICBpZiBub3QgYm9vdGltZ19kaXI6CisgICAgICAgICAg
ICBib290aW1nX2RpciA9IGdldF9iaXRiYWtlX3ZhcigiSERERElSIikKKyAgICAgICAgICAgIGlm
IG5vdCBib290aW1nX2RpcjoKKyAgICAgICAgICAgICAgICBtc2dlci5lcnJvcigiQ291bGRuJ3Qg
ZmluZCBIRERESVIsIGV4aXRpbmdcbiIpCisgICAgICAgICAgICAjIGp1c3Qgc28gdGhlIHJlc3Vs
dCBub3RlcyBkaXNwbGF5IGl0CisgICAgICAgICAgICBjcmVhdG9yLnNldF9ib290aW1nX2Rpcihi
b290aW1nX2RpcikKKworICAgICAgICBzdGFnaW5nX2tlcm5lbF9kaXIgPSBrZXJuZWxfZGlyCisK
KyAgICAgICAgaGRkZGlyID0gIiVzL2hkZC9ib290IiAlIGNyX3dvcmtkaXIKKyAgICAgICAgZXhl
Y19jbWQoImluc3RhbGwgLWQgJXMiICUgaGRkZGlyKQorCisgICAgICAgIGluc3RhbGxfY21kID0g
Imluc3RhbGwgLW0gMDY0NCAlcy9iekltYWdlICVzL2J6SW1hZ2UiICUgXAorICAgICAgICAgICAg
KHN0YWdpbmdfa2VybmVsX2RpciwgaGRkZGlyKQorICAgICAgICBleGVjX2NtZChpbnN0YWxsX2Nt
ZCkKKworICAgICAgICBjcF9jbWQgPSAiY3AgLVIgJXMvKiAlcy8iICUgKGJvb3RpbWdfZGlyLCBo
ZGRkaXIpCisgICAgICAgIGV4ZWNfY21kKGNwX2NtZCwgVHJ1ZSkKKworICAgICAgICBmb3IgZWFj
aCBpbiBibGFja2xpc3Q6CisgICAgICAgICAgICBleGVjX2NtZCgicm0gLXJmICVzIiAlIG9zLnBh
dGguam9pbihib290aW1nX2RpciwgZWFjaCkpCisKKyAgICAgICAgZHVfY21kID0gImR1IC1ia3Mg
JXMiICUgaGRkZGlyCisgICAgICAgIG91dCA9IGV4ZWNfY21kKGR1X2NtZCkKKyAgICAgICAgYmxv
Y2tzID0gaW50KG91dC5zcGxpdCgpWzBdKQorCisgICAgICAgIGV4dHJhX2Jsb2NrcyA9IHBhcnQu
Z2V0X2V4dHJhX2Jsb2NrX2NvdW50KGJsb2NrcykKKworICAgICAgICBpZiBleHRyYV9ibG9ja3Mg
PCBCT09URERfRVhUUkFfU1BBQ0U6CisgICAgICAgICAgICBleHRyYV9ibG9ja3MgPSBCT09URERf
RVhUUkFfU1BBQ0UKKworICAgICAgICBibG9ja3MgKz0gZXh0cmFfYmxvY2tzCisKKyAgICAgICAg
bXNnZXIuZGVidWcoIkFkZGVkICVkIGV4dHJhIGJsb2NrcyB0byAlcyB0byBnZXQgdG8gJWQgdG90
YWwgYmxvY2tzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgKGV4dHJhX2Jsb2NrcywgcGFydC5t
b3VudHBvaW50LCBibG9ja3MpKQorCisgICAgICAgICMgZG9zZnMgaW1hZ2UsIGNyZWF0ZWQgYnkg
bWtkb3NmcworICAgICAgICBib290aW1nID0gIiVzL2Jvb3QuaW1nIiAlIGNyX3dvcmtkaXIKKwor
ICAgICAgICBkb3Nmc19jbWQgPSAibWtkb3NmcyAtbiBlZmkgLUMgJXMgJWQiICUgKGJvb3RpbWcs
IGJsb2NrcykKKyAgICAgICAgZXhlY19uYXRpdmVfY21kKGRvc2ZzX2NtZCwgbmF0aXZlX3N5c3Jv
b3QpCisKKyAgICAgICAgbWNvcHlfY21kID0gIm1jb3B5IC1pICVzIC1zICVzLyogOjovIiAlIChi
b290aW1nLCBoZGRkaXIpCisgICAgICAgIGV4ZWNfbmF0aXZlX2NtZChtY29weV9jbWQsIG5hdGl2
ZV9zeXNyb290KQorCisgICAgICAgIGNobW9kX2NtZCA9ICJjaG1vZCA2NDQgJXMiICUgYm9vdGlt
ZworICAgICAgICBleGVjX2NtZChjaG1vZF9jbWQpCisKKyAgICAgICAgZHVfY21kID0gImR1IC1M
YmtzICVzIiAlIGJvb3RpbWcKKyAgICAgICAgb3V0ID0gZXhlY19jbWQoZHVfY21kKQorICAgICAg
ICBib290aW1nX3NpemUgPSBvdXQuc3BsaXQoKVswXQorCisgICAgICAgIHBhcnQuc2l6ZSA9IGJv
b3RpbWdfc2l6ZQorICAgICAgICBwYXJ0LnNvdXJjZV9maWxlID0gYm9vdGltZwotLSAKMi43LjQK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>