<?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>11178</bug_id>
          
          <creation_ts>2017-03-17 15:12:11 +0000</creation_ts>
          <short_desc>Use SOURCE_DATE_EPOCH</short_desc>
          <delta_ts>2018-03-27 09:50:10 +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>OE-Core</product>
          <component>core</component>
          <version>2.4</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>2.5 M3</target_milestone>
          
          <blocked>12421</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Lock">joshuagloe</reporter>
          <assigned_to name="Juro Bystricky">juro.bystricky</assigned_to>
          <cc>juro.bystricky</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>otavio</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>71394</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2017-03-17 15:12:11 +0000</bug_when>
    <thetext>As part of our effort to provide reproducible build output we should adopt the SOURCE_DATE_EPOCH spec.

Export an appropriately set SOURCE_DATE_EPOCH[1][2] environment variable to the environment builds are performed in. 

We&apos;ll need to ensure we&apos;re using appropriate versions of upstream that support SOURCE_DATE_EPOCH and integrating relevant patches from Debian[3] where those aren&apos;t already upstream. Separate issues may need to be filed for this piece.

1. https://reproducible-builds.org/specs/source-date-epoch/
2. https://reproducible-builds.org/docs/timestamps/
3. https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Reading_the_variable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71610</commentid>
    <comment_count>1</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-03-22 22:15:57 +0000</bug_when>
    <thetext>There is some preliminary work (bottom):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5866</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72013</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2017-04-03 09:41:48 +0000</bug_when>
    <thetext>Some of the related patches for reproducibility and SOURCE_DATE_EPOCH enabling are being collected in the distrpatches github organisation:
https://github.com/distropatches

specifically the reproducible-builds repository:
https://github.com/distropatches/reproducible-builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72030</commentid>
    <comment_count>3</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-03 16:24:12 +0000</bug_when>
    <thetext>nice link, seems like we could re-use some of those patches in Yocto recipes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72416</commentid>
    <comment_count>4</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-12 22:28:04 +0000</bug_when>
    <thetext>Basically, we need to be able to set SOURCE_DATE_EPOCH per each recipe.
