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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>184379</bug_id>
          
          <creation_ts>2018-04-06 18:17:07 -0700</creation_ts>
          <short_desc>[WPE] Move libWPEWebInspectorResources.so to pkglibdir</short_desc>
          <delta_ts>2018-04-12 11:19:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>178894</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1412535</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-06 18:17:07 -0700</bug_when>
    <thetext>libWPEWebInspectorResources.so is installed into libdir, which is probably OK, but:

 * It&apos;s not referenced in any pkg-config file, so it would be inappropriate for applications to link to it directly
 * The only use inside WebKit is in RemoteInspectorUtils.cpp, where it is dlopened

If it&apos;s only ever dlopened, it should probably go into pkglibdir instead, to get it out of the linker search path. But this makes me question how the web inspector is intended to work by default. How can it work if it&apos;s not linked to its resources? Is only remote inspector supported? Why is this so different from WebKitGTK+?

One way or another, we need to ensure it is API-versioned, so if we do not move it to pkglibdir, we should append the API version to the library name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413464</commentid>
    <comment_count>1</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-04-10 17:03:25 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #0)
&gt; libWPEWebInspectorResources.so is installed into libdir, which is probably
&gt; OK, but:
&gt; 
&gt;  * It&apos;s not referenced in any pkg-config file, so it would be inappropriate
&gt; for applications to link to it directly
&gt;  * The only use inside WebKit is in RemoteInspectorUtils.cpp, where it is
&gt; dlopened
&gt; 
&gt; If it&apos;s only ever dlopened, it should probably go into pkglibdir instead, to
&gt; get it out of the linker search path. But this makes me question how the web
&gt; inspector is intended to work by default. How can it work if it&apos;s not linked
&gt; to its resources? Is only remote inspector supported? Why is this so
&gt; different from WebKitGTK+?

Yup, pkglibdir is probably a good option. If it&apos;s going to be installed
alongside “WPEWebProcess” and friends, I would also make it possible to
override the path where it is searched for using “WEBKIT_EXEC_PATH”.

The inspector only ever needs reading resources when it&apos;s in use. While
not in use, it does not matter that the library is not loaded. This saves
around 2,5 MiB of RAM, and in very constrained environments it is possible
to skip shipping it — the inspector just won&apos;t work. I could argue that
WebKitGTK+ should follow suit and also ship a separate resources file.

What I don&apos;t understand is why using a shared object instead of a
“.gresource” file, and loading it with “g_resource_load()” followed
by a call to “g_resources_register()” — which uses “mmap()” under the
hood.

&gt; One way or another, we need to ensure it is API-versioned, so if we do not
&gt; move it to pkglibdir, we should append the API version to the library name.

Agreed. I would move it into pkglibdir.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413515</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-10 18:48:00 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #1)
&gt; Yup, pkglibdir is probably a good option. If it&apos;s going to be installed
&gt; alongside “WPEWebProcess” and friends, I would also make it possible to
&gt; override the path where it is searched for using “WEBKIT_EXEC_PATH”.

No, this is a library, not an executable. I suggested moving the executables into pkglibexecdir, not pkglibdir. (On Debian, pkglibexecdir uses non-multiarch /usr/lib. And Fedora has separate /usr/libexecdir.)

&gt; The inspector only ever needs reading resources when it&apos;s in use. While
&gt; not in use, it does not matter that the library is not loaded. This saves
&gt; around 2,5 MiB of RAM, and in very constrained environments it is possible
&gt; to skip shipping it — the inspector just won&apos;t work. I could argue that
&gt; WebKitGTK+ should follow suit and also ship a separate resources file.

Seems like really small beans to me, but OK.

&gt; What I don&apos;t understand is why using a shared object instead of a
&gt; “.gresource” file, and loading it with “g_resource_load()” followed
&gt; by a call to “g_resources_register()” — which uses “mmap()” under the
&gt; hood.

It&apos;s an implementation detail, we can change it later.

&gt; &gt; One way or another, we need to ensure it is API-versioned, so if we do not
&gt; &gt; move it to pkglibdir, we should append the API version to the library name.
&gt; 
&gt; Agreed. I would move it into pkglibdir.

