You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-cvs@jakarta.apache.org by rd...@apache.org on 2003/09/02 00:58:45 UTC

cvs commit: jakarta-site2/xdocs/site convert-to-mirror.xml

rdonkin     2003/09/01 15:58:45

  Added:       docs/site convert-to-mirror.html
               xdocs/site convert-to-mirror.xml
  Log:
  Added some documentation to help subprojects switch to mirrored distributions.
  
  Revision  Changes    Path
  1.1                  jakarta-site2/docs/site/convert-to-mirror.html
  
  Index: convert-to-mirror.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  
  <!-- Content Stylesheet for Site -->
  
          
  <!-- start the processing -->
      <!-- ====================================================================== -->
      <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
      <!-- Main Page Section -->
      <!-- ====================================================================== -->
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  
                                                      <meta name="author" value="Robert Burrell Donkin">
              <meta name="email" value="general@jakarta.apache.org">
              
             
                                      
                          
              <title>The Jakarta Site - Converting A Sub Project To Mirror Releases</title>
          </head>
  
          <body bgcolor="#ffffff" text="#000000" link="#525D76">        
              <table border="0" width="100%" cellspacing="0">
                  <!-- TOP IMAGE -->
                  <tr>
                      <td colspan="2">
  <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" align="left" border="0"/></a>
  </td>
                  </tr>
              </table>
              <table border="0" width="100%" cellspacing="4">
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  
                  <tr>
                      <!-- LEFT SIDE NAVIGATION -->
                      <td width="20%" valign="top" nowrap="true">
                                  <p><strong>About Jakarta</strong></p>
          <ul>
                      <li>    <a href="../index.html">Welcome</a>
  </li>
                      <li>    <a href="http://www.apache.org/foundation/">About The ASF</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/news/index.html">News & Status</a>
  </li>
                      <li>    <a href="http://www.apache.org/">Apache Website</a>
  </li>
                      <li>    <a href="http://www.google.com/advanced_search?q=+site:jakarta.apache.org&hl=en&as_qdr=all">Search Jakarta</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/contact.html">Contacting Us</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/mission.html">Our Mission</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/whoweare.html">Who We Are</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/acknowledgements.html">Acknowledgements</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/legal.html">Legal</a>
  </li>
                  </ul>
              <p><strong>Reference</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/faqs.html">Our FAQs</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/vendors.html">Vendor Support</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/guidelines.html">Project Guidelines</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/newproject.html">New Subprojects</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/jakarta-site2.html">Website Maintenance</a>
  </li>
                      <li>    <a href="http://incubator.apache.org/drafts/glossary.html">ASF Glossary</a>
  </li>
                      <li>    <a href="http://www.apache.org/dev/">Developer Resources</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/jspa-position.html">Apache on the JSPA</a>
  </li>
                  </ul>
              <p><strong>Support</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/bugs.html">Bug Database</a>
  </li>
                      <li>    <a href="http://nagoya.apache.org/wiki">Wiki</a>
  </li>
                  </ul>
              <p><strong>Downloads</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/binindex.cgi">Binaries</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/sourceindex.cgi">Source Code</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repositories</a>
  </li>
                  </ul>
              <p><strong>Products</strong></p>
          <ul>
                      <li>    <a href="../alexandria/index.html">Alexandria</a>
  </li>
                      <li>    <a href="../bcel/index.html">BCEL</a>
  </li>
                      <li>    <a href="../bsf/index.html">BSF</a>
  </li>
                      <li>    <a href="../cactus/index.html">Cactus</a>
  </li>
                      <li>    <a href="../commons/index.html">Commons</a>
  </li>
                      <li>    <a href="../ecs/index.html">ECS</a>
  </li>
                      <li>    <a href="../gump/index.html">Gump</a>
  </li>
                      <li>    <a href="../jetspeed/index.html">Jetspeed</a>
  </li>
                      <li>    <a href="../jmeter/index.html">JMeter</a>
  </li>
                      <li>    <a href="../log4j/index.html">Log4J</a>
  </li>
                      <li>    <a href="../lucene/index.html">Lucene</a>
  </li>
                      <li>    <a href="../oro/index.html">ORO</a>
  </li>
                      <li>    <a href="../poi/index.html">POI</a>
  </li>
                      <li>    <a href="../regexp/index.html">Regexp</a>
  </li>
                      <li>    <a href="../slide/index.html">Slide</a>
  </li>
                      <li>    <a href="../struts/index.html">Struts</a>
  </li>
                      <li>    <a href="../taglibs/index.html">Taglibs</a>
  </li>
                      <li>    <a href="../tapestry/index.html">Tapestry</a>
  </li>
                      <li>    <a href="../tomcat/index.html">Tomcat</a>
  </li>
                      <li>    <a href="../turbine/index.html">Turbine</a>
  </li>
                      <li>    <a href="../velocity/index.html">Velocity</a>
  </li>
                      <li>    <a href="../watchdog/index.html">Watchdog</a>
  </li>
                  </ul>
              <p><strong>Related</strong></p>
          <ul>
                      <li>    <a href="http://ant.apache.org/">Ant</a>
  </li>
                      <li>    <a href="http://avalon.apache.org/">Avalon</a>
  </li>
                      <li>    <a href="http://cocoon.apache.org/">Cocoon</a>
  </li>
                      <li>    <a href="http://db.apache.org">DB</a>
  </li>
                      <li>    <a href="http://httpd.apache.org">HTTPD</a>
  </li>
                      <li>    <a href="http://james.apache.org/">James</a>
  </li>
                      <li>    <a href="http://maven.apache.org/">Maven</a>
  </li>
                      <li>    <a href="http://ws.apache.org/">Web Services</a>
  </li>
                      <li>    <a href="http://xml.apache.org">XML</a>
  </li>
                  </ul>
                          </td>
                      <td width="80%" align="left" valign="top">
                                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Step-By-Step Guide To Distributing Existing Releases Through The ASF Mirrors"><strong>Step-By-Step Guide To Distributing Existing Releases Through The ASF Mirrors</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Introduction"><strong>Introduction</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
  This is a guide to converting existing sub-projects to use the mirrors. This contains short step-by-step 
  instructions. It assumes that the releases already exist. You might like to consult 
  <a href="http://www.apache.org/dev/mirrors.html">the ASF mirroring guildlines</a> and
  <a href="http://cvs.apache.org/~bodewig/mirror.html">Stefan Bodewig's Step-By-Step Guide</a> to mirroring.
  
          </p>
                                                  <p>
  Only copy the most modern releases onto the mirrored directories. This helps to conserve disc space
  both on the ASF servers and on the mirrors. The others should be preserved through archive.apache.org.
  (More details on this once it has been jump started.)
          </p>
                                                  <p>
  Throughout the guide, the examples will consistently assume that the sub-project is called <code>xxx</code>
  with current release version <code>m.n</code>,
  that the Apache user is <code>rdonkin</code> who has karma for <code>www.apache.org</code>.
  It's also assume that the user is already in a suitable working directory.
  The examples are for *nix (anyone want to supply some instructions for windoz?)
          </p>
                                                  <p>
  The examples assume that <a href="http://www.gnupg.org/">gpg</a> is used for code signing.
  If you use pgp, then they'll need to be amended appropriately.
  They also use openssl for the md5 sums. md5sum (or any other sum generator) could be used instead.
          </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Instructions"><strong>Instructions</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <ol>
                  <li>
  <strong>Check that releases are not already mirrored.</strong> If the release url start with 
  <code>http://jakarta.apache.org/builds</code> then the release is not mirrored. If the release url 
  starts with <code>http://www.apache.org/dist/jakarta</code> then it is mirrored.
              </li>
                  <li>
  <strong>Gain approval from development team.</strong> This can be done through lazy consensus.
              </li>
                  <li>
  <strong>Log on</strong> to Minotaur:
  <code><pre>
  robert% ssh -l rdonkin www.apache.org
  </pre></code>
              </li>
                  <li>
  <strong>Move to existing distribution directory</strong> for current release:
  <code><pre>
  &gt; cd /www/jakarta.apache.org/builds/jakarta-xxx/release/vm.n/    
  </pre></code>
              </li>
                  <li>
  <strong>Tar up</strong> current release into home directory then log off:
  <code><pre>
  &gt; tar -czf ~/release.tar.gz .  
  &gt; exit
  </pre></code>
              </li>
                  <li>
  <strong>Download</strong> to local machine:
  <code><pre>
  robert% scp rdonkin@www.apache.org:~/release.tar.gz .
  </pre></code>
              </li>
                  <li>
  <strong>Sign releases</strong> - untar and then sign and create md5 sums for each releasable: 
  <code><pre>
  $ tar xzvf ~/release.tar.gz
  $ gpg --output jakarta-xxx-m.n.tgz.asc --detach-sig jakarta-xxx-m.n.tgz  You need a passphrase to unlock the secret key for
  user: "Robert Burrell Donkin (CODE SIGNING KEY) &lt;rdonkin@apache.org&gt;"
  1024-bit DSA key, ID B1313DE2, created 2003-01-15
  $ openssl md5 &lt; jakarta-xxx-m.n.tgz &gt; jakarta-xxx-m.n.tgz.md5
  </pre></code>
              </li>
                  <li>
  <strong>Test signatures and sums.</strong> If possible, test by verifying from second account and calculating sums using second method. For example:
  <code><pre>
  robert% gpg --verify jakarta-xxx-m.n.zip.asc jakarta-xxx-m.n.zip
  gpg: Signature made 09/01/03 21:31:21 BST using DSA key ID B1313DE2
  gpg: Good signature from "Robert Burrell Donkin (CODE SIGNING KEY) &lt;rdonkin@apache.org&gt;"
  </pre></code>
              </li>
                  <li>
  <strong>Tar then upload</strong> to Minotaur:
  <code><pre>
  $ tar czvf ~/release.tar.gz .
  [localhost:jakarta/release/xxx] robert% scp release.tar.gz rdonkin@www.apache.org:~/
  </pre></code>
              </li>
                  <li>
  <strong>Log on</strong> to Minotaur and change to the jakarta (mirrored) releases direcory
  <code><pre>
  % ssh -l rdonkin www.apache.org
  &gt; cd /www/www.apache.org/dist/jakarta/
  </pre></code>
              </li>
                  <li>
  <strong>Create product directory</strong> (if neccessary) then change to that directory. Create binaries and source directories. The directory structure should match the standard layout.
              </li>
              
                  <li>
  <strong>Untar releases</strong> and copy to appropriate subfolders
  <code><pre>
  &gt; tar xzfv ~/release.tar.gz .
  &gt; mv jakarta-xxx-m.n.src* source
  &gt; mv jakarta-xxx-m.n* binaries
  </pre></code>           
              </li>
                  <li>
  <strong>Relink</strong> current release links. It's a good idea to test these links now.
  <code><pre>
  &gt; rm jakarta-xxx-current-*
  &gt; ln -s source/jakarta-xxx-m.n.src.zip jakarta-xxx-current-src.zip
  &gt; ln -s source/jakarta-xxx-m.n.src.zip.asc jakarta-xxx-current-src.zip.asc
  &gt; ln -s source/jakarta-xxx-m.n.src.tgz jakarta-xxx-current-src.tgz
  &gt; ln -s source/jakarta-xxx-m.n.src.tgz.asc jakarta-xxx-current-src.tgz.asc
  &gt; ln -s binaries/jakarta-xxx-m.n.tgz jakarta-xxx-current-bin.tgz
  &gt; ln -s binaries/jakarta-xxx-m.n.tgz.asc jakarta-xxx-current-bin.tgz.asc
  &gt; ln -s binaries/jakarta-xxx-m.n.zip jakarta-xxx-current-bin.zip
  &gt; ln -s binaries/jakarta-xxx-m.n.zip.asc jakarta-xxx-current-bin.zip.asc            
  </pre></code>
              </li>
                  <li>
  <strong>Update KEYS</strong> file. Make sure that the key used to sign the releases is included in the KEYS
  file.                
              </li>
                  <li>
  <strong>Update websites</strong>. The main jakarta website project <code>jakarta-site2</code> contains 
  pages <code>xdocs/site/sourceindex.xml</code> and <code>xdocs/site/binindex.xml</code>. These pages
  contain reference to the release directories. These need updating to link to the mirrored directories 
  <code>http://www.apache.org/dist/jakarta/xxx/binaries/</code> and 
  <code>http://www.apache.org/dist/jakarta/xxx/source/</code>. 
  The product web site needs to be updated according as well.
              </li>
                  <li>
  <strong>Inform developers</strong> with a polite email to their list.                
              </li>
          </ol>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                          </td>
                  </tr>
  
                  <!-- FOOTER -->
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  <tr><td colspan="2">
                      <div align="center"><font color="#525D76" size="-1"><em>
                      Copyright &#169; 1999-2003, Apache Software Foundation
                      </em></font></div>
                  </td></tr>
              </table>
          </body>
      </html>
  <!-- end the processing -->
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1.1                  jakarta-site2/xdocs/site/convert-to-mirror.xml
  
  Index: convert-to-mirror.xml
  ===================================================================
  <?xml version="1.0"?>
  <document>
  
    <properties>
      <author email="general@jakarta.apache.org">Robert Burrell Donkin</author>
      <title>Converting A Sub Project To Mirror Releases</title>
    </properties>
  
  <body>
  
    <section name="Step-By-Step Guide To Distributing Existing Releases Through The ASF Mirrors">
          <subsection name='Introduction'>
              <p>
  This is a guide to converting existing sub-projects to use the mirrors. This contains short step-by-step 
  instructions. It assumes that the releases already exist. You might like to consult 
  <a href='http://www.apache.org/dev/mirrors.html'>the ASF mirroring guildlines</a> and
  <a href='http://cvs.apache.org/~bodewig/mirror.html'>Stefan Bodewig's Step-By-Step Guide</a> to mirroring.
  
          </p>
              <p>
  Only copy the most modern releases onto the mirrored directories. This helps to conserve disc space
  both on the ASF servers and on the mirrors. The others should be preserved through archive.apache.org.
  (More details on this once it has been jump started.)
          </p>
              <p>
  Throughout the guide, the examples will consistently assume that the sub-project is called <code>xxx</code>
  with current release version <code>m.n</code>,
  that the Apache user is <code>rdonkin</code> who has karma for <code>www.apache.org</code>.
  It's also assume that the user is already in a suitable working directory.
  The examples are for *nix (anyone want to supply some instructions for windoz?)
          </p>
              <p>
  The examples assume that <a href='http://www.gnupg.org/'>gpg</a> is used for code signing.
  If you use pgp, then they'll need to be amended appropriately.
  They also use openssl for the md5 sums. md5sum (or any other sum generator) could be used instead.
          </p>
      </subsection>
      
          <subsection name='Instructions'>
              <ol>
                  <li>
  <strong>Check that releases are not already mirrored.</strong> If the release url start with 
  <code>http://jakarta.apache.org/builds</code> then the release is not mirrored. If the release url 
  starts with <code>http://www.apache.org/dist/jakarta</code> then it is mirrored.
              </li>
                  <li>
  <strong>Gain approval from development team.</strong> This can be done through lazy consensus.
              </li>
                  <li>
  <strong>Log on</strong> to Minotaur:
  <code><pre>
  robert% ssh -l rdonkin www.apache.org
  </pre></code>
              </li>
                  <li>
  <strong>Move to existing distribution directory</strong> for current release:
  <code><pre>
  > cd /www/jakarta.apache.org/builds/jakarta-xxx/release/vm.n/    
  </pre></code>
              </li>
                  <li>
  <strong>Tar up</strong> current release into home directory then log off:
  <code><pre>
  > tar -czf ~/release.tar.gz .  
  > exit
  </pre></code>
              </li>
                  <li>
  <strong>Download</strong> to local machine:
  <code><pre>
  robert% scp rdonkin@www.apache.org:~/release.tar.gz .
  </pre></code>
              </li>
                  <li>
  <strong>Sign releases</strong> - untar and then sign and create md5 sums for each releasable: 
  <code><pre>
  $ tar xzvf ~/release.tar.gz
  $ gpg --output jakarta-xxx-m.n.tgz.asc --detach-sig jakarta-xxx-m.n.tgz  You need a passphrase to unlock the secret key for
  user: "Robert Burrell Donkin (CODE SIGNING KEY) &lt;rdonkin@apache.org&gt;"
  1024-bit DSA key, ID B1313DE2, created 2003-01-15
  $ openssl md5 &lt; jakarta-xxx-m.n.tgz &gt; jakarta-xxx-m.n.tgz.md5
  </pre></code>
              </li>
                  <li>
  <strong>Test signatures and sums.</strong> If possible, test by verifying from second account and calculating sums using second method. For example:
  <code><pre>
  robert% gpg --verify jakarta-xxx-m.n.zip.asc jakarta-xxx-m.n.zip
  gpg: Signature made 09/01/03 21:31:21 BST using DSA key ID B1313DE2
  gpg: Good signature from "Robert Burrell Donkin (CODE SIGNING KEY) &lt;rdonkin@apache.org&gt;"
  </pre></code>
              </li>
                  <li>
  <strong>Tar then upload</strong> to Minotaur:
  <code><pre>
  $ tar czvf ~/release.tar.gz .
  [localhost:jakarta/release/xxx] robert% scp release.tar.gz rdonkin@www.apache.org:~/
  </pre></code>
              </li>
                  <li>
  <strong>Log on</strong> to Minotaur and change to the jakarta (mirrored) releases direcory
  <code><pre>
  % ssh -l rdonkin www.apache.org
  > cd /www/www.apache.org/dist/jakarta/
  </pre></code>
              </li>
                  <li>
  <strong>Create product directory</strong> (if neccessary) then change to that directory. Create binaries and source directories. The directory structure should match the standard layout.
              </li>
              
                  <li>
  <strong>Untar releases</strong> and copy to appropriate subfolders
  <code><pre>
  > tar xzfv ~/release.tar.gz .
  > mv jakarta-xxx-m.n.src* source
  > mv jakarta-xxx-m.n* binaries
  </pre></code>           
              </li>
                  <li>
  <strong>Relink</strong> current release links. It's a good idea to test these links now.
  <code><pre>
  > rm jakarta-xxx-current-*
  > ln -s source/jakarta-xxx-m.n.src.zip jakarta-xxx-current-src.zip
  > ln -s source/jakarta-xxx-m.n.src.zip.asc jakarta-xxx-current-src.zip.asc
  > ln -s source/jakarta-xxx-m.n.src.tgz jakarta-xxx-current-src.tgz
  > ln -s source/jakarta-xxx-m.n.src.tgz.asc jakarta-xxx-current-src.tgz.asc
  > ln -s binaries/jakarta-xxx-m.n.tgz jakarta-xxx-current-bin.tgz
  > ln -s binaries/jakarta-xxx-m.n.tgz.asc jakarta-xxx-current-bin.tgz.asc
  > ln -s binaries/jakarta-xxx-m.n.zip jakarta-xxx-current-bin.zip
  > ln -s binaries/jakarta-xxx-m.n.zip.asc jakarta-xxx-current-bin.zip.asc            
  </pre></code>
              </li>
                  <li>
  <strong>Update KEYS</strong> file. Make sure that the key used to sign the releases is included in the KEYS
  file.                
              </li>
                  <li>
  <strong>Update websites</strong>. The main jakarta website project <code>jakarta-site2</code> contains 
  pages <code>xdocs/site/sourceindex.xml</code> and <code>xdocs/site/binindex.xml</code>. These pages
  contain reference to the release directories. These need updating to link to the mirrored directories 
  <code>http://www.apache.org/dist/jakarta/xxx/binaries/</code> and 
  <code>http://www.apache.org/dist/jakarta/xxx/source/</code>. 
  The product web site needs to be updated according as well.
              </li>
                  <li>
  <strong>Inform developers</strong> with a polite email to their list.                
              </li>
          </ol>
      </subsection>
  
   </section>
  
   </body>
  </document>