The date should be set to the latest date in the set of files used by the recipe.
(This - in theory - should be Changelog, but that is not guaranteed, so different routes need to be taken based on context, i.e. date of the top commit in a git repo etc.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72772</commentid>
    <comment_count>5</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-21 22:10:49 +0000</bug_when>
    <thetext>I attached some initial patches to set SOURCE_DATE_EPOCH. The value for this variable is obtained after source code for a recipe has been unpacked, but before it is patched. If the code comes from a GIT repo, we get the timestamp from the top commit. (This usually corresponds to the mktime of &quot;changelog&quot;.) Otherwise we go through all files and get the timestamp from the youngest one. We create a timestamp for each recipe. The timestamp is stored in the file    &apos;src_date_epoch.txt&apos;. Later on, each task reads this file and sets SOURCE_DATE_EPOCH based on the value found in the file.

This works surprisingly well for .DEB packages. Building core-image-minimal in two different build folders and performing comparison results in:

Same:  3617 
Different:  249 
Total: 3866

I attached the patches and the comparison shell script &quot;repro-stats.sh&quot;
The script is located/called from the &quot;poky&quot; folder, i.e.:

$ ./repro-stats.sh build-one build-two deb

The other packages (.RPM, IPK) are not as successful, you can see the disappointing results:
 
$ ./repro-stats.sh build-one build-two ipk
$ ./repro-stats.sh build-one build-two rpm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72773</commentid>
    <comment_count>6</comment_count>
      <attachid>3744</attachid>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-21 22:12:36 +0000</bug_when>
    <thetext>Created attachment 3744
patch to define a variable to select/de-select binary reproducible builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72775</commentid>
    <comment_count>7</comment_count>
      <attachid>3745</attachid>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-21 22:14:01 +0000</bug_when>
    <thetext>Created attachment 3745
patch to set environment variables, SOURCE_DATE_EPOCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72776</commentid>
    <comment_count>8</comment_count>
      <attachid>3746</attachid>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-21 22:15:08 +0000</bug_when>
    <thetext>Created attachment 3746
simple script to get some statistics (same/different/totals)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72777</commentid>
    <comment_count>9</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-04-21 22:16:19 +0000</bug_when>
    <thetext>Probably worth mentioning: in local.conf:

PACKAGE_CLASSES = &quot;package_rpm package_deb package_ipk&quot;
BUILD_REPRODUCIBLE_BINARIES=&quot;1&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76371</commentid>
    <comment_count>10</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2017-08-30 23:30:56 +0000</bug_when>
    <thetext>Sent patch to the ML:
https://patchwork.openembedded.org/patch/143060/

Moving to 2.5 M1, a slightly better version is being tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80000</commentid>
    <comment_count>11</comment_count>
    <who name="Juro Bystricky">juro.bystricky</who>
    <bug_when>2018-03-27 09:50:10 +0000</bug_when>
    <thetext>Two patches address this issue:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=a5644b6811e7d9db10c72c02fcfdd0930169f23c
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=cf6f3c023cfa731ce061949135e255458d474964</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3744</attachid>
            <date>2017-04-21 22:12:36 +0000</date>
            <delta_ts>2017-04-21 22:12:36 +0000</delta_ts>
            <desc>patch to define a variable to select/de-select binary reproducible builds</desc>
            <filename>0001-bitbake.conf-new-variable-BUILD_REPRODUCIBLE_BINARIE.patch</filename>
            <type>text/plain</type>
            <size>1186</size>
            <attacher name="Juro Bystricky">juro.bystricky</attacher>
            
              <data encoding="base64">RnJvbSAxYmVhMGY3NTQ2NmI1ZDU4NzBkMTQ4MmU5NWQ0YWVjMjc0ZTU5ODg0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwu
Y29tPgpEYXRlOiBGcmksIDIxIEFwciAyMDE3IDE0OjMwOjU0IC0wNzAwClN1YmplY3Q6IFtQQVRD
SCAxLzJdIGJpdGJha2UuY29uZjogbmV3IHZhcmlhYmxlIEJVSUxEX1JFUFJPRFVDSUJMRV9CSU5B
UklFUwoKQnVpbGRpbmcgcmVwcm9kdWNpYmxlIGJpbmFyaWVzIG1heSByZW1vdmUgY2VydGFpbiBp
bnRlbnRpb25hbApyYW5kb21uZXNzIGludGVuZGVkIGZvciBpbmNyZWFzZWQgc2VjdXJpdHkuIEhl
bmNlLCBpdCBpcyByZWFzb25hYmxlCnRvIGV4cGVjdCB0aGVyZSB3aWxsIGJlIGNhc2VzIHdoZXJl
IHRoaXMgaXMgbm90IGRlc2lyYWJsZS4KVGhlIHVzZXIgY2FuIHNlbGVjdCBoaXMvaGVyIHByZWZl
cmVuY2VzIHZpYSB0aGUgdmFyaWFibGUKQlVJTERfUkVQUk9EVUNJQkxFX0JJTkFSSUVTLiBUaGUg
dmFyaWFibGUgZGVmYXVsdHMgdG8gIjAiIChkbyBub3QKYnVpbGQgcmVwcm9kdWNpYmxlIGJpbmFy
aWVzKSBpbiBvcmRlciB0byBtaW5pbWl6ZSBhbnkgcG90ZW50aWFsCnJlZ3Jlc3Npb25zLiAoT25j
ZSB0aGUgcmVwcm9kdWNpYmxlIGJpbmFyaWVzIGNvZGUgaXMgbWF0dXJlIGVub3VnaCwKaXQgY2Fu
IGJlIHNldCB0byAiMSIuKQoKU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlz
dHJpY2t5QGludGVsLmNvbT4KLS0tCiBtZXRhL2NvbmYvYml0YmFrZS5jb25mIHwgMyArKysKIDEg
ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mIGIvbWV0YS9jb25mL2JpdGJha2UuY29uZgppbmRleCAyMjdiYWJkLi4wYzEwOTFl
IDEwMDY0NAotLS0gYS9tZXRhL2NvbmYvYml0YmFrZS5jb25mCisrKyBiL21ldGEvY29uZi9iaXRi
YWtlLmNvbmYKQEAgLTg1OSwzICs4NTksNiBAQCBCQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUyA/
PSAiZG9jIGRlcHMgZGVwZW5kcyBcCiAKIE1MUFJFRklYID8/PSAiIgogTVVMVElMSUJfVkFSSUFO
VFMgPz89ICIiCisKK0JVSUxEX1JFUFJPRFVDSUJMRV9CSU5BUklFUyA/Pz0gIjAiCitCVUlMRF9S
RVBST0RVQ0lCTEVfQklOQVJJRVNbZXhwb3J0XSA9ICIxIgotLSAKMi43LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3745</attachid>
            <date>2017-04-21 22:14:01 +0000</date>
            <delta_ts>2017-04-21 22:14:01 +0000</delta_ts>
            <desc>patch to set environment variables, SOURCE_DATE_EPOCH</desc>
            <filename>0002-base.bbclass-initial-support-for-binary-reproducibil.patch</filename>
            <type>text/plain</type>
            <size>5768</size>
            <attacher name="Juro Bystricky">juro.bystricky</attacher>
            
              <data encoding="base64">RnJvbSBmNDgwM2M1YTVmNGU4Zjk5NDQ0M2FkYWMyNjllYWMxZDg5ODJlNWE2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwu
Y29tPgpEYXRlOiBGcmksIDIxIEFwciAyMDE3IDE0OjM5OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRD
SCAyLzJdIGJhc2UuYmJjbGFzczogaW5pdGlhbCBzdXBwb3J0IGZvciBiaW5hcnkgcmVwcm9kdWNp
YmlsaXR5CgpDb25kaXRpb25hbGx5IHNldCBzb21lIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiBv
cmRlciB0byBhY2hpZXZlCmltcHJvdmVkIGJpbmFyeSByZXByb2R1Y2liaWxpdHkuIFByb3ZpZGlu
ZyBCVUlMRF9SRVBST0RVQ0lCTEVfQklOQVJJRVMgaXMKc2V0IHRvICIxIiwgd2Ugc2V0IHRoZSBm
b2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzOgoKZXhwb3J0IFBZVEhPTkhBU0hTRUVEPTAK
ZXhwb3J0IFBFUkxfSEFTSF9TRUVEPTAKZXhwb3J0IFRaPSJVVEMiCgpXZSBhbHNvIGV4cG9ydCBh
bmQgc2V0IFNPVVJDRV9EQVRFX0VQT0NILiBUaGUgdmFsdWUgZm9yIHRoaXMgdmFyaWFibGUKaXMg
b2J0YWluZWQgYWZ0ZXIgc291cmNlIGNvZGUgZm9yIGEgcmVjaXBlIGhhcyBiZWVuIHVucGFja2Vk
LCBidXQgYmVmb3JlIGl0IGlzCnBhdGNoZWQuIElmIHRoZSBjb2RlIGNvbWVzIGZyb20gYSBHSVQg
cmVwbywgd2UgZ2V0IHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgdG9wCmNvbW1pdC4gKFRoaXMgdXN1
YWxseSBjb3JyZXNwb25kcyB0byB0aGUgbWt0aW1lIG9mICJjaGFuZ2Vsb2ciLikKT3RoZXJ3aXNl
IHdlIGdvIHRocm91Z2ggYWxsIGZpbGVzIGFuZCBnZXQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSB5
b3VuZ2VzdApvbmUuIFdlIGNyZWF0ZSBhIHRpbWVzdGFtcCBmb3IgZWFjaCByZWNpcGUuIFRoZSB0
aW1lc3RhbXAgaXMgc3RvcmVkIGluIHRoZSBmaWxlCidzcmNfZGF0ZV9lcG9jaC50eHQnLiBMYXRl
ciBvbiwgZWFjaCB0YXNrIHJlYWRzIHRoaXMgZmlsZSBhbmQgc2V0cyBTT1VSQ0VfREFURV9FUE9D
SApiYXNlZCBvbiB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIGZpbGUuCgpbWU9DVE8jMTExNzhdCltZ
T0NUTyMxMTE3OV0KClNpZ25lZC1vZmYtYnk6IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNr
eUBpbnRlbC5jb20+Ci0tLQogbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyB8IDkyICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg
OTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3Mg
Yi9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzCmluZGV4IGUyOTgyMWYuLjllMTAyZmMgMTAwNjQ0
Ci0tLSBhL21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MKKysrIGIvbWV0YS9jbGFzc2VzL2Jhc2Uu
YmJjbGFzcwpAQCAtMTAsNiArMTAsNjIgQEAgaW5oZXJpdCB1dGlsaXR5LXRhc2tzCiBpbmhlcml0
IG1ldGFkYXRhX3NjbQogaW5oZXJpdCBsb2dnaW5nCiAKK2RlZiBnZXRfZ2l0X3NyY19kYXRlX2Vw
b2NoKGQsIHBhdGgpOgorICAgIGltcG9ydCBzdWJwcm9jZXNzCisgICAgc2F2ZWRfY3dkID0gb3Mu
Z2V0Y3dkKCkKKyAgICBvcy5jaGRpcihwYXRoKQorICAgIHNyY19kYXRlX2Vwb2NoID0gaW50KHN1
YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsnZ2l0JywnbG9nJywnLTEnLCctLXByZXR0eT0lY3QnXSkp
CisgICAgb3MuY2hkaXIoc2F2ZWRfY3dkKQorICAgIHJldHVybiBzcmNfZGF0ZV9lcG9jaAorCitk
ZWYgY3JlYXRlX3NyY19kYXRlX2Vwb2NoX3N0YW1wKGQpOgorICAgIGlmIGQuZ2V0VmFyKCdCVUlM
RF9SRVBST0RVQ0lCTEVfQklOQVJJRVMnKSA9PSAnMSc6CisgICAgICAgIHBhdGggPSBkLmdldFZh
cignUycpCisKKyAgICAgICAgI2lmIG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihwYXRoLCdz
cmNfZGF0ZV9lcG9jaC50eHQnKSk6CisgICAgICAgICMgICAgYmIud2Fybigic3JjX2RhdGVfZXBv
Y2gudHh0IGV4aXN0cy4uLiIpCisgICAgICAgICMgICAgb3MucmVtb3ZlKG9zLnBhdGguam9pbihw
YXRoLCdzcmNfZGF0ZV9lcG9jaC50eHQnKSkKKworICAgICAgICBzcmNfZGF0ZV9lcG9jaCA9IDAK
KyAgICAgICAgZmlsZW5hbWVfZGJnID0gTm9uZQorCisgICAgICAgIGlmIHBhdGguZW5kc3dpdGgo
Jy9naXQnKToKKyAgICAgICAgICAgIHNyY19kYXRlX2Vwb2NoID0gZ2V0X2dpdF9zcmNfZGF0ZV9l
cG9jaChkLCBwYXRoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhjbHVkZSA9IHNldChb
InRlbXAiLCAibGljZW5zZXMiLCAicGF0Y2hlcyIsICJyZWNpcGUtc3lzcm9vdC1uYXRpdmUiLCAi
cmVjaXBlLXN5c3Jvb3QiIF0pCisgICAgICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4g
b3Mud2FsayhwYXRoLCB0b3Bkb3duPVRydWUpOgorICAgICAgICAgICAgICAgIGRpcnNbOl0gPSBb
ZCBmb3IgZCBpbiBkaXJzIGlmIGQgbm90IGluIGV4Y2x1ZGVdCisgICAgICAgICAgICAgICAgaWYg
cm9vdC5lbmRzd2l0aCgnL2dpdCcpOgorICAgICAgICAgICAgICAgICAgICBzcmNfZGF0ZV9lcG9j
aCA9IGdldF9naXRfc3JjX2RhdGVfZXBvY2goZCwgcm9vdCkKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWsKKworICAgICAgICAgICAgICAgIGZvciBmbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAg
ICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ocm9vdCwgZm5hbWUpCisgICAgICAgICAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIG10aW1lID0gaW50KG9zLnBh
dGguZ2V0bXRpbWUoZmlsZW5hbWUpKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAg
ICAgICAgICAgICAgICAgICAgICBtdGltZSA9IDAKKyAgICAgICAgICAgICAgICAgICAgaWYgbXRp
bWUgPiBzcmNfZGF0ZV9lcG9jaDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNyY19kYXRlX2Vw
b2NoID0gbXRpbWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lX2RiZyA9IGZpbGVu
YW1lCisKKyAgICAgICAgIyBNb3N0IGxpa2VseSBhbiBlbXB0eSBmb2xkZXIKKyAgICAgICAgaWYg
c3JjX2RhdGVfZXBvY2ggPT0gMDoKKyAgICAgICAgICAgIGJiLndhcm4oInNyY19kYXRlX2Vwb2No
IG5vdCBzcGVjaWZpZWQhIHBhdGg6JXMiICUgcGF0aCkKKworICAgICAgICBmID0gb3Blbihvcy5w
YXRoLmpvaW4ocGF0aCwnc3JjX2RhdGVfZXBvY2gudHh0JyksICd3JykKKyAgICAgICAgZi53cml0
ZShzdHIoc3JjX2RhdGVfZXBvY2gpKQorICAgICAgICBmLmNsb3NlKCkKKworICAgICAgICAjIFRl
bXBvcmFyeTogT25seSB0byBoZWxwIHdpdGggZGVidWdnaW5nCisgICAgICAgIGlmIGZpbGVuYW1l
X2RiZyAhPSBOb25lOgorICAgICAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHBhdGgsJ3Ny
Y19kYXRlX2Vwb2NoX2ZpbGVuYW1lLnR4dCcpLCAndycpCisgICAgICAgICAgICBmLndyaXRlKGZp
bGVuYW1lX2RiZykKKyAgICAgICAgICAgIG10aW1lID0gaW50KG9zLnBhdGguZ2V0bXRpbWUoZmls
ZW5hbWVfZGJnKSkKKyAgICAgICAgICAgIGYud3JpdGUoc3RyKG10aW1lKSkKKyAgICAgICAgICAg
IGYuY2xvc2UoKQorCisKIE9FX0lNUE9SVFMgKz0gIm9zIHN5cyB0aW1lIG9lLnBhdGggb2UudXRp
bHMgb2UudHlwZXMgb2UucGFja2FnZSBvZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnIG9lLmxz
YiBvZS5jYWNoZWRwYXRoIG9lLmxpY2Vuc2UiCiBPRV9JTVBPUlRTW3R5cGVdID0gImxpc3QiCiAK
QEAgLTE3Myw2ICsyMjksNyBAQCBweXRob24gYmFzZV9kb191bnBhY2soKSB7CiAgICAgdHJ5Ogog
ICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGQpCiAgICAgICAgIGZl
dGNoZXIudW5wYWNrKGQuZ2V0VmFyKCdXT1JLRElSJykpCisgICAgICAgIGNyZWF0ZV9zcmNfZGF0
ZV9lcG9jaF9zdGFtcChkKQogICAgIGV4Y2VwdCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2VwdGlvbiBh
cyBlOgogICAgICAgICBiYi5mYXRhbChzdHIoZSkpCiB9CkBAIC0zODMsOSArNDQwLDQzIEBAIGRl
ZiBzZXRfcGFja2FnZXRyaXBsZXQoZCk6CiAKICAgICBzZXR0cmlwbGV0KGQsICJQS0dNTFRSSVBM
RVRTIiwgYXJjaHMsIHRvcywgdHZzKQogCisKK2V4cG9ydCBQWVRIT05IQVNIU0VFRAorZXhwb3J0
IFBFUkxfSEFTSF9TRUVECitleHBvcnQgU09VUkNFX0RBVEVfRVBPQ0gKKworQkJfSEFTSEJBU0Vf
V0hJVEVMSVNUICs9ICJTT1VSQ0VfREFURV9FUE9DSCBQWVRIT05IQVNIU0VFRCBQRVJMX0hBU0hf
U0VFRCAiCisKIHB5dGhvbiAoKSB7CiAgICAgaW1wb3J0IHN0cmluZywgcmUKIAorICAgICMgQ3Jl
YXRlIHJlcHJvZHVjaWJsZV9lbnZpcm9ubWVudAorCisgICAgaWYgZC5nZXRWYXIoJ0JVSUxEX1JF
UFJPRFVDSUJMRV9CSU5BUklFUycpID09ICcxJzoKKyAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MK
KyAgICAgICAgZC5zZXRWYXIoJ1BZVEhPTkhBU0hTRUVEJywgJzAnKQorICAgICAgICBkLnNldFZh
cignUEVSTF9IQVNIX1NFRUQnLCAnMCcpCisgICAgICAgIGQuc2V0VmFyKCdUWicsICdVVEMnKQor
CisgICAgICAgIHBhdGggPSBkLmdldFZhcignUycpCisgICAgICAgIGVwb2NoZmlsZSA9IG9zLnBh
dGguam9pbihwYXRoLCdzcmNfZGF0ZV9lcG9jaC50eHQnKQorICAgICAgICBpZiBvcy5wYXRoLmlz
ZmlsZShlcG9jaGZpbGUpOgorICAgICAgICAgICAgZiA9IG9wZW4oZXBvY2hmaWxlLCAncicpCisg
ICAgICAgICAgICBzcmNfZGF0ZV9lcG9jaCA9IGYucmVhZCgpCisgICAgICAgICAgICBmLmNsb3Nl
KCkKKyAgICAgICAgICAgIGJiLmRlYnVnKDEsICJzcmNfZGF0ZV9lcG9jaCBzdGFtcCBmb3VuZCAt
LS0+IHN0YW1wICVzIiAlIHNyY19kYXRlX2Vwb2NoKQorICAgICAgICAgICAgZC5zZXRWYXIoJ1NP
VVJDRV9EQVRFX0VQT0NIJywgc3JjX2RhdGVfZXBvY2gpCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBiYi5kZWJ1ZygxLCAic3JjX2RhdGVfZXBvY2ggc3RhbXAgbm90IGZvdW5kLiIpCisgICAg
ICAgICAgICBkLnNldFZhcignU09VUkNFX0RBVEVfRVBPQ0gnLCAnMCcpCisgICAgZWxzZToKKyAg
ICAgICAgaWYgJ1BZVEhPTkhBU0hTRUVEJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgZGVs
IG9zLmVudmlyb25bJ1BZVEhPTkhBU0hTRUVEJ10KKyAgICAgICAgaWYgJ1BFUkxfSEFTSF9TRUVE
JyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bJ1BFUkxfSEFTSF9T
RUVEJ10KKyAgICAgICAgaWYgJ1NPVVJDRV9EQVRFX0VQT0NIJyBpbiBvcy5lbnZpcm9uOgorICAg
ICAgICAgICAgZGVsIG9zLmVudmlyb25bJ1NPVVJDRV9EQVRFX0VQT0NIJ10KKwogICAgICMgSGFu
ZGxlIFBBQ0tBR0VDT05GSUcKICAgICAjCiAgICAgIyBUaGVzZSB0YWtlIHRoZSBmb3JtOgpAQCAt
Njc4LDYgKzc2OSw3IEBAIHB5dGhvbiAoKSB7CiAgICAgICAgICAgICBiYi53YXJuKCJSZWNpcGUg
JXMgaXMgbWFya2VkIGFzIG9ubHkgYmVpbmcgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGJ1dCBzZWVt
cyB0byBoYXZlIG1hY2hpbmUgc3BlY2lmaWMgcGFja2FnZXM/ISBUaGUgcmVjaXBlIG1heSBhcyB3
ZWxsIG1hcmsgaXRzZWxmIGFzIG1hY2hpbmUgc3BlY2lmaWMgZGlyZWN0bHkuIiAlIGQuZ2V0VmFy
KCJQTiIpKQogfQogCisKIGFkZHRhc2sgY2xlYW5zc3RhdGUgYWZ0ZXIgZG9fY2xlYW4KIHB5dGhv
biBkb19jbGVhbnNzdGF0ZSgpIHsKICAgICAgICAgc3N0YXRlX2NsZWFuX2NhY2hlZmlsZXMoZCkK
LS0gCjIuNy40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3746</attachid>
            <date>2017-04-21 22:15:08 +0000</date>
            <delta_ts>2017-04-21 22:15:08 +0000</delta_ts>
            <desc>simple script to get some statistics (same/different/totals)</desc>
            <filename>repro-stats.sh</filename>
            <type>application/x-shellscript</type>
            <size>1234</size>
            <attacher name="Juro Bystricky">juro.bystricky</attacher>
            
              <data encoding="base64">IyEvYmluL2Jhc2gKCmRlZl9wYXRoPSJ0bXAvZGVwbG95LyQzLyIKZmluZGFsbD1gZmluZCAtTCAk
MS8kZGVmX3BhdGggIC1uYW1lICcqLionIC1leGVjIHJlYWRsaW5rIC1mIHt9IFw7YAoKbnVtX2Zp
bGVzPSggJGZpbmRhbGwgKQoKc2FtZT0wCmRpZmY9MAp0b3RhbD0wCgplY2hvICIiCmVjaG8gIkNv
bXBhcmluZyAkeyNudW1fZmlsZXNbQF19IGZpbGVzIGluICQxLyRkZWZfcGF0aCB0byAkMi8kZGVm
X3BhdGgiCmVjaG8gIlNhbWU6ICRzYW1lIgplY2hvICJEaWZmZXJlbnQ6ICRkaWZmIgplY2hvICJU
b3RhbDogJHRvdGFsIgp0cHV0IGNpdmlzCgpncmVlbj0yCnJlZD0xCgoKZnVuY3Rpb24gY2xlYW5f
dXAgewogICAgdHB1dCBjbm9ybQogICAgdHB1dCBzZ3IwCiAgICBleGl0IDIKfQoKdHJhcCBjbGVh
bl91cCBTSUdIVVAgU0lHSU5UIFNJR1RFUk0KCmZvciBmaWxlMSBpbiAkZmluZGFsbApkbwogICAg
dG90YWw9JCgodG90YWwgKyAxKSkKICAgIHRwdXQgc2MKICAgIHRwdXQgY3V1IDEKICAgIGVjaG8g
IlRvdGFsOiAkdG90YWwiCiAgICB0cHV0IHJjCiAgICBmbmFtZTE9YGJhc2VuYW1lICRmaWxlMWAK
ICAgIGZpbGUyPSR7ZmlsZTEvJDEvJDJ9CiAgICAjZWNobyAiY29tcGFyaW5nICRmaWxlMSB0byAk
ZmlsZTIiCiAgICBpZiBbIC1mICIkZmlsZTIiIF07IHRoZW4KICAgICAgICBjbXAgIiRmaWxlMSIg
IiRmaWxlMiIgLXMKICAgICAgICBpZiBbICQ/IC1lcSAwIF07IHRoZW4KICAgICAgICAgICAgc2Ft
ZT0kKChzYW1lICsgMSkpCiAgICAgICAgICAgIHRwdXQgc2MKICAgICAgICAgICAgI3RwdXQgc2V0
YWYgJGdyZWVuCiAgICAgICAgICAgIHRwdXQgY3V1IDMKICAgICAgICAgICAgZWNobyAiU2FtZTog
YHRwdXQgc2V0YWYgJGdyZWVuYCAkc2FtZSBgdHB1dCBzZ3IwYCIKICAgICAgICAgICAgdHB1dCBy
YwogICAgICAgIGVsc2UKICAgICAgICAgICAgZGlmZj0kKChkaWZmICsgMSkpCiAgICAgICAgICAg
IHRwdXQgc2MKICAgICAgICAgICAgdHB1dCBjdXUgMgogICAgICAgICAgICBlY2hvICJEaWZmZXJl
bnQ6IGB0cHV0IHNldGFmICRyZWRgICRkaWZmIGB0cHV0IHNncjBgIgogICAgICAgICAgICB0cHV0
IHJjCiAgICAgICAgZmkKICAgIGVsc2UKICAgICAgICBlY2hvICJGaWxlICRmaWxlMiBpcyBtaXNz
aW5nISIKICAgICAgICB0cHV0IGNub3JtCiAgICAgICAgdHB1dCBzZ3IwCiAgICAgICAgI2V4aXQg
MQogICAgZmkKCmRvbmUKCnRwdXQgY25vcm0KdHB1dCBzZ3IwCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>