Changes

Jump to: navigation, search

How the Build Works

160 bytes added, 15:21, 18 January 2007
no edit summary
<tr><th>Time</th><th>Topic</th><th>Details</th><tr>
<tr><td>00:00:0013</td><td>IntroductionIntroducing J. Paul Reed</td><td>Professor David Humphrey of Seneca College introduces Mike Beltzner of the J. Paul Reed, Build Engineer, Mozilla Corporation and briefly touches on how Seneca College connected with the project.</td></tr>
<tr><td>00:02:1500</td><td>The Mozilla Corporate CommunityLecture Agenda</td><td>7 people in Canada: 3 in Ottawa, 3 in downtown Toronto, couple north Overview of Toronto, some in Vancouver, 40 or 50 in California, Europe and Japanthe history of the build system.</td></tr>
<tr><td>00:03:0400</td><td>Talk Agenda"You Have the Wrong Guy"</td><td>What is Paul that he releases the community, its place in software and considers himself more of a release engineer. You should be contacting the value chainreal build engineers Benjamin Smedberg, etiquetteMark Mentovai, points of entryChris Seawood, demos of entryand Bryan Ryner.</td></tr>
<tr><td>00:0403:1247</td><td>What the Community isPaul's Background</td><td>Everybody who is at all involved Paul sheds some light on his background with the products Netscape Build team (including code1998), discussion, testing, bug filing, submitting graphics, promoting his work on VM's at VMWare as release engineer and how he came full circle back to the useproject as a Moco (Mozilla Corporation)employee.</td></tr>
<tr><td>00:04:4611</td><td>Evangelizing FirefoxHistory of the build system</td><td>Promoting the use Paul mentions how Netscape had a collection of the product with passionmake files. Supporting 20 Unix platforms, Win16 & Win32. The process was very mystical and brittle. Firefox Crop CircleDocumentation on the process was very crude.</td></tr>
<tr><td>00:05:50</td><td>The Community Owns the CodeRush Documentary</td><td>Unlike most companies, The Paul mentions the PBS documentary on the challenges of having three outsiders build Mozilla Project is totally open source. The code isn't on the asset. Mike discusses this idea 3 platforms (Windows, Unix and the context in which the project worksMacintosh).</td></tr>
<tr><td>00:06:3258</td><td>Value Chain for SoftwareAutotools</td><td>How can people contribute On the limited use of autoconf and add value to users? lack of usage of automake and other utilities. It's everywhere! Who uses Mozilla products, Paul also elaborates on the autoconf systems usage of .in files and how do they give back and what is their position in drive/fit into the value chainbuild process.</td></tr>
<tr><td>00:0907:2550</td><td>Mozilla = CommunityNo Autoconf?</td><td>No one acts independently of the community -- "Paul explains Why don't we live and die by need autoconf to build Mozilla? An old machine at Mozilla monitors code checked (specifically config.in which is the community", Mike Shaversource config file) in an automatically do this.</td></tr>
<tr><td>00:1008:0046</td><td>Roles Major Organs of the Playersbuild system Explained.</td><td>Mozilla Foundation Paul discusses Netscape Portable Runtime (guidanceNSPR), Mozilla Corporation Netscape Security Service (thrustNSS), Community C-LDAP SDK, JavaScript, Supporting Libraries and most importantly the actual Mozilla products (passionFirefox, innovationThunderbird, reachSunbird etc.) All the above are in top level citizens, you get them whether or not you want them when you check out the code.</td></tr>
<tr><td>00:1210:4124</td><td>Mozilla is a Community That Happens to Make Softwareclient.mk - Useful targets</td><td>Mozilla makes it possible for * '''checkout''' - grabs checkout of the community to work together around source code (done this way so they can version the different modules - a single "thing"feature that cvs does not support. This idea )* '''build''' - builds the application* '''configure''' - run automatically when build is not limited to software; to collaborate run* '''fast-update''' - checks Bonsai and does an update and produce something as a group could apply beyond softwareretrieves only the parts you are working on (unlike cvs update).</td></tr>
<tr><td>00:13:5007</td><td>Netiquette.mozconfig</td><td>How to deal with people online after losing Paul explains the social context importance of the .mozconfig file in-person communicationthe build process, and mk_add_option vs ac_add_options. Some basic rules with interacting in an online community for your successBuild Configurator is here to help (http://webtools.mozilla.org/build/config.cgi)</td></tr>
<tr><td>00:1815:0343</td><td>Meritocracy of Open SourceInteresting things about build configuration.</td><td>Mike describes the difference between classical power structures and open source power structuresThe system does not guess. Deeds speak in Open SourceIf the compile fails it knows it could not find it. You're always being judged If the compiler knows where to find it and you must strive to build social capital (aka whuffie)system does not its still OK.</td></tr>
<tr><td>00:2119:1500</td><td>Points of Entry10 Lines</td><td>From the consumer to the developer--using products, weblogs, web forums, newsgroups, IRC chat, status callsThe 10 most important lines in build process. The entire process for browser, BugZilla and CVSThunderbird etc.is driven by these 10 lines</td></tr>
<tr><td>00:2219:5554</td><td>All Points Explanation of Entry Intersectthe Tiers</td><td>Design, testing, Paul discusses the various tiers in the build system and advocacy tasks, for example, are coordinated by and utilize all points of entrytheir contents.</td></tr>
<tr><td>00:2623:0422</td><td>IN-PRODUCT: Report a Broken WebsiteTwo Pass Build System Explained.</td><td>A website Paul elaborates on the export and libs pass (and sometimes also a thrid pass called deps). The Export pass copies all the .h files for all modules. The libs pass creates libraries that doesn't render properly can be reported using are needed for other modules. The Deps pass handles the in-browser reporting toolautomatic dependencies for files that you have edited etc. This provides a low-barrier to entry to participate in He stressed that all of this is still driven by the Mozilla communityrules.mk file.</td></tr>
<tr><td>00:2725:0200</td><td>IN-PRODUCT: Report a Web ForgeryExplanation of the rules.mk file.</td><td>In-browser phishing site reporting tool goes directly into Good news: You need not necessarily worry about it. Just know what the fishing filter definitions are if you need to benefit use them. Paul also explains that the reason the community again, instantly warning other users who stumble across makefile so short it is driven by the siterules.mk file.</td></tr>
<tr><td>00:2728:4809</td><td>IN-PRODUCT: Help System Links to WebsitesMore rules.mk variables</td><td>Whenever Paul explains you query can provide the build system will the help sites they are able all the information in needs to know what you are looking forcreate your files. Chrome is stored in .jar files. In this wayThe build system can handle .jars on their own, just by looking for help you can contribute there need not be any rules. EXTRA_PP_COMPONENTS similar to The Mozilla ProjectC pre-processor defines in C.</td></tr>
<tr><td>00:2830:2047</td><td>WEBLOG: http://planet.mozilla.org/MDC</td><td>Weblog planet is an aggregation website Paul mentions that gathers together the weblogs of prominent members in the community to keep people abreast of what MDC has some great documentation on build flags and other people are doing. This is used to get a sense of what people are working on; at Mozilla there are no status reports, so blogging lets them know what's going onbuild documentation.</td></tr>
<tr><td>00:3033:4643</td><td>WEBFORUMS: http://wwwLocal vs.mozillazine.org/Official Builds</td><td>The front page is Paul explains the difference between a summary of the high-level news item in local build and the official ones from Mozilla world, i. This website is owned by the corporation or foundation peoplee. MozillaZine acts as a support system -d build ID (datestring), post build packaging commencing - for official builds it uploads to ftp mirrors (unlike local builds which just allow you to run them), talk back reports sent back to Mozilla as the corporation does not have any support staff employed of its own.</td></tr>
<tr><td>00:3335:4836</td><td>WEBFORUMS: http://spreadfirefoxInteresting parts of the Mozilla Build system.com</td><td>Spreadfirefox.com is a set of forums Paul explains how the build system "cruft" and weblogs that are all about spreading Firefoxwhy it seems "weird". The people involved are not necessarily people that work on He discusses the codereasons behind this. The goal is to just get people to Specifically the use of autoconf as a thin wrapper as well as the issues accompanying use Firefox. Participants are rewarded with points and "ranked"of top level directories in CVS.</td></tr>
<tr><td>00:3538:2023</td><td>WIKISThe system is not as self-contained as it should be.</td><td>Wiki.mozilla.org is the main Wiki for The Mozilla Project. All project-related plans Currently localization packaging updates and in-progress code documentation will first exist in generation are part of Tinderbox right now but this Wikiis not where it should be. Eventually, this information will The right place for them would be migrated to the Mozilla Development Centrebuild system.</td></tr>
* Mozilla Developer Centre - http<tr><td>00:39:22</td><td>Re-inventing the wheel</developer.mozilla.org (devmo) is the Wiki used to provide documentation for people who are working on td><td>Paul discusses why Mozilla code.* DevNews Blog has taken a not- http://developer.mozilla.org/devnews/ carries announcements of latest releases and plansinvented here attitude.* WebWatch In essence he explains why they have re- http://developer.mozilla.org/webwatch/ announces cool written things happening already in the web communityexistence on most modern systems.</td></tr>
<tr><td>00:3940:5340</td><td>NewsgroupsCross Platform Development</td><td>Newsgroups are used by Mozilla for design discussions Paul discusses the remarkable fact that the browser can run on all three platforms without limited use of #ifdef pre-processor statements. He remarked on the code, planning discussions about use of the release of codeNSPR and its benefits. Other oddities discussed include why C++ exceptions, templates and managing Mozilla subcommunitiesthe 33 other portability rules (http://www. devmozilla.planning dev.general dev.apps.firefox are the busiest newsgroupsorg/hacking/portable-cpp.html#portability_rules)</td></tr>
<tr><td>00:4144:4850</td><td>Time ZonesFutures of the Build system</td><td>Whenever you talk about a timePaul discusses where the build system may be headed: Scons, Componentized builds, communicate the time zone because you are dealing with the world community.Moving to SVN</td></tr>
<tr><td>00:4248:4718</td><td>IRC chatRe-write the whole thing.</td><td>IRC is Benjamin Smedberg threatens to re-write large (if not the place where whole) build system as the most active community members hang out. This is the "pulse of what's happening at the moment" according build engineers are starting to agree it may be easier to Mike, and the "quickest way do that then to get up add stuff to speed in the community"it.</td></tr>
<tr><td>00:5048:5038</td><td>Search Before Asking QuestionsUseful notes for new developers</td><td>Try to find answers to your own questions before asking others-DDEBUG-username useful for checking specific stuff when you yourself are debugging (can be turned off when you are done debugging). --No remote -this is p prevents your existing Firefox profile from being corrupted when you build a better use of their timecustom version.</td></tr>
<tr><td>00:5850:0016</td><td>Status CallsHelpful Tools</td><td>Status Paul discussed the use of a project over a 1-800 numberother tools developers use and which would be useful to new entrants to the Firefox community. This provides a low bar to entryFor example, MDC, tinderbox, LXR, yet remains very detailed and is an "active" activity with low signal-to-noise ratioPlanet etc.</td></tr>
<tr><td>00:5851:5506</td><td>BugzillaObtaining Help</td><td>Bugzilla Paul explains that #build is essentially a tool where everything happens. Bug entries include a description of a problem, steps to reproduce, actual results that people see, meant for official builds and expected results. People can reply to the bug and add comments. Someone eventually takes the bug and owns it and drives it talk to completion--eventually resolving the issuebuild engineers.</td></tr> <tr><td>01:02:20</td><td>How They like to File keep a Bug</td><td>Filing a bug in Bugzillahigh signal to roise For general questions and inquiries use #developers or #Seneca.</td></tr> <tr><td>01:05:24</td><td>Tinderbox Page</td><td>The Tinderbox page However, he stressed that it is a communication vehicle showing the status of the latest build machines that are building a set of code. It also shows blocking bugs (bugs which currently block a new release).</td></tr> <tr><td>01:06:58</td><td>Bonsai and CVS</td><td>Bonsai allows people important not to track CVS activity on the code base, showing the last check-ins hesitate to the code treeask for help.</td></tr> <tr><td>01:08:41</td><td>Which Point of Entry is Appropriate for a Task</td><td>&nbsp;</td></tr>
</table>

Navigation menu