Yeah, let&apos;s move it to pkglibdir. It will be happy there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413521</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-10 19:03:44 -0700</bug_when>
    <thetext>Well, I guess my other concern here is that normal web inspector is probably broken in WPE, because there&apos;s no mechanism to load libWPEWebInspectorResources.so except in RemoteInspectorUtils.cpp. So I guess the usual case of local inspector must be broken. Then again, without support for context menus, I guess there&apos;s probably no way to open local inspector anyway, so whatever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413525</commentid>
    <comment_count>4</comment_count>
      <attachid>337667</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-10 19:09:34 -0700</bug_when>
    <thetext>Created attachment 337667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413526</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-10 19:10:03 -0700</bug_when>
    <thetext>This is not tested at all. Could someone who knows how to use remote inspector check it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413609</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-04-11 00:25:35 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; (In reply to Adrian Perez from comment #1)
&gt; &gt; Yup, pkglibdir is probably a good option. If it&apos;s going to be installed
&gt; &gt; alongside “WPEWebProcess” and friends, I would also make it possible to
&gt; &gt; override the path where it is searched for using “WEBKIT_EXEC_PATH”.
&gt; 
&gt; No, this is a library, not an executable. I suggested moving the executables
&gt; into pkglibexecdir, not pkglibdir. (On Debian, pkglibexecdir uses
&gt; non-multiarch /usr/lib. And Fedora has separate /usr/libexecdir.)
&gt; 
&gt; &gt; The inspector only ever needs reading resources when it&apos;s in use. While
&gt; &gt; not in use, it does not matter that the library is not loaded. This saves
&gt; &gt; around 2,5 MiB of RAM, and in very constrained environments it is possible
&gt; &gt; to skip shipping it — the inspector just won&apos;t work. I could argue that
&gt; &gt; WebKitGTK+ should follow suit and also ship a separate resources file.
&gt; 
&gt; Seems like really small beans to me, but OK.

It&apos;s super-convenient to know that resources are always available, no matter if your ran make install or not. But, I agree it could be useful or even required in some embedded systems, so we could add it to WebKitGTK+ as a build option disabled by default, for example.

&gt; &gt; What I don&apos;t understand is why using a shared object instead of a
&gt; &gt; “.gresource” file, and loading it with “g_resource_load()” followed
&gt; &gt; by a call to “g_resources_register()” — which uses “mmap()” under the
&gt; &gt; hood.
&gt; 
&gt; It&apos;s an implementation detail, we can change it later.

I also think this is a good opportunity to change that, I never understood why this was a shared lib either.

&gt; &gt; &gt; One way or another, we need to ensure it is API-versioned, so if we do not
&gt; &gt; &gt; move it to pkglibdir, we should append the API version to the library name.
&gt; &gt; 
&gt; &gt; Agreed. I would move it into pkglibdir.
&gt; 
&gt; Yeah, let&apos;s move it to pkglibdir. It will be happy there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413715</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-11 09:51:55 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; It&apos;s super-convenient to know that resources are always available, no matter
&gt; if your ran make install or not. But, I agree it could be useful or even
&gt; required in some embedded systems, so we could add it to WebKitGTK+ as a
&gt; build option disabled by default, for example.

Let&apos;s not, unless we really need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413737</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-11 10:29:13 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; &gt; &gt; What I don&apos;t understand is why using a shared object instead of a
&gt; &gt; &gt; “.gresource” file, and loading it with “g_resource_load()” followed
&gt; &gt; &gt; by a call to “g_resources_register()” — which uses “mmap()” under the
&gt; &gt; &gt; hood.
&gt; &gt; 
&gt; &gt; It&apos;s an implementation detail, we can change it later.
&gt; 
&gt; I also think this is a good opportunity to change that, I never understood
&gt; why this was a shared lib either.

I&apos;m kinda backlogged now, can you handle this if you want to change it now? Otherwise, let&apos;s just move it to pkglibdir for now, and change it later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413939</commentid>
    <comment_count>9</comment_count>
      <attachid>337667</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-11 23:14:06 -0700</bug_when>
    <thetext>Comment on attachment 337667
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=337667&amp;action=review

&gt; Source/JavaScriptCore/PlatformWPE.cmake:36
&gt; +add_definitions(-DPKGLIBDIR=&quot;${CMAKE_INSTALL_FULL_LIBDIR}/wpe-webkit-${WPE_API_VERSION})

Missing the ending &quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414016</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-12 08:34:10 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; This is not tested at all. Could someone who knows how to use remote
&gt; inspector check it, please?

Wasn&apos;t kidding :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414017</commentid>
    <comment_count>11</comment_count>
      <attachid>337798</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-12 08:34:20 -0700</bug_when>
    <thetext>Created attachment 337798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414096</commentid>
    <comment_count>12</comment_count>
      <attachid>337798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-12 11:19:55 -0700</bug_when>
    <thetext>Comment on attachment 337798
Patch

Clearing flags on attachment: 337798

Committed r230585: &lt;https://trac.webkit.org/changeset/230585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414097</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-12 11:19:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337667</attachid>
            <date>2018-04-10 19:09:34 -0700</date>
            <delta_ts>2018-04-12 08:34:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184379-20180410210934.patch</filename>
            <type>text/plain</type>
            <size>3869</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZWMyN2Q3Y2YxYzMxYWQ4YTEzZmEzMTQ2NDE1YmZiYzYwZTNhNzY3Li5jNzM1NDg3YmQ3ZGU2YmZl
YTk1NWM0ZmRkZjc2ZjJiOTc0YzE5MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wNC0xMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0gTW92ZSBsaWJXUEVXZWJJbnNwZWN0b3JSZXNvdXJj
ZXMuc28gdG8gcGtnbGliZGlyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQzNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBMb2FkIHRoZSBtb2R1bGUgZnJvbSB0aGUgbmV3IGxvY2F0aW9uLgorCisgICAg
ICAgICogUGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9nbGli
L1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6YmFja2VuZENv
bW1hbmRzKToKKwogMjAxOC0wNC0wOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBbSlNDXSBJbnRyb2R1Y2UgQHB1dEJ5SWREaXJlY3RQcml2YXRlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDgyOTQ1ZGU2ZDlmMGFkMzhjMzQ3MmNlNjk0ZjY0YWJiMTk3YTdhYWQuLjdkOWQ2
ZmFlNDhlYTA5ZDI1NWEyYjk3YmEwYWJhZDYyZDJjYzc0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTgtMDQtMTAgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtXUEVdIE1vdmUgbGliV1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzLnNv
IHRvIHBrZ2xpYmRpcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg0Mzc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBpcyBpbXBvcnRhbnQgdG8gYWxsb3cgcGFyYWxsZWwgaW5zdGFsbGF0aW9uLgor
CisgICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6CisKIDIwMTgtMDQtMDkgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTo6RXZlbnRIYW5kbGVy
Ojp0YXJnZXRQb3NpdGlvbkluV2luZG93Rm9yU2VsZWN0aW9uQXV0b3Njcm9sbCBpcyBkaXJlY3Rs
eSBhY2Nlc3NpbmcgTlNTY3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Q
bGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVdQRS5jbWFr
ZQppbmRleCA0ZGJlY2UzYTlhYTRiOTRmMDRkOWQ2OWVhYTRhM2IwZWE4YzI2ZmMxLi5jNzY4NWMy
MGYyZTdmOGJlMzEzNmY2OTYxMzI1MzcwYzk5ODY1NjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0zMywzICszMyw0IEBAIGluc3RhbGwoRklMRVMgJHtKYXZh
U2NyaXB0Q29yZV9JTlNUQUxMRURfSEVBREVSU30KICkKIAogYWRkX2RlZmluaXRpb25zKC1ESlND
X0NPTVBJTEFUSU9OKQorYWRkX2RlZmluaXRpb25zKC1EUEtHTElCRElSPSIke0NNQUtFX0lOU1RB
TExfRlVMTF9MSUJESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJT059KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNw
ZWN0b3JVdGlscy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9n
bGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcAppbmRleCAxMWQ5ZjFkNTI5NzE3OTI0NTUxN2Zm
MTNlZjcxZDdiMDY3MzIxNWIzLi5jNmMwZmNhZDJjODBkMDg2NTQxYjA0OWYxNWQyNWQxNjY5NmEy
OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9n
bGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcApAQCAtNDUsNyAr
NDUsNyBAQCBHUmVmUHRyPEdCeXRlcz4gYmFja2VuZENvbW1hbmRzKCkKICNpZiBQTEFURk9STShX
UEUpCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uo
ZmxhZywgW10gewotICAgICAgICBHTW9kdWxlKiByZXNvdXJjZXNNb2R1bGUgPSBnX21vZHVsZV9v
cGVuKCJsaWJXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMuc28iLCBHX01PRFVMRV9CSU5EX0xBWlkp
OworICAgICAgICBHTW9kdWxlKiByZXNvdXJjZXNNb2R1bGUgPSBnX21vZHVsZV9vcGVuKFBLR0xJ
QkRJUiBHX0RJUl9TRVBBUkFUT1JfUyAibGliV1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzLnNvIiwg
R19NT0RVTEVfQklORF9MQVpZKTsKICAgICAgICAgaWYgKCFyZXNvdXJjZXNNb2R1bGUpIHsKICAg
ICAgICAgICAgIFdURkxvZ0Fsd2F5cygiRXJyb3IgbG9hZGluZyBsaWJXUEVXZWJJbnNwZWN0b3JS
ZXNvdXJjZXMuc286ICVzIiwgZ19tb2R1bGVfZXJyb3IoKSk7CiAgICAgICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCA1Njc0MDE5NWQ0NTM5MWYwODY1MWM5NzQwZjM5
MzI1MTdmMTgyY2Y5Li5mZjAwYjdjMjQyNjM3MGM1ZmRjM2FkOTM0NGVkNDYxMDc0ZmM3YTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTMxMyw3ICszMTMsNyBAQCBhZGRfbGlicmFyeShX
UEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgU0hBUkVEICR7V1BFV2ViSW5zcGVjdG9yUmVzb3VyY2Vz
X0RFUklWRURfUwogYWRkX2RlcGVuZGVuY2llcyhXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgV2Vi
S2l0KQogdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFdQRVdlYkluc3BlY3RvclJlc291cmNlcyAke1dQ
RVdlYkluc3BlY3RvclJlc291cmNlc19MSUJSQVJJRVN9KQogdGFyZ2V0X2luY2x1ZGVfZGlyZWN0
b3JpZXMoV1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzIFNZU1RFTSBQVUJMSUMgJHtXUEVXZWJJbnNw
ZWN0b3JSZXNvdXJjZXNfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVN9KQotaW5zdGFsbChUQVJH
RVRTIFdQRVdlYkluc3BlY3RvclJlc291cmNlcyBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9E
SVJ9IikKK2luc3RhbGwoVEFSR0VUUyBXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgREVTVElOQVRJ
T04gIiR7TElCX0lOU1RBTExfRElSfS93cGUtd2Via2l0LSR7V1BFX0FQSV9WRVJTSU9OfSIpCiAK
IGFkZF9saWJyYXJ5KFdQRUluamVjdGVkQnVuZGxlIE1PRFVMRSAiJHtXRUJLSVRfRElSfS9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdEluamVjdGVkQnVuZGxlTWFpbi5j
cHAiKQogQUREX1dFQktJVF9QUkVGSVhfSEVBREVSKFdQRUluamVjdGVkQnVuZGxlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337798</attachid>
            <date>2018-04-12 08:34:20 -0700</date>
            <delta_ts>2018-04-12 11:19:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184379-20180412103419.patch</filename>
            <type>text/plain</type>
            <size>3832</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTQ2NDNkN2JkZmY3ZmQ5YmRmZWY1M2QxZTE2NmYyODVkYzQ3Y2VlLi5jNWFhNTI5Yzc0YWMyZTU2
MDc1YjkyZDEzZTMxMjcxOGZmOTQxM2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wNC0xMiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0gTW92ZSBsaWJXUEVXZWJJbnNwZWN0b3JSZXNvdXJj
ZXMuc28gdG8gcGtnbGliZGlyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQzNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBMb2FkIHRoZSBtb2R1bGUgZnJvbSB0aGUgbmV3IGxvY2F0aW9uLgorCisgICAg
ICAgICogUGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9nbGli
L1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6YmFja2VuZENv
bW1hbmRzKToKKwogMjAxOC0wNC0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIEhhbmRsZSBzdHJpbmdzIGNvbnRhaW5pbmcgbnVs
bCBjaGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxNmM4MGM1OWRlMTRmNTY0Y2M5N2Q5YWZkYWQ3ZDA0
N2MxNDUwYzAuLjdjYTc2MTk5YzQ3NWRkMTRmNWUzODg1NTUxNTRjZjU4OGIxYjQ5NzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDQtMTIgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIE1vdmUgbGliV1BFV2ViSW5zcGVj
dG9yUmVzb3VyY2VzLnNvIHRvIHBrZ2xpYmRpcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0Mzc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbXBvcnRhbnQgdG8gYWxsb3cgcGFyYWxsZWwg
aW5zdGFsbGF0aW9uLgorCisgICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6CisKIDIwMTgtMDQt
MTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBh
IG1lY2hhbmlzbSBmb3IgaG9sZGluZyBXaS1GaSBhc3NlcnRpb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggNGRiZWNlM2E5YWE0Yjk0ZjA0ZDlkNjllYWE0YTNi
MGVhOGMyNmZjMS4uYWI0NzliYTM4N2Q3NzA5ZTgzNmU4ZGRjYzU3NGRlZTY5Y2E5YjU5OSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMzMsMyArMzMsNCBAQCBp
bnN0YWxsKEZJTEVTICR7SmF2YVNjcmlwdENvcmVfSU5TVEFMTEVEX0hFQURFUlN9CiApCiAKIGFk
ZF9kZWZpbml0aW9ucygtREpTQ19DT01QSUxBVElPTikKK2FkZF9kZWZpbml0aW9ucygtRFBLR0xJ
QkRJUj0iJHtDTUFLRV9JTlNUQUxMX0ZVTExfTElCRElSfS93cGUtd2Via2l0LSR7V1BFX0FQSV9W
RVJTSU9OfSIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yVXRpbHMuY3BwCmluZGV4IDEx
ZDlmMWQ1Mjk3MTc5MjQ1NTE3ZmYxM2VmNzFkN2IwNjczMjE1YjMuLmM2YzBmY2FkMmM4MGQwODY1
NDFiMDQ5ZjE1ZDI1ZDE2Njk2YTI4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yVXRpbHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9y
VXRpbHMuY3BwCkBAIC00NSw3ICs0NSw3IEBAIEdSZWZQdHI8R0J5dGVzPiBiYWNrZW5kQ29tbWFu
ZHMoKQogI2lmIFBMQVRGT1JNKFdQRSkKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgZmxhZzsK
ICAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7Ci0gICAgICAgIEdNb2R1bGUqIHJlc291cmNl
c01vZHVsZSA9IGdfbW9kdWxlX29wZW4oImxpYldQRVdlYkluc3BlY3RvclJlc291cmNlcy5zbyIs
IEdfTU9EVUxFX0JJTkRfTEFaWSk7CisgICAgICAgIEdNb2R1bGUqIHJlc291cmNlc01vZHVsZSA9
IGdfbW9kdWxlX29wZW4oUEtHTElCRElSIEdfRElSX1NFUEFSQVRPUl9TICJsaWJXUEVXZWJJbnNw
ZWN0b3JSZXNvdXJjZXMuc28iLCBHX01PRFVMRV9CSU5EX0xBWlkpOwogICAgICAgICBpZiAoIXJl
c291cmNlc01vZHVsZSkgewogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJFcnJvciBsb2FkaW5n
IGxpYldQRVdlYkluc3BlY3RvclJlc291cmNlcy5zbzogJXMiLCBnX21vZHVsZV9lcnJvcigpKTsK
ICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1X
UEUuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IDU2NzQwMTk1
ZDQ1MzkxZjA4NjUxYzk3NDBmMzkzMjUxN2YxODJjZjkuLmZmMDBiN2MyNDI2MzcwYzVmZGMzYWQ5
MzQ0ZWQ0NjEwNzRmYzdhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUu
Y21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMzEzLDcgKzMx
Myw3IEBAIGFkZF9saWJyYXJ5KFdQRVdlYkluc3BlY3RvclJlc291cmNlcyBTSEFSRUQgJHtXUEVX
ZWJJbnNwZWN0b3JSZXNvdXJjZXNfREVSSVZFRF9TCiBhZGRfZGVwZW5kZW5jaWVzKFdQRVdlYklu
c3BlY3RvclJlc291cmNlcyBXZWJLaXQpCiB0YXJnZXRfbGlua19saWJyYXJpZXMoV1BFV2ViSW5z
cGVjdG9yUmVzb3VyY2VzICR7V1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzX0xJQlJBUklFU30pCiB0
YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgU1lTVEVN
IFBVQkxJQyAke1dQRVdlYkluc3BlY3RvclJlc291cmNlc19TWVNURU1fSU5DTFVERV9ESVJFQ1RP
UklFU30pCi1pbnN0YWxsKFRBUkdFVFMgV1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzIERFU1RJTkFU
SU9OICIke0xJQl9JTlNUQUxMX0RJUn0iKQoraW5zdGFsbChUQVJHRVRTIFdQRVdlYkluc3BlY3Rv
clJlc291cmNlcyBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9L3dwZS13ZWJraXQtJHtX
UEVfQVBJX1ZFUlNJT059IikKIAogYWRkX2xpYnJhcnkoV1BFSW5qZWN0ZWRCdW5kbGUgTU9EVUxF
ICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0
SW5qZWN0ZWRCdW5kbGVNYWluLmNwcCIpCiBBRERfV0VCS0lUX1BSRUZJWF9IRUFERVIoV1BFSW5q
ZWN0ZWRCdW5kbGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>