<?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>179534</bug_id>
          
          <creation_ts>2017-11-10 09:19:57 -0800</creation_ts>
          <short_desc>webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn&apos;t make sense</short_desc>
          <delta_ts>2017-11-29 10:04:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=179522</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=179616</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=179621</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tpopela</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1370362</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-10 09:19:57 -0800</bug_when>
    <thetext>Some of the code in IOSSimulatorPort gets run on machines without iOS SDKs, and attempts to process iOS versions from Xcode.  This is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370365</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-10 09:21:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/35469509&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370911</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-13 08:43:22 -0800</bug_when>
    <thetext>Turn out that after &lt;https://trac.webkit.org/changeset/224658&gt;, this bug can break style checking on Mac&apos;s missing an iOS SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370944</commentid>
    <comment_count>3</comment_count>
      <attachid>326770</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-13 10:44:08 -0800</bug_when>
    <thetext>Created attachment 326770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370957</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-13 11:01:43 -0800</bug_when>
    <thetext>A follow-up patch is required so that the style-checker, in particular, can iterate through each available OS type for each platform.  However, in-order to have this, we need a better way of name-version mapping, discussed here &lt;https://bugs.webkit.org/show_bug.cgi?id=179621&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375532</commentid>
    <comment_count>5</comment_count>
      <attachid>327787</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-28 14:21:23 -0800</bug_when>
    <thetext>Created attachment 327787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375534</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-28 14:25:15 -0800</bug_when>
    <thetext>Attachment 326770 definitely fixes this problem, but it has revealed a new one.

Currently, we pull from builder.py the &apos;current&apos; builders on WebKit.org.  The trouble is, these are very out of date.

I think we should actually pull from our name mapping, constructing the names of most iOS and Mac testers.  In any case, that is definitely a separate bug, filed here &lt;https://bugs.webkit.org/show_bug.cgi?id=180112&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375809</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-29 08:02:47 -0800</bug_when>
    <thetext>*** Bug 180132 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375811</commentid>
    <comment_count>8</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-29 08:02:56 -0800</bug_when>
    <thetext>*** Bug 180138 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375835</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-29 08:42:51 -0800</bug_when>
    <thetext>Looks like this also fixes another related issue with ios-simulator ports being instantiated on non-mac ports while style checking.

That is the problem bug 180132 and but 180138 were filed about.

I duped those bugs to this one because they all have the same underlying cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375848</commentid>
    <comment_count>10</comment_count>
      <attachid>327787</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-11-29 09:07:07 -0800</bug_when>
    <thetext>Comment on attachment 327787
Patch

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

I&apos;d like to see this fixed (I ran into it yesterday), but I don&apos;t like this approach. Surely we can do something to identify whether the simulator is installed, and do the right thing in that case?

&gt; Tools/Scripts/webkitpy/port/builders.py:92
&gt; +    r&quot;ios-simulator-11-wk2&quot;,

It seems like this will require updating every year. Is there really no way to handle this generically?

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:118
&gt; +        return Version.from_string(self._name.split(&apos;-&apos;)[2]) if len(self._name.split(&apos;-&apos;)) &gt; 2 and self._name.split(&apos;-&apos;)[2].isdigit() else self.host.platform.xcode_sdk_version(&apos;iphonesimulator&apos;)

This is a very complicated line. I think all of this would be much clearer if we had a way of checking if the iphonesimulator is installed, and what its version is. I don&apos;t really like encoding the value to use if no simulator exists into the name of the simulator port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375858</commentid>
    <comment_count>11</comment_count>
      <attachid>327787</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-29 09:20:14 -0800</bug_when>
    <thetext>Comment on attachment 327787
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/port/builders.py:92
&gt;&gt; +    r&quot;ios-simulator-11-wk2&quot;,
&gt; 
&gt; It seems like this will require updating every year. Is there really no way to handle this generically?

This will require updating every year, which is why I&apos;d like to get rid of this entire file (the whole thing is out of date).

But that&apos;s separate from this fix.

