<?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>82448</bug_id>
          
          <creation_ts>2012-03-28 04:16:58 -0700</creation_ts>
          <short_desc>[GTK] generate-gtk-doc doesn&apos;t cope with custom build directory</short_desc>
          <delta_ts>2012-03-28 09:33:32 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>589834</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 04:16:58 -0700</bug_when>
    <thetext>I have one product directory per branch. So generate-gtk-doc should use WebKitBuild/brancName/Release or Debug instead of trying almost random directories in WebKitBuild :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589839</commentid>
    <comment_count>1</comment_count>
      <attachid>134263</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 04:20:49 -0700</bug_when>
    <thetext>Created attachment 134263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589840</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 04:21:30 -0700</bug_when>
    <thetext>Carlos can you please test this patch in the distcheck scenario?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589961</commentid>
    <comment_count>3</comment_count>
      <attachid>134263</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-28 07:56:59 -0700</bug_when>
    <thetext>Comment on attachment 134263
Patch

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

&gt; Tools/gtk/generate-gtkdoc:-123
&gt; +    build_directory = sys.argv[-1]
&gt;      options = get_common_options().copy()
&gt;      options.update({
&gt;          &apos;module_name&apos; : &apos;webkitgtk&apos;,
&gt;          &apos;doc_dir&apos; : src_path(&apos;docs&apos;),
&gt; -        &apos;output_dir&apos; : common.build_path(&apos;Documentation&apos;, &apos;webkitgtk&apos;),

This looks like it will pass something crazy (like the command name) if you don&apos;t pass an argument for build directory. I think I&apos;d like to keep the logic for understanding the command-line arguments in common.build_path instead of forcing all the code here to pass the build_directory down. 

in common.get_build_path() you could do this:

def get_build_path():
    if len(sys.argv) &gt; 1 and os.path.exists(sys.argv[-1]):
        # Try to use this path as a build directory.

With that change you could avoid all the modifications to this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589974</commentid>
    <comment_count>4</comment_count>
      <attachid>134299</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 08:12:38 -0700</bug_when>
    <thetext>Created attachment 134299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590006</commentid>
    <comment_count>5</comment_count>
      <attachid>134299</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-28 09:03:49 -0700</bug_when>
    <thetext>Comment on attachment 134299
Patch

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

&gt; Tools/gtk/common.py:-40
&gt; -    global build_dir
&gt; -    if build_dir:
&gt; -        return build_dir

Why do you no longer cache the build directory here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590012</commentid>
    <comment_count>6</comment_count>
      <attachid>134299</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-28 09:07:00 -0700</bug_when>
    <thetext>Comment on attachment 134299
Patch

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

&gt;&gt; Tools/gtk/common.py:-40
&gt;&gt; -        return build_dir
&gt; 
&gt; Why do you no longer cache the build directory here?

I cannot see a reason why it isn&apos;t. The patch looks great, but I think caching the build directory was a nice feature in that it avoided touching the file system every time you needed the build directory. Perhaps you could restore that before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590024</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 09:13:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 134299 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134299&amp;action=review
&gt; 
&gt; &gt; Tools/gtk/common.py:-40
&gt; &gt; -    global build_dir
&gt; &gt; -    if build_dir:
&gt; &gt; -        return build_dir
&gt; 
&gt; Why do you no longer cache the build directory here?

Right, I&apos;ll restore this part and land, thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590045</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-28 09:33:32 -0700</bug_when>
    <thetext>Committed r112408: &lt;http://trac.webkit.org/changeset/112408&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134263</attachid>
            <date>2012-03-28 04:20:49 -0700</date>
            <delta_ts>2012-03-28 08:12:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.patch</filename>
            <type>text/plain</type>
            <size>7907</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA0NTE0NGE0YzRkODU4YThkNmJhYTcxNzk3MTZkYzBiMzgxNjFiYzRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDI4IE1hciAyMDEyIDEzOjIwOjQ3ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g
UGF0Y2gKCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgIHwgICAyMiArKysrKysrKysr
KysrKysrKysrCiBUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gfCAgICA0ICstLQogVG9vbHMv
Z3RrL2NvbW1vbi5weSAgICAgICAgIHwgICA0OSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIFRvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgICB8ICAgMTYgKysrKysr
KystLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
NmIxMTM3Zi4uZmNiOGQ5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTI4ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBnZW5lcmF0ZS1ndGstZG9j
IGRvZXNuJ3QgY29wZSB3aXRoIGN1c3RvbSBidWlsZCBkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyNDQ4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgcHJvZHVjdCBkaXJlY3Rv
cnkgaW4gZ2VuZXJhdGUtZ3RrZG9jIGFyZ3VtZW50cyBmcm9tCisgICAgICAgIGJ1aWxkLXdlYmtp
dC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKGJ1aWxkQXV0
b3Rvb2xzUHJvamVjdCk6CisgICAgICAgICogZ3RrL2NvbW1vbi5weToKKyAgICAgICAgKGdldF9i
dWlsZF9wYXRoKToKKyAgICAgICAgKGJ1aWxkX3BhdGgpOgorICAgICAgICAqIGd0ay9nZW5lcmF0
ZS1ndGtkb2M6CisgICAgICAgIChjb25maWd1cmVfbG9nZ2luZyk6CisgICAgICAgIChnZXRfY29t
bW9uX29wdGlvbnMpOgorICAgICAgICAoZ2V0X3dlYmtpdDJfb3B0aW9ucyk6CisgICAgICAgIChn
ZXRfd2Via2l0Ml9vcHRpb25zLmRlcml2ZWRfc291cmNlc19wYXRoKToKKyAgICAgICAgKGdldF93
ZWJraXQxX29wdGlvbnMpOgorCiAyMDEyLTAyLTIxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBXZWJBdWRpbyBEUlQgc3VwcG9ydCBuZWVkcyBhbiB1
cGRhdGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCBiOTBkZDU4Li4wMjNkYzViIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtCkBAIC0xOTgxLDkgKzE5ODEsNyBAQCBzdWIgYnVpbGRBdXRvdG9vbHNQcm9qZWN0KCRAKQog
CiAgICAgaWYgKCRwcm9qZWN0IGVxICdXZWJLaXQnICYmICFpc0Nyb3NzQ29tcGlsYXRpb24oKSkg
ewogICAgICAgICBteSBAZG9jR2VuZXJhdGlvbk9wdGlvbnMgPSAoJHJ1bldpdGhKaGJ1aWxkLCAi
JGd0a1NjcmlwdHNQYXRoL2dlbmVyYXRlLWd0a2RvYyIsICItLXNraXAtaHRtbCIpOwotICAgICAg
ICBpZiAoJGRlYnVnKSB7Ci0gICAgICAgICAgICBwdXNoKEBkb2NHZW5lcmF0aW9uT3B0aW9ucywg
Ii0tZGVidWciKTsKLSAgICAgICAgfQorICAgICAgICBwdXNoKEBkb2NHZW5lcmF0aW9uT3B0aW9u
cywgcHJvZHVjdERpcigpKTsKIAogICAgICAgICBpZiAoc3lzdGVtKEBkb2NHZW5lcmF0aW9uT3B0
aW9ucykpIHsKICAgICAgICAgICAgIGRpZSAiXG4gZ3RrZG9jIGRpZCBub3QgYnVpbGQgd2l0aG91
dCB3YXJuaW5nc1xuIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9jb21tb24ucHkgYi9Ub29scy9n
dGsvY29tbW9uLnB5CmluZGV4IDA3MmM2YWUuLjBlNWJmMjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0
ay9jb21tb24ucHkKKysrIGIvVG9vbHMvZ3RrL2NvbW1vbi5weQpAQCAtMjAsNyArMjAsNiBAQCBp
bXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwogCiBzY3JpcHRfZGlyID0gTm9uZQotYnVpbGRf
ZGlyID0gTm9uZQogCiAKIGRlZiBzY3JpcHRfcGF0aCgqYXJncyk6CkBAIC0zNCw1MSArMzMsNDcg
QEAgZGVmIHRvcF9sZXZlbF9wYXRoKCphcmdzKToKICAgICByZXR1cm4gb3MucGF0aC5qb2luKCoo
KHNjcmlwdF9wYXRoKCcuLicsICcuLicpLCkgKyBhcmdzKSkKIAogCi1kZWYgZ2V0X2J1aWxkX3Bh
dGgoKToKLSAgICBnbG9iYWwgYnVpbGRfZGlyCi0gICAgaWYgYnVpbGRfZGlyOgotICAgICAgICBy
ZXR1cm4gYnVpbGRfZGlyCitkZWYgZ2V0X2J1aWxkX3BhdGgoYnVpbGRfZGlyZWN0b3J5PU5vbmUp
OgogCiAgICAgZGVmIGlzX3ZhbGlkX2J1aWxkX2RpcmVjdG9yeShwYXRoKToKICAgICAgICAgcmV0
dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihwYXRoLCAnR05VbWFrZWZpbGUnKSkKIAor
ICAgIGlmIGJ1aWxkX2RpcmVjdG9yeSBhbmQgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxk
X2RpcmVjdG9yeSk6CisgICAgICAgIHJldHVybiBidWlsZF9kaXJlY3RvcnkKKwogICAgICMgRGVi
aWFuIGFuZCBVYnVudHUgYnVpbGQgYm90aCBmbGF2b3VycyBvZiB0aGUgbGlicmFyeSAod2l0aCBn
dGsyCiAgICAgIyBhbmQgd2l0aCBndGszKTsgdGhleSB1c2UgZGlyZWN0b3JpZXMgYnVpbGQtMi4w
IGFuZCBidWlsZC0zLjAgZm9yCiAgICAgIyB0aGF0LCB3aGljaCBpcyBub3QgaGFuZGxlZCBieSB0
aGUgYWJvdmUgY2FzZXM7IHdlIGNoZWNrIHRoYXQgdGhlCiAgICAgIyBkaXJlY3Rvcnkgd2hlcmUg
d2UgYXJlIGNhbGxlZCBmcm9tIGlzIGEgdmFsaWQgYnVpbGQgZGlyZWN0b3J5LAogICAgICMgd2hp
Y2ggc2hvdWxkIGhhbmRsZSBwcmV0dHkgbXVjaCBhbGwgb3RoZXIgbm9uLXN0YW5kYXJkIGNhc2Vz
LgotICAgIGJ1aWxkX2RpciA9IG9zLmdldGN3ZCgpCi0gICAgaWYgaXNfdmFsaWRfYnVpbGRfZGly
ZWN0b3J5KGJ1aWxkX2Rpcik6Ci0gICAgICAgIHJldHVybiBidWlsZF9kaXIKLQotICAgIGJ1aWxk
X3R5cGVzID0gWydSZWxlYXNlJywgJ0RlYnVnJ10KLSAgICBpZiAnLS1kZWJ1ZycgaW4gc3lzLmFy
Z3Y6Ci0gICAgICAgIGJ1aWxkX3R5cGVzLnJldmVyc2UoKQorICAgIGJ1aWxkX2RpcmVjdG9yeSA9
IG9zLmdldGN3ZCgpCisgICAgaWYgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxkX2RpcmVj
dG9yeSk6CisgICAgICAgIHJldHVybiBidWlsZF9kaXJlY3RvcnkKIAotICAgIGZvciBidWlsZF90
eXBlIGluIGJ1aWxkX3R5cGVzOgotICAgICAgICBidWlsZF9kaXIgPSB0b3BfbGV2ZWxfcGF0aCgn
V2ViS2l0QnVpbGQnLCBidWlsZF90eXBlKQotICAgICAgICBpZiBpc192YWxpZF9idWlsZF9kaXJl
Y3RvcnkoYnVpbGRfZGlyKToKLSAgICAgICAgICAgIHJldHVybiBidWlsZF9kaXIKKyAgICBmb3Ig
YnVpbGRfdHlwZSBpbiAoJ1JlbGVhc2UnLCAnRGVidWcnKToKKyAgICAgICAgYnVpbGRfZGlyZWN0
b3J5ID0gdG9wX2xldmVsX3BhdGgoJ1dlYktpdEJ1aWxkJywgYnVpbGRfdHlwZSkKKyAgICAgICAg
aWYgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgICAg
ICByZXR1cm4gYnVpbGRfZGlyZWN0b3J5CiAKICAgICAjIGRpc3RjaGVjayBidWlsZHMgaW4gYSBk
aXJlY3RvcnkgbmFtZWQgX2J1aWxkIGluIHRoZSB0b3AtbGV2ZWwgcGF0aC4KLSAgICBidWlsZF9k
aXIgPSB0b3BfbGV2ZWxfcGF0aCgiX2J1aWxkIikKLSAgICBpZiBpc192YWxpZF9idWlsZF9kaXJl
Y3RvcnkoYnVpbGRfZGlyKToKLSAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcgorICAgIGJ1aWxkX2Rp
cmVjdG9yeSA9IHRvcF9sZXZlbF9wYXRoKCJfYnVpbGQiKQorICAgIGlmIGlzX3ZhbGlkX2J1aWxk
X2RpcmVjdG9yeShidWlsZF9kaXJlY3RvcnkpOgorICAgICAgICByZXR1cm4gYnVpbGRfZGlyZWN0
b3J5CiAKLSAgICBidWlsZF9kaXIgPSB0b3BfbGV2ZWxfcGF0aCgpCi0gICAgaWYgaXNfdmFsaWRf
YnVpbGRfZGlyZWN0b3J5KGJ1aWxkX2Rpcik6Ci0gICAgICAgIHJldHVybiBidWlsZF9kaXIKKyAg
ICBidWlsZF9kaXJlY3RvcnkgPSB0b3BfbGV2ZWxfcGF0aCgpCisgICAgaWYgaXNfdmFsaWRfYnVp
bGRfZGlyZWN0b3J5KGJ1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIHJldHVybiBidWlsZF9kaXJl
Y3RvcnkKIAotICAgIGJ1aWxkX2RpciA9IHRvcF9sZXZlbF9wYXRoKCJXZWJLaXRCdWlsZCIpCi0g
ICAgaWYgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxkX2Rpcik6Ci0gICAgICAgIHJldHVy
biBidWlsZF9kaXIKKyAgICBidWlsZF9kaXJlY3RvcnkgPSB0b3BfbGV2ZWxfcGF0aCgiV2ViS2l0
QnVpbGQiKQorICAgIGlmIGlzX3ZhbGlkX2J1aWxkX2RpcmVjdG9yeShidWlsZF9kaXJlY3Rvcnkp
OgorICAgICAgICByZXR1cm4gYnVpbGRfZGlyZWN0b3J5CiAKICAgICBwcmludCAnQ291bGQgbm90
IGRldGVybWluZSBidWlsZCBkaXJlY3RvcnkuJwogICAgIHN5cy5leGl0KDEpCiAKIAotZGVmIGJ1
aWxkX3BhdGgoKmFyZ3MpOgotICAgIHJldHVybiBvcy5wYXRoLmpvaW4oKihnZXRfYnVpbGRfcGF0
aCgpLCkgKyBhcmdzKQorZGVmIGJ1aWxkX3BhdGgoKmFyZ3MsICoqa3dhcmdzKToKKyAgICByZXR1
cm4gb3MucGF0aC5qb2luKCooZ2V0X2J1aWxkX3BhdGgoKiprd2FyZ3MpLCkgKyBhcmdzKQogCiAK
IGRlZiBwcmVmaXhfb2ZfcGtnX2NvbmZpZ19maWxlKHBhY2thZ2UpOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvZ3RrL2dlbmVyYXRlLWd0a2RvYyBiL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MKaW5kZXgg
Y2MzM2M0OC4uM2M4ODY3YyAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYwor
KysgYi9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCkBAIC0zMCw3ICszMCw3IEBAIGRlZiBjb25m
aWd1cmVfbG9nZ2luZygpOgogICAgIGhhbmRsZXIuc2V0TGV2ZWwobGV2ZWwpCiAgICAgbG9nZ2Vy
LmFkZEhhbmRsZXIoaGFuZGxlcikKICAgICBpZiBsZXZlbCA9PSBsb2dnaW5nLkRFQlVHOgotICAg
ICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignWyUoYXNjdGltZSlz
XSAgJShtZXNzYWdlKXMnKSkKKyAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5G
b3JtYXR0ZXIoJ1slKGFzY3RpbWUpc10gJShmaWxlbmFtZSlzOiUobGluZW5vKXMgICUobWVzc2Fn
ZSlzJykpCiAgICAgZWxzZToKICAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5G
b3JtYXR0ZXIoJyUobWVzc2FnZSlzJykpCiAKQEAgLTU4LDEwICs1OCwxMSBAQCBkZWYgZ2V0X2Nv
bW1vbl9vcHRpb25zKCk6CiAgICAgICAgICAgICB2aXJ0dWFsX3Jvb3QgPSBhcmd1bWVudC5zcGxp
dCgnPScpWzFdCiAgICAgICAgICAgICBicmVhawogCisgICAgYnVpbGRfZGlyZWN0b3J5ID0gc3lz
LmFyZ3ZbLTFdCiAgICAgcmV0dXJuIHsKICAgICAgICAgJ2RlY29yYXRvcic6ICdXRUJLSVRfQVBJ
JywKICAgICAgICAgJ2RlcHJlY2F0aW9uX2d1YXJkJzogJ1dFQktJVF9ESVNBQkxFX0RFUFJFQ0FU
RUQnLAotICAgICAgICAnbGlicmFyeV9wYXRoJyA6IGNvbW1vbi5idWlsZF9wYXRoKCcubGlicycp
LAorICAgICAgICAnbGlicmFyeV9wYXRoJyA6IGNvbW1vbi5idWlsZF9wYXRoKCcubGlicycsIGJ1
aWxkX2RpcmVjdG9yeT1idWlsZF9kaXJlY3RvcnkpLAogICAgICAgICAndmlydHVhbF9yb290JyA6
IHZpcnR1YWxfcm9vdCwKICAgICB9CiAKQEAgLTczLDggKzc0LDEwIEBAIGRlZiBnZXRfY29tbW9u
X3hyZWZfZGVwcygpOgogICAgIH0KIAogZGVmIGdldF93ZWJraXQyX29wdGlvbnMoKToKKyAgICBi
dWlsZF9kaXJlY3RvcnkgPSBzeXMuYXJndlstMV0KKwogICAgIGRlZiBkZXJpdmVkX3NvdXJjZXNf
cGF0aCgqYXJncyk6Ci0gICAgICAgIHJldHVybiBjb21tb24uYnVpbGRfcGF0aCgqKCgnRGVyaXZl
ZFNvdXJjZXMnLCAnV2ViS2l0MicpICsgYXJncykpCisgICAgICAgIHJldHVybiBjb21tb24uYnVp
bGRfcGF0aCgqKCgnRGVyaXZlZFNvdXJjZXMnLCAnV2ViS2l0MicpICsgYXJncyksIGJ1aWxkX2Rp
cmVjdG9yeT1idWlsZF9kaXJlY3RvcnkpCiAgICAgZGVmIHNyY19wYXRoKCphcmdzKToKICAgICAg
ICAgcmV0dXJuIGNvbW1vbi50b3BfbGV2ZWxfcGF0aCgqKCgnU291cmNlJywgJ1dlYktpdDInLCAn
VUlQcm9jZXNzJywgJ0FQSScsICdndGsnKSArIGFyZ3MpKQogCkBAIC04Nyw3ICs5MCw3IEBAIGRl
ZiBnZXRfd2Via2l0Ml9vcHRpb25zKCk6CiAgICAgb3B0aW9ucy51cGRhdGUoewogICAgICAgICAn
bW9kdWxlX25hbWUnIDogJ3dlYmtpdDJndGsnLAogICAgICAgICAnZG9jX2RpcicgOiBzcmNfcGF0
aCgnZG9jcycpLAotICAgICAgICAnb3V0cHV0X2RpcicgOiBjb21tb24uYnVpbGRfcGF0aCgnRG9j
dW1lbnRhdGlvbicsICd3ZWJraXQyZ3RrJyksCisgICAgICAgICdvdXRwdXRfZGlyJyA6IGNvbW1v
bi5idWlsZF9wYXRoKCdEb2N1bWVudGF0aW9uJywgJ3dlYmtpdDJndGsnLCBidWlsZF9kaXJlY3Rv
cnk9YnVpbGRfZGlyZWN0b3J5KSwKICAgICAgICAgJ3NvdXJjZV9kaXJzJyA6IFtzcmNfcGF0aCgp
XSwKICAgICAgICAgJ2NmbGFncycgOiAnIC1JJyArIGRlcml2ZWRfc291cmNlc19wYXRoKCd3ZWJr
aXQyZ3RrJywgJ2luY2x1ZGUnKSArIFwKICAgICAgICAgICAgICAgICAgICAnIC1JJyArIGRlcml2
ZWRfc291cmNlc19wYXRoKCd3ZWJraXQyZ3RrJykgKyBcCkBAIC0xMTYsMTQgKzExOSwxNSBAQCBk
ZWYgZ2V0X3dlYmtpdDFfb3B0aW9ucyhndGtfdmVyc2lvbik6CiAgICAgICAgICAgICAgICAgJ2d0
aystMi4wJyA6IFsnZ3RrJywgJ2dkayddCiAgICAgICAgIH0pCiAKKyAgICBidWlsZF9kaXJlY3Rv
cnkgPSBzeXMuYXJndlstMV0KICAgICBvcHRpb25zID0gZ2V0X2NvbW1vbl9vcHRpb25zKCkuY29w
eSgpCiAgICAgb3B0aW9ucy51cGRhdGUoewogICAgICAgICAnbW9kdWxlX25hbWUnIDogJ3dlYmtp
dGd0aycsCiAgICAgICAgICdkb2NfZGlyJyA6IHNyY19wYXRoKCdkb2NzJyksCi0gICAgICAgICdv
dXRwdXRfZGlyJyA6IGNvbW1vbi5idWlsZF9wYXRoKCdEb2N1bWVudGF0aW9uJywgJ3dlYmtpdGd0
aycpLAorICAgICAgICAnb3V0cHV0X2RpcicgOiBjb21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRh
dGlvbicsICd3ZWJraXRndGsnLCBidWlsZF9kaXJlY3Rvcnk9YnVpbGRfZGlyZWN0b3J5KSwKICAg
ICAgICAgJ3NvdXJjZV9kaXJzJyA6IFtzcmNfcGF0aCgnd2Via2l0JyksIGNvbW1vbi5idWlsZF9w
YXRoKCdTb3VyY2UnLCAnV2ViS2l0JywgJ2d0aycsICd3ZWJraXQnKV0sCiAgICAgICAgICdjZmxh
Z3MnIDogJyAtSScgKyBjb21tb24uYnVpbGRfcGF0aCgnV2ViS2l0JywgJ2d0aycpICsgXAotICAg
ICAgICAgICAgICAgICAgICcgLUknICsgY29tbW9uLmJ1aWxkX3BhdGgoJ0Rlcml2ZWRTb3VyY2Vz
JykgKyBcCisgICAgICAgICAgICAgICAgICAgJyAtSScgKyBjb21tb24uYnVpbGRfcGF0aCgnRGVy
aXZlZFNvdXJjZXMnLCBidWlsZF9kaXJlY3Rvcnk9YnVpbGRfZGlyZWN0b3J5KSArIFwKICAgICAg
ICAgICAgICAgICAgICAnIC1JJyArIHNyY19wYXRoKCkgKyBcCiAgICAgICAgICAgICAgICAgICAg
JyAtSScgKyBjb21tb24udG9wX2xldmVsX3BhdGgoJ1NvdXJjZScpICsgXAogICAgICAgICAgICAg
ICAgICAgICcgLUknICsgY29tbW9uLnRvcF9sZXZlbF9wYXRoKCdTb3VyY2UnLCAnSmF2YVNjcmlw
dENvcmUnLCAnRm9yd2FyZGluZ0hlYWRlcnMnKSwKLS0gCjEuNy45LjE=
</data>
<flag name="review"
          id="138481"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134299</attachid>
            <date>2012-03-28 08:12:38 -0700</date>
            <delta_ts>2012-03-28 09:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.patch</filename>
            <type>text/plain</type>
            <size>4316</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBjZGQyNGRiZTIxZGI0MGMzMWVkNjE0YmNiNDk3ODdiNjRjNjMxN2I5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDI4IE1hciAyMDEyIDE3OjEyOjQyICswMjAwClN1YmplY3Q6IFtQQVRDSF0g
UGF0Y2gKCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysr
KysrKysKIFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSB8ICAgIDQgKy0tLQogVG9vbHMvZ3Rr
L2NvbW1vbi5weSAgICAgICAgIHwgICA0MyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI3IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCBiNTQwNGEwLi40ZDY4NmIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDMtMjggIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIGdlbmVyYXRlLWd0
ay1kb2MgZG9lc24ndCBjb3BlIHdpdGggY3VzdG9tIGJ1aWxkIGRpcmVjdG9yeQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI0NDgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIHRoZSBwcm9kdWN0IGRp
cmVjdG9yeSBpbiBnZW5lcmF0ZS1ndGtkb2MgYXJndW1lbnRzIGZyb20KKyAgICAgICAgYnVpbGQt
d2Via2l0LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoYnVp
bGRBdXRvdG9vbHNQcm9qZWN0KToKKyAgICAgICAgKiBndGsvY29tbW9uLnB5OgorICAgICAgICAo
Z2V0X2J1aWxkX3BhdGgpOgorCiAyMDEyLTAyLTIxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBXZWJBdWRpbyBEUlQgc3VwcG9ydCBuZWVkcyBhbiB1
cGRhdGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCBiOTBkZDU4Li4wMjNkYzViIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtCkBAIC0xOTgxLDkgKzE5ODEsNyBAQCBzdWIgYnVpbGRBdXRvdG9vbHNQcm9qZWN0KCRAKQog
CiAgICAgaWYgKCRwcm9qZWN0IGVxICdXZWJLaXQnICYmICFpc0Nyb3NzQ29tcGlsYXRpb24oKSkg
ewogICAgICAgICBteSBAZG9jR2VuZXJhdGlvbk9wdGlvbnMgPSAoJHJ1bldpdGhKaGJ1aWxkLCAi
JGd0a1NjcmlwdHNQYXRoL2dlbmVyYXRlLWd0a2RvYyIsICItLXNraXAtaHRtbCIpOwotICAgICAg
ICBpZiAoJGRlYnVnKSB7Ci0gICAgICAgICAgICBwdXNoKEBkb2NHZW5lcmF0aW9uT3B0aW9ucywg
Ii0tZGVidWciKTsKLSAgICAgICAgfQorICAgICAgICBwdXNoKEBkb2NHZW5lcmF0aW9uT3B0aW9u
cywgcHJvZHVjdERpcigpKTsKIAogICAgICAgICBpZiAoc3lzdGVtKEBkb2NHZW5lcmF0aW9uT3B0
aW9ucykpIHsKICAgICAgICAgICAgIGRpZSAiXG4gZ3RrZG9jIGRpZCBub3QgYnVpbGQgd2l0aG91
dCB3YXJuaW5nc1xuIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9jb21tb24ucHkgYi9Ub29scy9n
dGsvY29tbW9uLnB5CmluZGV4IDA3MmM2YWUuLjUzNzVkYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0
ay9jb21tb24ucHkKKysrIGIvVG9vbHMvZ3RrL2NvbW1vbi5weQpAQCAtMjAsNyArMjAsNiBAQCBp
bXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwogCiBzY3JpcHRfZGlyID0gTm9uZQotYnVpbGRf
ZGlyID0gTm9uZQogCiAKIGRlZiBzY3JpcHRfcGF0aCgqYXJncyk6CkBAIC0zNSw0MyArMzQsMzkg
QEAgZGVmIHRvcF9sZXZlbF9wYXRoKCphcmdzKToKIAogCiBkZWYgZ2V0X2J1aWxkX3BhdGgoKToK
LSAgICBnbG9iYWwgYnVpbGRfZGlyCi0gICAgaWYgYnVpbGRfZGlyOgotICAgICAgICByZXR1cm4g
YnVpbGRfZGlyCiAKICAgICBkZWYgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KHBhdGgpOgogICAg
ICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHBhdGgsICdHTlVtYWtlZmls
ZScpKQogCisgICAgaWYgbGVuKHN5cy5hcmd2WzE6XSkgPiAxIGFuZCBvcy5wYXRoLmV4aXN0cyhz
eXMuYXJndlstMV0pIGFuZCBpc192YWxpZF9idWlsZF9kaXJlY3Rvcnkoc3lzLmFyZ3ZbLTFdKToK
KyAgICAgICAgcmV0dXJuIHN5cy5hcmd2Wy0xXQorCiAgICAgIyBEZWJpYW4gYW5kIFVidW50dSBi
dWlsZCBib3RoIGZsYXZvdXJzIG9mIHRoZSBsaWJyYXJ5ICh3aXRoIGd0azIKICAgICAjIGFuZCB3
aXRoIGd0azMpOyB0aGV5IHVzZSBkaXJlY3RvcmllcyBidWlsZC0yLjAgYW5kIGJ1aWxkLTMuMCBm
b3IKICAgICAjIHRoYXQsIHdoaWNoIGlzIG5vdCBoYW5kbGVkIGJ5IHRoZSBhYm92ZSBjYXNlczsg
d2UgY2hlY2sgdGhhdCB0aGUKICAgICAjIGRpcmVjdG9yeSB3aGVyZSB3ZSBhcmUgY2FsbGVkIGZy
b20gaXMgYSB2YWxpZCBidWlsZCBkaXJlY3RvcnksCiAgICAgIyB3aGljaCBzaG91bGQgaGFuZGxl
IHByZXR0eSBtdWNoIGFsbCBvdGhlciBub24tc3RhbmRhcmQgY2FzZXMuCi0gICAgYnVpbGRfZGly
ID0gb3MuZ2V0Y3dkKCkKLSAgICBpZiBpc192YWxpZF9idWlsZF9kaXJlY3RvcnkoYnVpbGRfZGly
KToKLSAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcgotCi0gICAgYnVpbGRfdHlwZXMgPSBbJ1JlbGVh
c2UnLCAnRGVidWcnXQotICAgIGlmICctLWRlYnVnJyBpbiBzeXMuYXJndjoKLSAgICAgICAgYnVp
bGRfdHlwZXMucmV2ZXJzZSgpCisgICAgYnVpbGRfZGlyZWN0b3J5ID0gb3MuZ2V0Y3dkKCkKKyAg
ICBpZiBpc192YWxpZF9idWlsZF9kaXJlY3RvcnkoYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAg
cmV0dXJuIGJ1aWxkX2RpcmVjdG9yeQogCi0gICAgZm9yIGJ1aWxkX3R5cGUgaW4gYnVpbGRfdHlw
ZXM6Ci0gICAgICAgIGJ1aWxkX2RpciA9IHRvcF9sZXZlbF9wYXRoKCdXZWJLaXRCdWlsZCcsIGJ1
aWxkX3R5cGUpCi0gICAgICAgIGlmIGlzX3ZhbGlkX2J1aWxkX2RpcmVjdG9yeShidWlsZF9kaXIp
OgotICAgICAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcgorICAgIGZvciBidWlsZF90eXBlIGluICgn
UmVsZWFzZScsICdEZWJ1ZycpOgorICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSB0b3BfbGV2ZWxf
cGF0aCgnV2ViS2l0QnVpbGQnLCBidWlsZF90eXBlKQorICAgICAgICBpZiBpc192YWxpZF9idWls
ZF9kaXJlY3RvcnkoYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAgICAgIHJldHVybiBidWlsZF9k
aXJlY3RvcnkKIAogICAgICMgZGlzdGNoZWNrIGJ1aWxkcyBpbiBhIGRpcmVjdG9yeSBuYW1lZCBf
YnVpbGQgaW4gdGhlIHRvcC1sZXZlbCBwYXRoLgotICAgIGJ1aWxkX2RpciA9IHRvcF9sZXZlbF9w
YXRoKCJfYnVpbGQiKQotICAgIGlmIGlzX3ZhbGlkX2J1aWxkX2RpcmVjdG9yeShidWlsZF9kaXIp
OgotICAgICAgICByZXR1cm4gYnVpbGRfZGlyCisgICAgYnVpbGRfZGlyZWN0b3J5ID0gdG9wX2xl
dmVsX3BhdGgoIl9idWlsZCIpCisgICAgaWYgaXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxk
X2RpcmVjdG9yeSk6CisgICAgICAgIHJldHVybiBidWlsZF9kaXJlY3RvcnkKIAotICAgIGJ1aWxk
X2RpciA9IHRvcF9sZXZlbF9wYXRoKCkKLSAgICBpZiBpc192YWxpZF9idWlsZF9kaXJlY3Rvcnko
YnVpbGRfZGlyKToKLSAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcgorICAgIGJ1aWxkX2RpcmVjdG9y
eSA9IHRvcF9sZXZlbF9wYXRoKCkKKyAgICBpZiBpc192YWxpZF9idWlsZF9kaXJlY3RvcnkoYnVp
bGRfZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcmVjdG9yeQogCi0gICAgYnVp
bGRfZGlyID0gdG9wX2xldmVsX3BhdGgoIldlYktpdEJ1aWxkIikKLSAgICBpZiBpc192YWxpZF9i
dWlsZF9kaXJlY3RvcnkoYnVpbGRfZGlyKToKLSAgICAgICAgcmV0dXJuIGJ1aWxkX2RpcgorICAg
IGJ1aWxkX2RpcmVjdG9yeSA9IHRvcF9sZXZlbF9wYXRoKCJXZWJLaXRCdWlsZCIpCisgICAgaWYg
aXNfdmFsaWRfYnVpbGRfZGlyZWN0b3J5KGJ1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIHJldHVy
biBidWlsZF9kaXJlY3RvcnkKIAogICAgIHByaW50ICdDb3VsZCBub3QgZGV0ZXJtaW5lIGJ1aWxk
IGRpcmVjdG9yeS4nCiAgICAgc3lzLmV4aXQoMSkKLS0gCjEuNy45LjE=
</data>
<flag name="review"
          id="138525"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="138537"
          type_id="3"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>