<?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>17507</bug_id>
          
          <creation_ts>2008-02-23 23:23:43 -0800</creation_ts>
          <short_desc>[ports] Script to ease port maintenance when adding/removing files</short_desc>
          <delta_ts>2008-04-10 18:49:59 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Qt, Wx</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kevin Ollivier">kevino</reporter>
          <assigned_to name="Kevin Ollivier">kevino</assigned_to>
          <cc>dev+webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>71688</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-23 23:23:43 -0800</bug_when>
    <thetext>As discussed several times on #WebKit, it would be nice to have a script that allowed you to add/remove a file in one place, and have a way to automatically propagate that change to all the build systems, rather than manually make the change for each build system. This should considerably reduce the number of post-commit build fixes needed for ports, leaving more time to make WebKit even slicker. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71693</commentid>
    <comment_count>1</comment_count>
      <attachid>19314</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-23 23:40:17 -0800</bug_when>
    <thetext>Created attachment 19314
First attempt at a script that can update wx, GTK and Qt at once

This script generates a file called WebCore/sources.inc for inclusion in GTK and Qt makefiles that defines BASE_SOURCES, which is a complete list of platform-independent sources that all ports should build. This file is obtained by parsing and manipulating the WebCore/WebCoreSources.bkl file. (Chosen because of my familiarity with XML parsing and because we explicitly kept base sources separate from platform-dependent sources.) The idea is that this file will be included by the Qt and GTK makefiles, then by doing SOURCES += BASE_SOURCES those files will be added to those build systems. 

This is just to open things up for discussion and show how one approach might work. I&apos;m not very familiar with building other ports, so I would really appreciate it if people working on other port build systems could chime in and let me know if this idea is feasible and/or suggest some ideas of other ways we could approach this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71808</commentid>
    <comment_count>2</comment_count>
      <attachid>19314</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-24 18:04:41 -0800</bug_when>
    <thetext>Comment on attachment 19314
First attempt at a script that can update wx, GTK and Qt at once

rs=me --We don&apos;t need a really close review of scripts.

However, it would be good if our scripts were consistently in one scripting language; I hate to require multiple ones. Maybe you would take on the project of converting our Perl scripts to Python?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71854</commentid>
    <comment_count>3</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-24 23:32:16 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 19314 [edit])
&gt; rs=me --We don&apos;t need a really close review of scripts.
&gt; 
&gt; However, it would be good if our scripts were consistently in one scripting
&gt; language; I hate to require multiple ones. Maybe you would take on the project
&gt; of converting our Perl scripts to Python?

I would be willing to take on such a project. It would probably take me a while to convert all that code over while still working on the wx port, but so long as you&apos;re okay with that, I have no problems. I personally think it&apos;s worth the effort, and it&apos;s my policy never to pass up an opportunity to code in Python. :)

So, should I file a meta-bug for this and post scripts for review one-by-one as I convert them, or is there a better way to approach this? </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73978</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-03-16 14:50:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; So, should I file a meta-bug for this and post scripts for review one-by-one as
&gt; I convert them, or is there a better way to approach this? 

If it was me, I&apos;d just create a new bug each time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77226</commentid>
    <comment_count>5</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-04-10 18:49:59 -0700</bug_when>
    <thetext>landed in r31795, thanks! :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19314</attachid>
            <date>2008-02-23 23:40:17 -0800</date>
            <delta_ts>2008-02-24 18:04:41 -0800</delta_ts>
            <desc>First attempt at a script that can update wx, GTK and Qt at once</desc>
            <filename>update-sources1.patch</filename>
            <type>text/plain</type>
            <size>4609</size>
            <attacher name="Kevin Ollivier">kevino</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvdXBkYXRlLXNvdXJjZXMtbGlzdC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3VwZGF0ZS1zb3VyY2VzLWxpc3QucHkJKHJldmlz