&gt;&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:118
&gt;&gt; +        return Version.from_string(self._name.split(&apos;-&apos;)[2]) if len(self._name.split(&apos;-&apos;)) &gt; 2 and self._name.split(&apos;-&apos;)[2].isdigit() else self.host.platform.xcode_sdk_version(&apos;iphonesimulator&apos;)
&gt; 
&gt; This is a very complicated line. I think all of this would be much clearer if we had a way of checking if the iphonesimulator is installed, and what its version is. I don&apos;t really like encoding the value to use if no simulator exists into the name of the simulator port.

Generally, we do use the installed simulator.

However, this specific case involves instantiating an iOS Simulator port which either does not match the current SDK version, or, the machine doesn&apos;t have an SDK version at all (we do this for linting test expectations, which requires a port object).

This is very similar to what we do for Mac, where we can either instantiate a port with an encoded version (like mac-sierra-wk2) or adopt the version of the machine currently running tests (webkitpy/port/mac.py, line 55 does almost this exact same thing)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375864</commentid>
    <comment_count>12</comment_count>
      <attachid>327787</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-11-29 09:25:32 -0800</bug_when>
    <thetext>Comment on attachment 327787
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/port/builders.py:92
&gt;&gt;&gt; +    r&quot;ios-simulator-11-wk2&quot;,
&gt;&gt; 
&gt;&gt; It seems like this will require updating every year. Is there really no way to handle this generically?
&gt; 
&gt; This will require updating every year, which is why I&apos;d like to get rid of this entire file (the whole thing is out of date).
&gt; 
&gt; But that&apos;s separate from this fix.

I&apos;m fine with this as-is if the plan is to make it go away.

&gt;&gt;&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:118
&gt;&gt;&gt; +        return Version.from_string(self._name.split(&apos;-&apos;)[2]) if len(self._name.split(&apos;-&apos;)) &gt; 2 and self._name.split(&apos;-&apos;)[2].isdigit() else self.host.platform.xcode_sdk_version(&apos;iphonesimulator&apos;)
&gt;&gt; 
&gt;&gt; This is a very complicated line. I think all of this would be much clearer if we had a way of checking if the iphonesimulator is installed, and what its version is. I don&apos;t really like encoding the value to use if no simulator exists into the name of the simulator port.
&gt; 
&gt; Generally, we do use the installed simulator.
&gt; 
&gt; However, this specific case involves instantiating an iOS Simulator port which either does not match the current SDK version, or, the machine doesn&apos;t have an SDK version at all (we do this for linting test expectations, which requires a port object).
&gt; 
&gt; This is very similar to what we do for Mac, where we can either instantiate a port with an encoded version (like mac-sierra-wk2) or adopt the version of the machine currently running tests (webkitpy/port/mac.py, line 55 does almost this exact same thing)

I&apos;m okay with this approach, but I don&apos;t like this complicated line. Can you break it into a function that describes what it is doing?

