CINXE.COM
mozilla.org content and cvs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://www.mozilla.org:80/contribute/writing/cvs","20071212095028","https://web.archive.org/","web","/_static/", "1197453028"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link rel="top" title="Home" href="http://www.mozilla.org/"> <link rel="stylesheet" type="text/css" href="/web/20071212095028cs_/http://www.mozilla.org/css/print.css" media="print"> <link rel="stylesheet" type="text/css" href="/web/20071212095028cs_/http://www.mozilla.org/css/base/content.css" media="all"> <link rel="stylesheet" type="text/css" href="/web/20071212095028cs_/http://www.mozilla.org/css/cavendish/content.css" title="Cavendish" media="screen"> <link rel="stylesheet" type="text/css" href="/web/20071212095028cs_/http://www.mozilla.org/css/base/template.css" media="screen"> <link rel="stylesheet" type="text/css" href="/web/20071212095028cs_/http://www.mozilla.org/css/cavendish/template.css" title="Cavendish" media="screen"> <link rel="icon" href="/web/20071212095028im_/http://www.mozilla.org/images/mozilla-16.png" type="image/png"> <title>mozilla.org content and cvs</title> <script src="/web/20071212095028js_/http://www.mozilla.org/__utm.js" type="text/javascript"></script> </head> <body id="www-mozilla-org" class="deepLevel"> <div id="container"> <p class="skipLink"><a href="#mainContent" accesskey="2">Skip to main content</a></p> <div id="header"> <h1><a href="/web/20071212095028/http://www.mozilla.org/" title="Return to home page" accesskey="1">Mozilla</a></h1> <ul> <li id="menu_aboutus"><a href="/web/20071212095028/http://www.mozilla.org/about/" title="Getting the most out of your online experience">About</a></li> <li id="menu_developers"><a href="/web/20071212095028/http://www.mozilla.org/developer/" title="Using Mozilla's products for your own applications">Developers</a></li> <li id="menu_store"><a href="https://web.archive.org/web/20071212095028/http://store.mozilla.org/?r=mozorg1" title="Shop for Mozilla products on CD and other merchandise">Store</a></li> <li id="menu_support"><a href="/web/20071212095028/http://www.mozilla.org/support/" title="Installation, trouble-shooting, and the knowledge base">Support</a></li> <li id="menu_products"><a href="/web/20071212095028/http://www.mozilla.org/products/" title="All software Mozilla currently offers">Products</a></li> </ul> <form id="searchbox_002443141534113389537:ysdmevkkknw" action="https://web.archive.org/web/20071212095028/http://www.google.com/cse" title="mozilla.org Search"> <div> <label for="q" title="Search mozilla.org's sites">search mozilla:</label> <input type="hidden" name="cx" value="002443141534113389537:ysdmevkkknw"> <input type="hidden" name="cof" value="FORID:0"> <input type="text" id="q" name="q" accesskey="s" size="30"> <input type="submit" id="submit" value="Go"> </div> </form> </div> <hr class="hide"> <div id="mBody"> <div id="side"> <ul id="nav"> <li><a title="Roadmap" href="/web/20071212095028/http://www.mozilla.org/roadmap.html"><strong> Roadmap</strong></a></li> <li><a title="Projects" href="/web/20071212095028/http://www.mozilla.org/projects/"><strong> Projects</strong></a></li> <li><a title="For developers" href="/web/20071212095028/http://www.mozilla.org/developer/"><strong> Coding</strong></a> <ul> <li><a title="Module Owners" href="/web/20071212095028/http://www.mozilla.org/owners.html"> Module Owners</a></li> <li><a title="Hacking" href="/web/20071212095028/http://www.mozilla.org/hacking/"> Hacking</a></li> <li><a title="Get the Source" href="https://web.archive.org/web/20071212095028/http://developer.mozilla.org/en/docs/Download_Mozilla_Source_Code"> Get the Source</a></li> <li><a title="Building Mozilla" href="https://web.archive.org/web/20071212095028/http://developer.mozilla.org/en/docs/Build_Documentation"> Build It</a></li> </ul> </li> <li><a title="Testing" href="/web/20071212095028/http://www.mozilla.org/quality/"><strong> Testing</strong></a> <ul> <li><a title="Downloads of mozilla.org software releases" href="/web/20071212095028/http://www.mozilla.org/download.html"> Releases</a></li> <li><a title="Latest mozilla builds for testers" href="/web/20071212095028/http://www.mozilla.org/developer/#builds"> Nightly Builds</a></li> <li><a title="For testers to report bugs" href="https://web.archive.org/web/20071212095028/https://bugzilla.mozilla.org/"> Report A Problem</a></li> </ul> </li> <li><a title="Tools for mozilla developers" href="/web/20071212095028/http://www.mozilla.org/tools.html"><strong> Tools</strong></a> <ul> <li><a title="Bug tracking system for mozilla testers." href="https://web.archive.org/web/20071212095028/https://bugzilla.mozilla.org/"> Bugzilla</a></li> <li><a title="Latest status of mozilla builds" href="https://web.archive.org/web/20071212095028/http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox"> Tinderbox</a></li> <li><a title="Latest checkins" href="https://web.archive.org/web/20071212095028/http://bonsai.mozilla.org/cvsqueryform.cgi"> Bonsai</a></li> <li><a title="Source cross reference" href="https://web.archive.org/web/20071212095028/http://lxr.mozilla.org/seamonkey/"> LXR</a></li> </ul> </li> <li><a title="Frequently Asked Questions." href="/web/20071212095028/http://www.mozilla.org/faq.html"><strong> FAQs</strong></a></li> </ul> </div> <hr class="hide"> <div id="mainContent"> <h1>mozilla.org content and cvs</h1> <address> Mike Shaver, Terry Weissman, and Jamie Zawinski<br> <!-- first edition --> <a href="https://web.archive.org/web/20071212095028/http://fantasai.inkedblade.net/contact">fantasai</a> and benc <!-- second edition --> </address> <p>This document outlines important things you should know about adding content to a subtree of the mozilla.org website follow. Understand them well, for if you break your section of the website, you will have only yourself to blame. (Unless our instructions suck, of course, in which case we'll have to help you fix it, and you may mock us mercilessly.)</p> <ol class="toc"> <li><a href="#build-system">About the mozilla.org Build System</a> <li><a href="#access">CVS Access to the Website Tree</a> <ol> <li><a href="#anonymous">Anonymous Access</a> <li><a href="#account">CVS Account Access</a> </ol> <li><a href="#checkout">Checking Out</a> <li><a href="#checkin">Checking In</a> <li><a href="#doctor">Web-Based CVS Access with Doctor</a> <li><a href="#bonsai">Bonsai</a> <li><a href="#build">Building mozilla.org</a> <ol> <li><a href="#unix">Setting Up on Unix</a> <li><a href="#windows">Setting Up on Windows</a> <li><a href="#mac">Setting Up on Mac OS</a> <li><a href="#command">The Build Command</a> </ol> </ol> <div class="section"> <h2><a name="build-system">The mozilla.org Build System</a></h2> <p>The entire mozilla.org website is built off of a CVS tree of plain, unadorned HTML files. These and all other files on the website are contained in the <code class="filename">html</code> subdirectory of the website CVS root. A set of makefiles and Perl scripts periodically processes these files and places the result in an <code class="filename">output</code> subdirectory. The contents of the <code class="filename">output</code> subdirectory is what gets served up as the mozilla.org website. You can run this build process on your own machine by <a href="#access">checking out</a> the website CVS tree and <a href="#build">building mozilla.org</a>.</p> <p><strong>All files that are checked in to the CVS repository anywhere under the <code class="filename">html</code> directory will be visible on the web site.</strong></p> <p>By default, HTML files will have the standard mozilla.org left-edge menu appended to them; those HTML files listed in the <code class="filename">NOWRAP</code> file in the same directory will not be wrapped. (Only HTML files will ever be wrapped, so you needn't list images in <code class="filename">NOWRAP</code>.) Files listed in the <code class="filename">NOMENU</code> file in the same directory will be wrapped with just the horizontal headers and footers appended to them (without the sidebar menu).</p> <p><strong>Your files should look like the ones in the <code class="filename">html</code> directory, in that they should have only your content, and not the menu bar hackery.</strong> The menu bar hackery gets added through the dark magic of Perl. If you want something added to the left-side menu, you have to ask One Of Us to do it.</p> <p>When adding or removing files, altering the <code class="filename">NOWRAP</code> file in any way, or—especially—editing either the root <code class="filename">index.html</code> or <code class="filename">news.html</code>, you <strong class="very-strong">must</strong> ensure that running <kbd class="command">gmake</kbd>/<kbd class="command">make</kbd> from the website root directory completes successfully. This will regenerate the Makefile to take into account the new files.</p> <p>If you do something that horks the <code class="command">make</code> process, then no new content can show up anywhere on mozilla.org until it is fixed. Breaking things in this way is therefore a fairly big deal, so don't do it. You wouldn't check in source code without making sure it compiled first, would you? Of course not. This is the same situation.</p> </div> <div class="section"> <h2><a name="access">CVS Access to the Website Tree</a></h2> <p>There are two CVS repositories, the primary at <code class="filename">cvs.mozilla.org</code> and a secondary, read only at <code class="filename">cvs-mirror.mozilla.org</code>. The primary CVS repository is accessed via <code>ssh</code>. (If you're accessing the mirror, use <code>pserver</code>.)</p> <div class="section"> <h3><a name="anonymous">For anonymous access</a></h3> <p>Set your <code>$CVSROOT</code> variable to</p> <pre>:pserver:anonymous@cvs-mirror.mozilla.org:/www</pre> <p>The password for <code>anonymous</code> is <kbd>anonymous</kbd>.</p> </div> <div class="section"> <h3><a name="account">For access using your CVS account</a></h3> <div class="para"> <p>Set your <code>$CVSROOT</code> variable to</p> <pre><var>your%address</var>@cvs.mozilla.org:/www</pre> <p>Where it says <var>your%address</var> above, you would substitute your canonical email address, but replacing the <code>@</code> character with <code>%</code>. For example, if your email address was <code>foo@bar.com</code> your <code>$CVSROOT</code> would be</p> <pre>foo%bar.com@cvs.mozilla.org:/www</pre> </div> </div> </div> <div class="section"> <h2><a name="checkout">Checking Out</a></h2> <p>Once <code>$CVSROOT</code> is set properly, you can check out the website. The entire tree is very large, so we suggest doing a checkout of the lowest-possible directory. For example, someone interested in Networking QA would probably check out just the /quality/networking directory: <pre><kbd>cvs -z3 co mozilla-org/html/quality/networking</kbd></pre> <p>The <code>-z3</code> is to compress things during transit.</p> <p>If you need to <a href="#build">build</a> the website, you also need to check out the ScriptBase module: <pre><kbd>cvs -z3 co ScriptBase</kbd></pre> <p>ScriptBase module is the smallest documentation module available and contains only the set of necessary scripts, the wrapper and a minimal set of docs<!--, including this one-->.</p> <p>The MozillaOrgTrim module checks out a partial version of the web site that's missing some of the larger pieces. The MozillaOrg module checks out the entire web site. For a complete list of modules type: <pre><kbd>cvs co -c</kbd></pre> </div> <div class="section"> <h2><a name="checkin">Checking In</a></h2> <p>You must <kbd>cvs add</kbd> before committing a new file, and you should follow all the other rules of good CVS hygiene as well, such as properly tagging binary files with <code>-kb</code> to avoid corruption, etc.</p> <p>In general, you are expected to behave responsibly, and to not modify files that you know nothing about. If you are not completely sure about what you are editing, opening a bug in "Documentation" and involving other well-informed contributors is a good idea.</p> <p>There are a few files (in particular, <code class="filename">mozilla-org/html/index.html</code> and <code>mozilla-org/html/news.html</code>) that are tightly controlled; any attempt to check in changes to these files will fail. If you really need to make a change and the system refuses you, send mail to <code>webmaster@mozilla.org</code>.</p> </div> <div class="section"> <h2><a name="doctor">Web-Based CVS Access with Doctor</a></h2> <p>If you do not have a CVS client or cannot use one, we have a webtool called <a href="https://web.archive.org/web/20071212095028/http://doctor.mozilla.org/">Doctor</a> which can be used to create and edit files. If you have an active CVS account, you can submit changes through Doctor. If you don't, you can still use Doctor to create a patch.</p> <p>To use Doctor to edit an existing page, click on the "Edit this Page" link at the bottom of the document or enter its path in the text field on Doctor's main page. The page's HTML will be presented in an editable text field. Make your edits, and hit "Review Changes". Your changes will appear in "diff" format. If you have CVS access, you can commit your changes right there. If you do not have CVS access, you can copy the diff to a text file, which you should submit as a patch in Bugzilla.</p> <p>To create a new page visit <a href="https://web.archive.org/web/20071212095028/http://doctor.mozilla.org/">http://doctor.mozilla.org</a>.</p> <p>Doctor is not recommended for people who already know or are willing to learn CVS.</p> </div> <div class="section"> <h2><a name="bonsai">Bonsai</a></h2> <p>You can query the website CVS record at <a href="https://web.archive.org/web/20071212095028/http://bonsai-www.mozilla.org/cvsqueryform.cgi">bonsai</a>.</p> </div> <div class="section"> <h2><a name="build">Building mozilla.org</a></h2> <p>To build mozilla.org you will need:</p> <ul> <li>CVS (to check out the sources) <li>Perl 5 <li>Template-Toolkit Perl module (2.13 or later) <li>DateManip Perl module <li>XML-Simple Perl module (needed to build front page) <li>GNU make </ul> <p>If you are planning to work with XML files on developer.mozilla.org, you will also need libxslt.</p> <div class="section"> <a name="mac"></a> <h3><a name="unix">Setting up a Unix or Mac OS X Build Environment</a></h3> <p>If you're running Unix/Linux, you should know where to get your packages from. The package names are usually <code>cvs</code>, <code>perl</code>, and <code>make</code>. If you're on Mac, you already have <code>perl</code>, and you can get <code>cvs</code> and <code>make</code> by installing the Developer Tools CD.</p> <p>The perl modules can be installed from CPAN with the following commands:</p> <pre>perl -MCPAN -e "install 'Template'" <!-- -->perl -MCPAN -e "install 'Date::Manip'" <!-- -->perl -MCPAN -e "install 'XML::Simple'"</pre> </div> <div class="section"> <h3><a name="windows">Setting up a Windows Build Environment</a></h3> <p>There are, of course, multiple routes to getting the appropriate tools installed. I used ActivePerl (it comes with nicer documentation), but I'm told Cygwin perl also works.</p> <ol> <li>Install <a href="https://web.archive.org/web/20071212095028/http://www.cygwin.com/">Cygwin</a> <ol> <li>When prompted to choose line endings, pick UNIX-style. <li>When prompted to choose packages, make sure that <code>cvs</code>, <code>patch</code>, and <code>make</code>, are selected for installation. (Select <code>libxslt</code> as well if you need it.) If you want to install Perl through Cygwin rather than ActivePerl, select the <code>perl</code> package, too. <li>Add the cygwin bin directory to your <code>PATH</code> environment variable. You can do this in the System dialog brought up by right-clicking My Computer (permanent, recommended) or by typing <kbd>set PATH=C:\path_to_cygwin\bin;%PATH%</kbd> at the command prompt (temporary, applies to that command session only). You also need to set a <code>TZ</code> environment variable to a time zone (such as <code>PST</code>) for the Date::Manip Perl module to work correctly. </ol> <li>If you didn't install Perl through Cygwin, install <a href="https://web.archive.org/web/20071212095028/http://www.activestate.com/Products/ActivePerl/">ActivePerl</a>, and tell it to add Perl to your <code>PATH</code> environment, too. <li>Install the Template-Toolkit, DateManip, and XML-Simple Perl modules: <li>If you have ActivePerl installed, you can install them with ppm: <ol> <li>Start the DOS command prompt <li>Type <kbd>ppm</kbd> and press Enter <li>Follow the setup instructions, if any. (Don't worry about them too much.) <li>Type the following commands into the ppm prompt: <pre class="screen"> <!-- -->ppm><kbd>install Template-Toolkit</kbd> <!-- -->ppm><kbd>install DateManip</kbd> <!-- -->ppm><kbd>install XML-Simple</kbd> <!-- -->ppm><kbd>quit</kbd> <!-- --></pre> </ol> If you installed perl via Cygwin instead of with ActivePerl, you can get the necessary perl modules from CPAN as on Unix: <ol> <li>Start the DOS command prompt <li>Type the following commands: <pre class="screen"> <!-- -->><kbd>perl -MCPAN -e "install 'Template'"</kbd> <!-- -->><kbd>perl -MCPAN -e "install 'Date::Manip'"</kbd> <!-- -->><kbd>perl -MCPAN -e "install 'XML::Simple'"</kbd> <!-- --></pre> Perl will run you through some setup configuration (same as ppm's) the first time you install a module. Follow the instructions, but don't worry about them too much. </ol> </ol> </div> <div class="section"> <h3><a name="command">The Build Command</a></h3> <p>To build the mozilla.org tree, cd into <code class="filename">mozilla-org</code> and run <kbd class="command">make</kbd>.</p> <p>If you can't run make, try running the <code class="filename">tools/munge.pl</code> script directly.</p> </div> </div> <hr class="hide"> </div> </div> <div id="footer"> <ul> <li><a href="/web/20071212095028/http://www.mozilla.org/sitemap.html">Site Map</a></li> <li><a href="/web/20071212095028/http://www.mozilla.org/security/">Security Updates</a></li> <li><a href="/web/20071212095028/http://www.mozilla.org/contact/">Contact Us</a></li> <li><a href="/web/20071212095028/http://www.mozilla.org/foundation/donate.html">Donate</a></li> </ul> <p class="copyright"> Portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a Creative Commons license | <a href="https://web.archive.org/web/20071212095028/http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>.</p> <p> <span>Last modified March 30, 2007</span> <span><a href="https://web.archive.org/web/20071212095028/http://bonsai-www.mozilla.org/cvslog.cgi?file=mozilla-org/html/contribute/writing/cvs.html&rev=&root=/www/">Document History</a></span> <span><a href="https://web.archive.org/web/20071212095028/https://doctor.mozilla.org/?action=edit&file=mozilla-org/html/contribute/writing/cvs.html">Edit this Page</a></span> <span>(or <a href="/web/20071212095028/http://www.mozilla.org/contribute/writing/cvs">via CVS</a>)</span> </p> </div> </div> </body> </html> <!-- FILE ARCHIVED ON 09:50:28 Dec 12, 2007 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 08:00:59 Dec 18, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.485 exclusion.robots: 0.031 exclusion.robots.policy: 0.022 esindex: 0.009 cdx.remote: 5.843 LoadShardBlock: 138.488 (3) PetaboxLoader3.datanode: 186.49 (4) load_resource: 123.473 PetaboxLoader3.resolve: 49.721 -->