aW9uIDApCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3VwZGF0ZS1zb3VyY2VzLWxpc3QucHkJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsOTMgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisKKyMgQ29weXJp
Z2h0IChDKSAyMDA3IEtldmluIE9sbGl2aWVyICBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisjIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyMgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBNYWtlIHN1cmUgYW55IHBvcnQtaW5k
ZXBlbmRlbnQgZmlsZXMgYWRkZWQgdG8gdGhlIEJha2VmaWxlIGFyZQorIyBhZGRlZCB0byBHVEss
IFFULCBldGMuIHNvIHRoYXQgZmlsZSB1cGRhdGVzIGNhbiBoYXBwZW4gaW4gb25lIHBsYWNlLgor
CitpbXBvcnQgb3MsIHN5cworZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9tCisKK3NjcmlwdERp
ciA9IG9zLnBhdGguYWJzcGF0aChzeXMucGF0aFswXSkKK3drcm9vdCA9IG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmpvaW4oc2NyaXB0RGlyLCAiLi4vLi4iKSkKKworZGVmIGdldFdlYkNvcmVGaWxl
c0RpY3QoKToKKyAgICAiIiIKKyAgICBUaGlzIG1ldGhvZCBwYXJzZXMgdGhlIFdlYkNvcmVTb3Vy
Y2VzLmJrbCBmaWxlLCB3aGljaCBoYXMgYSBsaXN0IG9mIGFsbCBzb3VyY2VzIG5vdCBzcGVjaWZp
YworICAgIHRvIGFueSBwb3J0LCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGFzIGEgZGljdGlvbmFy
eSB3aXRoIGl0ZW1zIG9mIHRoZSBmb3JtCisgICAgKGdyb3VwTmFtZSwgZ3JvdXBGaWxlcykuIAor
ICAgICIiIgorICAgIHNvdXJjZXMgPSB7fQorICAgIHNvdXJjZXNfcHJlZml4ID0gIldFQkNPUkVf
IgorICAgIGZpbGVwYXRoID0gb3MucGF0aC5qb2luKHdrcm9vdCwgIldlYkNvcmUvV2ViQ29yZVNv
dXJjZXMuYmtsIikKKyAgICBhc3NlcnQob3MucGF0aC5leGlzdHMoZmlsZXBhdGgpKQorICAgIAor
ICAgIGRvYyA9IG1pbmlkb20ucGFyc2UoZmlsZXBhdGgpCisgICAgZm9yIHNvdXJjZUdyb3VwIGlu
IGRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2V0Iik6CisgICAgICAgIGdyb3VwTmFtZSA9ICIi
CisgICAgICAgIGlmIHNvdXJjZUdyb3VwLmF0dHJpYnV0ZXMuaGFzX2tleSgidmFyIik6CisgICAg
ICAgICAgICBncm91cE5hbWUgPSBzb3VyY2VHcm91cC5hdHRyaWJ1dGVzWyJ2YXIiXS52YWx1ZQor
ICAgICAgICAgICAgZ3JvdXBOYW1lID0gZ3JvdXBOYW1lLnJlcGxhY2Uoc291cmNlc19wcmVmaXgs
ICIiKQorICAgICAgICAgICAgCisgICAgICAgIHNvdXJjZXNMaXN0ID0gW10KKyAgICAgICAgZm9y
IG5vZGUgaW4gc291cmNlR3JvdXAuY2hpbGROb2RlczoKKyAgICAgICAgICAgIGlmIG5vZGUubm9k
ZVR5cGUgPT0gbm9kZS5URVhUX05PREU6CisgICAgICAgICAgICAgICAgc291cmNlc1RleHQgPSBu
b2RlLm5vZGVWYWx1ZS5zdHJpcCgpCisgICAgICAgICAgICAgICAgc291cmNlc0xpc3QgPSBzb3Vy
Y2VzVGV4dC5zcGxpdCgiXG4iKQorICAgICAgICAgICAgICAgIAorICAgICAgICBhc3NlcnQoZ3Jv
dXBOYW1lICE9ICIiKQorICAgICAgICBhc3NlcnQoc291cmNlc0xpc3QgIT0gW10pCisgICAgICAg
IAorICAgICAgICBzb3VyY2VzW2dyb3VwTmFtZV0gPSBzb3VyY2VzTGlzdAorICAgICAgICAKKyAg
ICByZXR1cm4gc291cmNlcworCitkZWYgZ2VuZXJhdGVXZWJDb3JlU291cmNlc0dUS0FuZFFUKHNv
dXJjZXMpOgorICAgICIiIgorICAgIENvbnZlcnQgdGhlIGRpY3Rpb25hcnkgb2J0YWluZWQgZnJv
bSBnZXRXZWJDb3JlRmlsZXNEaWN0KCkgaW50byBhIFVuaXggbWFrZWZpbGUgc3ludGF4LAorICAg
IHdoaWNoIElJVUMgaXMgc3VpdGFibGUgZm9yIGJvdGggR1RLIGFuZCBRVCBidWlsZCBzeXN0ZW1z
LiBUbyB0YWtlIGFkdmFudGFnZSBvZiB0aGlzLAorICAgIFFUIGFuZCBHVEsgd291bGQgaGF2ZSB0
byBpbmNsdWRlIHRoZSBmaWxlICJXZWJDb3JlL3NvdXJjZXMuaW5jIiBpbnRvIHRoZWlyIG1ha2Vm
aWxlcy4KKyAgICAiIiIKKyAgICBtYWtlZmlsZVN0cmluZyA9ICIiCisgICAgCisgICAgZm9yIGtl
eSBpbiBzb3VyY2VzLmtleXMoKToKKyAgICAgICAgbWFrZWZpbGVTdHJpbmcgKz0ga2V5ICsgIis9
IgorICAgICAgICBmb3Igc291cmNlIGluIHNvdXJjZXNba2V5XToKKyAgICAgICAgICAgIG1ha2Vm
aWxlU3RyaW5nICs9ICIgXFxcblx0XHQiICsgc291cmNlLnN0cmlwKCkKKyAgICAgICAgICAgIAor
ICAgICAgICBtYWtlZmlsZVN0cmluZyArPSAiXG5cbiIKKyAgICAKKyAgICBtYWtlZmlsZVN0cmlu
ZyArPSAiQkFTRV9TT1VSQ0VTICs9IgorICAgIGZvciBrZXkgaW4gc291cmNlcy5rZXlzKCk6Cisg
ICAgICAgIG1ha2VmaWxlU3RyaW5nICs9ICIgXFxcblx0XHQiICsga2V5CisgICAgCisgICAgb3V0
ZmlsZSA9IG9zLnBhdGguam9pbih3a3Jvb3QsICJXZWJDb3JlL3NvdXJjZXMuaW5jIikKKyAgICBz
b3VyY2VmaWxlID0gb3BlbihvdXRmaWxlLCAidyIpCisgICAgc291cmNlZmlsZS53cml0ZShtYWtl
ZmlsZVN0cmluZykKKyAgICBzb3VyY2VmaWxlLmNsb3NlKCkKKyAgICAKK3NvdXJjZXMgPSBnZXRX
ZWJDb3JlRmlsZXNEaWN0KCkKK2dlbmVyYXRlV2ViQ29yZVNvdXJjZXNHVEtBbmRRVChzb3VyY2Vz
KQorCisjIENvbWluZyBzb29uIC0gTVNWQyBhbmQgaG9wZWZ1bGx5IFhDb2RlIHN1cHBvcnQhCklu
ZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAzMDU0NSkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDA4LTAyLTIzICBLZXZpbiBPbGxpdmllciAgPGtl
dmlub0B0aGVvbGxpdmllcnMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHNjcmlwdCB0aGF0IHByb3BhZ2F0ZXMgYW55IGZpbGUgY2hh
bmdlcyBtYWRlIHRvIHRoZSBCYWtlZmlsZXMKKyAgICAgICAgb3ZlciB0byBHVEsgYW5kIFF0IGJ1
aWxkIHN5c3RlbXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS1zb3VyY2VzLWxpc3QucHk6
IEFkZGVkLgorCiAyMDA4LTAyLTIzICBKYW4gTWljaGFlbCBBbG9uem8gIDxqbWFsb256b0B1bnBs
dWdnYWJsZS5jb20+CiAKICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgRGFyaW4uCg==
</data>
<flag name="review"
          id="8441"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>