if (nameHasVersion(self._name))
    return Version.from_string(self._name.split(&apos;-&apos;)[2]
return self.host.platform.xcode_sdk_version(&apos;iphonesimulator&apos;)

... where &apos;nameHasVersion&apos; (or whatever you call it) does the split and check for is digit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375874</commentid>
    <comment_count>13</comment_count>
      <attachid>327865</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-11-29 09:40:44 -0800</bug_when>
    <thetext>Created attachment 327865
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375884</commentid>
    <comment_count>14</comment_count>
      <attachid>327865</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 10:04:09 -0800</bug_when>
    <thetext>Comment on attachment 327865
Patch for landing

Clearing flags on attachment: 327865

Committed r225274: &lt;https://trac.webkit.org/changeset/225274&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375885</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 10:04:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326770</attachid>
            <date>2017-11-13 10:44:08 -0800</date>
            <delta_ts>2017-11-28 14:21:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>manual-upload.patch</filename>
            <type>text/plain</type>
            <size>4652</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNDc1OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI1IEBACisyMDE3LTExLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVHJ5aW5nIHRvIHVzZSBpT1MgdmVyc2lvbnMgZnJvbSBt
YWNoaW5lcyB3aXRob3V0IGlPUyBTREtzIGRvZXNuJ3QgbWFrZSBzZW5zZSAoUGFydCAxKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTM0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8zNTQ2OTUwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHJ1bm5pbmcgdGhlIHN0eWxlIGNoZWNrb3V0IG9y
IHJ1bm5pbmcgd2Via2l0cHkgdGVzdHMsIHdlIHJ1biBpbnRvIGEgcHJvYmxlbSB3aGVyZSBjZXJ0
YWluIGNvZGUKKyAgICAgICAgaW5zdGFudGlhdGVzIHBvcnQgb2JqZWN0cyB0byBjaGVjayB0aGUg
YmVoYXZpb3Igb2YgaU9TIHBvcnRzLiBUaGVzZSBwb3J0cyBleHBlY3QgWGNvZGUgdG8gYmUgaW5z
dGFsbGVkCisgICAgICAgIGFuZCBmb3IgU0RLJ3MgdG8gYmUgYXZhaWxhYmxlLiBPZnRlbiwgaU9T
IFNES3Mgd2lsbCBub3QgYmUgaW5zdGFsbGVkLiBpT1MgcG9ydHMgc2hvdWxkIHN0aWxsIHdvcmsg
d2hlbgorICAgICAgICBhIHZlcnNpb24gaXMgbm90IGFjY2Vzc2libGUuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5OgorICAgICAgICAoSU9TUG9ydC5kZWZhdWx0X2Jh
c2VsaW5lX3NlYXJjaF9wYXRoKTogSWYgbm8gdmVyc2lvbiBpcyBhdmFpbGFibGUsIGRvbid0IGlu
Y2x1ZGUgdmVyc2lvbiBpbgorICAgICAgICBiYXNlbGluZSBzZWFyY2ggcGF0aC4KKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZS5weToKKyAgICAgICAgKElPU0Rldmlj
ZVBvcnQuaW9zX3ZlcnNpb24pOiBJZiBubyB2ZXJzaW9uIGlzIGF2YWlsYWJsZSwgcmV0dXJuIE5v
bmUgaW5zdGVhZCBvZiBWZXJzaW9uKE5vbmUpLCB3aGljaCBpcworICAgICAgICBpbXBsaWNpdGx5
IHZlcnNpb24gMC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRv
ci5weToKKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuaW9zX3ZlcnNpb24pOiBJZiBubyB2ZXJz
aW9uIGlzIGF2YWlsYWJsZSwgcmV0dXJuIE5vbmUgaW5zdGVhZCBvZiBWZXJzaW9uKE5vbmUpLgor
CiAyMDE3LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIEltcGxlbWVudCBTUEkgZm9yIGNsaWVudHMgdG8g
cmVxdWVzdCBkYXRhIGZvciBhIGdpdmVuIGF0dGFjaG1lbnQKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3MucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvcy5weQkocmV2aXNpb24gMjI0NzU2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvcy5weQkod29ya2luZyBjb3B5KQpAQCAtMTA5LDE1ICsxMDksMjAgQEAgY2xhc3Mg
SU9TUG9ydChEYXJ3aW5Qb3J0KToKICAgICAgICAgd2tfc3RyaW5nID0gJ3drMScKICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKToKICAgICAgICAgICAgIHdr
X3N0cmluZyA9ICd3azInCi0gICAgICAgIGZhbGxiYWNrX25hbWVzID0gWwotICAgICAgICAgICAg
J3t9LXt9LXt9Jy5mb3JtYXQoc2VsZi5wb3J0X25hbWUsIHNlbGYuaW9zX3ZlcnNpb24oKS5tYWpv
ciwgd2tfc3RyaW5nKSwKLSAgICAgICAgICAgICd7fS17fScuZm9ybWF0KHNlbGYucG9ydF9uYW1l
LCBzZWxmLmlvc192ZXJzaW9uKCkubWFqb3IpLAotICAgICAgICAgICAgJ3t9LXt9Jy5mb3JtYXQo
c2VsZi5wb3J0X25hbWUsIHdrX3N0cmluZyksCi0gICAgICAgICAgICBzZWxmLnBvcnRfbmFtZSwK
LSAgICAgICAgICAgICd7fS17fScuZm9ybWF0KElPU1BvcnQucG9ydF9uYW1lLCBzZWxmLmlvc192
ZXJzaW9uKCkubWFqb3IpLAotICAgICAgICAgICAgJ3t9LXt9Jy5mb3JtYXQoSU9TUG9ydC5wb3J0
X25hbWUsIHdrX3N0cmluZyksCi0gICAgICAgICAgICBJT1NQb3J0LnBvcnRfbmFtZSwKLSAgICAg
ICAgXQorCisgICAgICAgICMgSWYgd2UgZG9uJ3QgaGF2ZSBhIHNwZWNpZmllZCB2ZXJzaW9uLCB0
aGF0IG1lYW5zIHdlIHVzaW5nIHRoZSBwb3J0IHdpdGhvdXQgYW4gU0RLLgorICAgICAgICAjIFRo
aXMgdXN1YWxseSBtZWFucyB3ZSdyZSBkb2luZyBzb21lIHR5cGUgb2YgdGVzdGluZy5JbiB0aGlz
IGNhc2UsIGRvbid0IGFkZCB2ZXJzaW9uIGZhbGxiYWNrcworICAgICAgICBmYWxsYmFja19uYW1l
cyA9IFtdCisgICAgICAgIGlmIHNlbGYuaW9zX3ZlcnNpb24oKToKKyAgICAgICAgICAgIGZhbGxi
YWNrX25hbWVzLmFwcGVuZCgne30te30te30nLmZvcm1hdChzZWxmLnBvcnRfbmFtZSwgc2VsZi5p
b3NfdmVyc2lvbigpLm1ham9yLCB3a19zdHJpbmcpKQorICAgICAgICAgICAgZmFsbGJhY2tfbmFt
ZXMuYXBwZW5kKCd7fS17fScuZm9ybWF0KHNlbGYucG9ydF9uYW1lLCBzZWxmLmlvc192ZXJzaW9u
KCkubWFqb3IpKQorICAgICAgICBmYWxsYmFja19uYW1lcy5hcHBlbmQoJ3t9LXt9Jy5mb3JtYXQo
c2VsZi5wb3J0X25hbWUsIHdrX3N0cmluZykpCisgICAgICAgIGZhbGxiYWNrX25hbWVzLmFwcGVu
ZChzZWxmLnBvcnRfbmFtZSkKKyAgICAgICAgaWYgc2VsZi5pb3NfdmVyc2lvbigpOgorICAgICAg
ICAgICAgZmFsbGJhY2tfbmFtZXMuYXBwZW5kKCd7fS17fScuZm9ybWF0KElPU1BvcnQucG9ydF9u
YW1lLCBzZWxmLmlvc192ZXJzaW9uKCkubWFqb3IpKQorICAgICAgICBmYWxsYmFja19uYW1lcy5h
cHBlbmQoJ3t9LXt9Jy5mb3JtYXQoSU9TUG9ydC5wb3J0X25hbWUsIHdrX3N0cmluZykpCisgICAg
ICAgIGZhbGxiYWNrX25hbWVzLmFwcGVuZChJT1NQb3J0LnBvcnRfbmFtZSkKKwogICAgICAgICBp
ZiBzZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpOgogICAgICAgICAgICAgZmFs
bGJhY2tfbmFtZXMuYXBwZW5kKCd3azInKQogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvaW9zX2RldmljZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvaW9zX2RldmljZS5weQkocmV2aXNpb24gMjI0NzU2KQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2lvc19kZXZpY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw3ICsxMDks
NyBAQCBjbGFzcyBJT1NEZXZpY2VQb3J0KElPU1BvcnQpOgogICAgICAgICAgICAgICAgIGlmIGRl
dmljZS5wbGF0Zm9ybS5vc192ZXJzaW9uICE9IHZlcnNpb246CiAgICAgICAgICAgICAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcignTXVsdGlwbGUgY29ubmVjdGVkIGRldmljZXMgaGF2ZSBkaWZm
ZXJlbnQgaU9TIHZlcnNpb25zJykKIAotICAgICAgICByZXR1cm4gVmVyc2lvbih2ZXJzaW9uKQor
ICAgICAgICByZXR1cm4gdmVyc2lvbgogCiAgICAgIyBGSVhNRTogVGhlc2UgbmVlZCBkZXZpY2Ug
aW1wbGVtZW50YXRpb25zIDxyZGFyOi8vcHJvYmxlbS8zMDQ5Nzk5MT4uCiAgICAgZGVmIGNoZWNr
X2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5CShyZXZpc2lvbiAyMjQ3
NTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvci5weQkod29y
a2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9T
UG9ydCk6CiAgICAgICAgICAgICByZXR1cm4gVmVyc2lvbihzZWxmLmdldF9vcHRpb24oJ3ZlcnNp
b24nKSkKICAgICAgICAgaWYgcnVudGltZV9pZGVudGlmaWVyOgogICAgICAgICAgICAgcmV0dXJu
IFZlcnNpb24oUnVudGltZS5mcm9tX2lkZW50aWZpZXIocnVudGltZV9pZGVudGlmaWVyKS52ZXJz
aW9uKQotICAgICAgICByZXR1cm4gVmVyc2lvbihzZWxmLmhvc3QucGxhdGZvcm0ueGNvZGVfc2Rr
X3ZlcnNpb24oJ2lwaG9uZXNpbXVsYXRvcicpKQorICAgICAgICByZXR1cm4gc2VsZi5ob3N0LnBs
YXRmb3JtLnhjb2RlX3Nka192ZXJzaW9uKCdpcGhvbmVzaW11bGF0b3InKQogCiAgICAgZGVmIHNp
bXVsYXRvcl9kZXZpY2VfdHlwZShzZWxmKToKICAgICAgICAgZGV2aWNlX3R5cGVfaWRlbnRpZmll
ciA9IHNlbGYuZ2V0X29wdGlvbignZGV2aWNlX3R5cGUnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327787</attachid>
            <date>2017-11-28 14:21:23 -0800</date>
            <delta_ts>2017-11-29 09:40:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179534-20171128142123.patch</filename>
            <type>text/plain</type>
            <size>2303</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNTIzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDE3LTExLTI4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVHJ5aW5nIHRvIHVzZSBpT1MgdmVyc2lvbnMgZnJvbSBt
YWNoaW5lcyB3aXRob3V0IGlPUyBTREtzIGRvZXNuJ3QgbWFrZSBzZW5zZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTM0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8zNTQ2OTUwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcm92aWRlIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24gaW4gYnVpbGRl
cnMucHkgc28gdGhhdCBtYWNoaW5lcyBkbyBub3QgdHJ5IGFuZCBjYWxjdWxhdGUKKyAgICAgICAg
YW4gaU9TIFNESyB2ZXJzaW9uIHdoaWxlIHJ1bm5pbmcgdGVzdHMuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYnVpbGRlcnMucHk6IEV4cGxpY2l0bHkgc3BlY2lmeSBhIHZlcnNp
b24gZm9yIGlPUyBTaW11bGF0b3IuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lv
c19zaW11bGF0b3IucHk6CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Lmlvc192ZXJzaW9uKTog
VXNlIHNwZWNpZmllZCBpT1MgdmVyc2lvbiBpZiBhIHZlcnNpb24gaXMgZGV0ZWN0ZWQgaW4KKyAg
ICAgICAgaW4gdGhlIHByb3ZpZGVkIG5hbWUgc3RyaW5nIChqdXN0IGxpa2UgTWFjKS4KKwogMjAx
Ny0xMS0yOCAgTXMyZ2VyICA8TXMyZ2VyQGlnYWxpYS5jb20+CiAKICAgICAgICAgU3RvcCBtb2Rp
Znlpbmcgc2VsZi5leHBlY3RhdGlvbnMgaW4gVGVzdEV4cGVjdGF0aW9uTGluZS5leHBlY3RlZF9i
ZWhhdmlvci4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9idWlsZGVycy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYnVpbGRlcnMucHkJKHJl
dmlzaW9uIDIyNTIzOCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9idWlsZGVycy5w
eQkod29ya2luZyBjb3B5KQpAQCAtODgsOCArODgsOCBAQCBfZnV6enlfbWF0Y2hlcyA9IHsKIAog
CiBfcG9ydHNfd2l0aG91dF9idWlsZGVycyA9IFsKLSAgICByImlvcy1zaW11bGF0b3IiLAotICAg
IHIiaW9zLXNpbXVsYXRvci13azIiLAorICAgIHIiaW9zLXNpbXVsYXRvci0xMSIsCisgICAgciJp
b3Mtc2ltdWxhdG9yLTExLXdrMiIsCiBdCiAKIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3IucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkJKHJldmlzaW9uIDIyNTIzOCkKKysrIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0x
MTUsNyArMTE1LDcgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICAgICAg
ICAgIHJldHVybiBWZXJzaW9uLmZyb21fc3RyaW5nKHNlbGYuZ2V0X29wdGlvbigndmVyc2lvbicp
KQogICAgICAgICBpZiBydW50aW1lX2lkZW50aWZpZXI6CiAgICAgICAgICAgICByZXR1cm4gUnVu
dGltZS5mcm9tX2lkZW50aWZpZXIocnVudGltZV9pZGVudGlmaWVyKS52ZXJzaW9uCi0gICAgICAg
IHJldHVybiBzZWxmLmhvc3QucGxhdGZvcm0ueGNvZGVfc2RrX3ZlcnNpb24oJ2lwaG9uZXNpbXVs
YXRvcicpCisgICAgICAgIHJldHVybiBWZXJzaW9uLmZyb21fc3RyaW5nKHNlbGYuX25hbWUuc3Bs
aXQoJy0nKVsyXSkgaWYgbGVuKHNlbGYuX25hbWUuc3BsaXQoJy0nKSkgPiAyIGFuZCBzZWxmLl9u
YW1lLnNwbGl0KCctJylbMl0uaXNkaWdpdCgpIGVsc2Ugc2VsZi5ob3N0LnBsYXRmb3JtLnhjb2Rl
X3Nka192ZXJzaW9uKCdpcGhvbmVzaW11bGF0b3InKQogCiAgICAgZGVmIHNpbXVsYXRvcl9kZXZp
Y2VfdHlwZShzZWxmKToKICAgICAgICAgZGV2aWNlX3R5cGVfaWRlbnRpZmllciA9IHNlbGYuZ2V0
X29wdGlvbignZGV2aWNlX3R5cGUnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327865</attachid>
            <date>2017-11-29 09:40:44 -0800</date>
            <delta_ts>2017-11-29 10:04:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-179534-20171129094044.patch</filename>
            <type>text/plain</type>
            <size>2883</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNTI3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE3LTExLTI5ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVHJ5aW5nIHRvIHVzZSBpT1MgdmVyc2lvbnMgZnJvbSBt
YWNoaW5lcyB3aXRob3V0IGlPUyBTREtzIGRvZXNuJ3QgbWFrZSBzZW5zZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTM0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8zNTQ2OTUwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFt
LgorCisgICAgICAgIFByb3ZpZGUgbW9yZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiBpbiBidWlsZGVy
cy5weSBzbyB0aGF0IG1hY2hpbmVzIGRvIG5vdCB0cnkgYW5kIGNhbGN1bGF0ZQorICAgICAgICBh
biBpT1MgU0RLIHZlcnNpb24gd2hpbGUgcnVubmluZyB0ZXN0cy4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9idWlsZGVycy5weTogRXhwbGljaXRseSBzcGVjaWZ5IGEgdmVyc2lv
biBmb3IgaU9TIFNpbXVsYXRvci4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9z
X3NpbXVsYXRvci5weToKKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX3ZlcnNpb25fZnJvbV9u
YW1lKTogQXR0ZW1wdCB0byBleHRyYWN0IHRoZSBpT1MgdmVyc2lvbiBmcm9tIHRoZSBuYW1lCisg
ICAgICAgIG9mIHRoZSBwb3J0LgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5pb3NfdmVyc2lv
bik6IFVzZSBzcGVjaWZpZWQgaU9TIHZlcnNpb24gaWYgYSB2ZXJzaW9uIGlzIGRldGVjdGVkIGlu
CisgICAgICAgIGluIHRoZSBwcm92aWRlZCBuYW1lIHN0cmluZyAoanVzdCBsaWtlIE1hYykuCisK
IDIwMTctMTEtMjkgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAogICAg
ICAgICBUaGUgcmVjdXJzaXZlIHRhaWwgY2FsbCBvcHRpbWlzYXRpb24gaXMgd3Jvbmcgb24gY2xv
c3VyZXMKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9idWlsZGVycy5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYnVpbGRlcnMucHkJKHJldmlz
aW9uIDIyNTI2OSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9idWlsZGVycy5weQko
d29ya2luZyBjb3B5KQpAQCAtODgsOCArODgsOCBAQCBfZnV6enlfbWF0Y2hlcyA9IHsKIAogCiBf
cG9ydHNfd2l0aG91dF9idWlsZGVycyA9IFsKLSAgICByImlvcy1zaW11bGF0b3IiLAotICAgIHIi
aW9zLXNpbXVsYXRvci13azIiLAorICAgIHIiaW9zLXNpbXVsYXRvci0xMSIsCisgICAgciJpb3Mt
c2ltdWxhdG9yLTExLXdrMiIsCiBdCiAKIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2lvc19zaW11bGF0b3IucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3IucHkJKHJldmlzaW9uIDIyNTI2OSkKKysrIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgs
NiArMTA4LDEyIEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgICAgICAg
ICBydW50aW1lID0gUnVudGltZS5mcm9tX3ZlcnNpb24oc2VsZi5ob3N0LnBsYXRmb3JtLnhjb2Rl
X3Nka192ZXJzaW9uKCdpcGhvbmVzaW11bGF0b3InKSkKICAgICAgICAgcmV0dXJuIHJ1bnRpbWUK
IAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3ZlcnNpb25fZnJvbV9uYW1lKG5hbWUpOgor
ICAgICAgICBpZiBsZW4obmFtZS5zcGxpdCgnLScpKSA+IDIgYW5kIG5hbWUuc3BsaXQoJy0nKVsy
XS5pc2RpZ2l0KCk6CisgICAgICAgICAgICByZXR1cm4gVmVyc2lvbi5mcm9tX3N0cmluZyhuYW1l
LnNwbGl0KCctJylbMl0pCisgICAgICAgIHJldHVybiBOb25lCisKICAgICBAbWVtb2l6ZWQKICAg
ICBkZWYgaW9zX3ZlcnNpb24oc2VsZik6CiAgICAgICAgIHJ1bnRpbWVfaWRlbnRpZmllciA9IHNl
bGYuZ2V0X29wdGlvbigncnVudGltZScpCkBAIC0xMTUsNyArMTIxLDcgQEAgY2xhc3MgSU9TU2lt
dWxhdG9yUG9ydChJT1NQb3J0KToKICAgICAgICAgICAgIHJldHVybiBWZXJzaW9uLmZyb21fc3Ry
aW5nKHNlbGYuZ2V0X29wdGlvbigndmVyc2lvbicpKQogICAgICAgICBpZiBydW50aW1lX2lkZW50
aWZpZXI6CiAgICAgICAgICAgICByZXR1cm4gUnVudGltZS5mcm9tX2lkZW50aWZpZXIocnVudGlt
ZV9pZGVudGlmaWVyKS52ZXJzaW9uCi0gICAgICAgIHJldHVybiBzZWxmLmhvc3QucGxhdGZvcm0u
eGNvZGVfc2RrX3ZlcnNpb24oJ2lwaG9uZXNpbXVsYXRvcicpCisgICAgICAgIHJldHVybiBJT1NT
aW11bGF0b3JQb3J0Ll92ZXJzaW9uX2Zyb21fbmFtZShzZWxmLl9uYW1lKSBpZiBJT1NTaW11bGF0
b3JQb3J0Ll92ZXJzaW9uX2Zyb21fbmFtZShzZWxmLl9uYW1lKSBlbHNlIHNlbGYuaG9zdC5wbGF0
Zm9ybS54Y29kZV9zZGtfdmVyc2lvbignaXBob25lc2ltdWxhdG9yJykKIAogICAgIGRlZiBzaW11
bGF0b3JfZGV2aWNlX3R5cGUoc2VsZik6CiAgICAgICAgIGRldmljZV90eXBlX2lkZW50aWZpZXIg
PSBzZWxmLmdldF9vcHRpb24oJ2RldmljZV90eXBlJykK
</data>

          </attachment>
      

    </bug>

</bugzilla>