coar 99/08/10 08:37:17
Modified: . how-to-release.html Log: Fix the directory references to reflect Taz's new layout, and add the bit about fixing the FAQ -- expand.pl doesn't know how to deal with the QUERY_STRING aspects of the multi-part inclusion. Revision Changes Path 1.57 +97 -87 apache-devsite/how-to-release.html Index: how-to-release.html =================================================================== RCS file: /home/cvs/apache-devsite/how-to-release.html,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- how-to-release.html 1999/03/06 19:24:46 1.56 +++ how-to-release.html 1999/08/10 15:37:16 1.57 @@ -20,7 +20,8 @@ <H1>How to build a release of Apache</H1> Alexei Kosut <[EMAIL PROTECTED]><BR> Ralf S. Engelschall <[EMAIL PROTECTED]><BR> -Jim Jagielski <[EMAIL PROTECTED]> +Jim Jagielski <[EMAIL PROTECTED]><br> +Ken Coar <[EMAIL PROTECTED]> </DIV> <BLOCKQUOTE> @@ -41,13 +42,13 @@ <P>Once a release is built (<A HREF="#tarball">see below</A>), it is time to announce it to the world. Ideally, the Announcement -should be composed and committed <STRONG>before</STRONG> the +should be composed and committed <B>before</B> the Release is actually built. So we describe these steps at the beginning. <OL> <HR> - <STRONG>[ Adjusting Announcement to taste ]</STRONG><BR> + <B>[ Adjusting Announcement to taste ]</B><BR> <P> <LI>A prototype <CODE>Announcement</CODE> is included in the main CVS source tree. This file should be updated @@ -55,25 +56,25 @@ release. For example, the Release Version should reflect what is actually being announced. Also, the key enhancements of the Release should be noted.<BR> - <CODE><STRONG>$ cvs checkout apache-1.<EM>X</EM>/Announcement</STRONG></CODE><BR> - <CODE><STRONG>$ cd apache-1.<EM>X</EM></STRONG></CODE><BR> - <CODE><STRONG>$ vi Announcement</STRONG></CODE><BR> - <CODE><STRONG>$ cvs commit Announcement</STRONG></CODE><BR> - <CODE><STRONG>$ cd ..</STRONG></CODE><BR> - <CODE><STRONG>$ cvs release -d apache-1.<EM>X</EM></STRONG></CODE> + <CODE><B>$ cvs checkout apache-1.<EM>X</EM>/Announcement</B></CODE><BR> + <CODE><B>$ cd apache-1.<EM>X</EM></B></CODE><BR> + <CODE><B>$ vi Announcement</B></CODE><BR> + <CODE><B>$ cvs commit Announcement</B></CODE><BR> + <CODE><B>$ cd ..</B></CODE><BR> + <CODE><B>$ cvs release -d apache-1.<EM>X</EM></B></CODE> <P> - <STRONG>Note:</STRONG> This document is also present in the + <B>Note:</B> This document is also present in the <CODE>apache-site/dist/</CODE> directory, both in HTML and plain text form. You may want to create one version out of the other. <P> <HR> - <STRONG>[ Building the source release ]</STRONG><BR> + <B>[ Building the source release ]</B><BR> <P> <LI>First, build the source release (<A HREF="#tarball">see below</A>) if not already done. <P> <HR> - <STRONG>[ Posting the Announcement ]</STRONG><BR> + <B>[ Posting the Announcement ]</B><BR> <P> <LI>Once the tarball is built, give the mirrors a good 24 hours to get up to sync. This is really important if this this @@ -88,7 +89,7 @@ <LI><CODE>comp.infosystems.www.servers.misc</CODE> <LI><CODE>de.comm.infosystems.www.servers</CODE> </UL> - <LI>Moderated UseNet newsgroups (do <STRONG>not</STRONG> crosspost) + <LI>Moderated UseNet newsgroups (do <B>not</B> crosspost) <UL> <LI><CODE>comp.infosystems.www.announce</CODE> </UL> @@ -117,7 +118,7 @@ will be noted. <P><FONT COLOR="red">Important:</FONT> Once tagged and the tarball -is rolled, there is <STRONG>no going back</STRONG>. If there are +is rolled, there is <B>no going back</B>. If there are problems with the tarball, the version number (either the rev-level or beta-level) <EM>must</EM> be bumped resulting in a new tag, tarball and release. @@ -125,14 +126,14 @@ <OL> <HR> <LI> Checkout the Apache source if needed into a scratch directory:<BR> - <CODE><STRONG>$ cvs checkout apache-1.<EM>X</EM></STRONG></CODE> + <CODE><B>$ cvs checkout apache-1.<EM>X</EM></B></CODE> <P> <LI> cd into the <CODE>apache-1.<EM>X</EM></CODE> CVS tree.<BR> - <CODE><STRONG>$ cd apache-1.<EM>X</EM></STRONG></CODE> + <CODE><B>$ cd apache-1.<EM>X</EM></B></CODE> <P> <HR> -<STRONG>[ Only for final releases, not for internal pre-releases ]</STRONG><BR> +<B>[ Only for final releases, not for internal pre-releases ]</B><BR> <P> <LI> Change <CODE>SERVER_VERSION</CODE> in <TT>src/include/httpd.h</TT> from ``<CODE>Apache/1.<EM>X.Y</EM>-dev</CODE>'' to @@ -146,9 +147,9 @@ <CODE>VERSION</CODE> from <CODE>"1.<EM>X.Y</EM> dev"</CODE> to the string <CODE>"1.<EM>X.Y</EM>"</CODE>. <BR> - <CODE><STRONG>$ vi src/include/httpd.h</STRONG></CODE><BR> - <CODE><STRONG>$ vi src/os/win32/registry.c</STRONG></CODE><BR> - <CODE><STRONG>$ cvs commit src/include/httpd.h src/os/win32/registry.c</STRONG></CODE> + <CODE><B>$ vi src/include/httpd.h</B></CODE><BR> + <CODE><B>$ vi src/os/win32/registry.c</B></CODE><BR> + <CODE><B>$ cvs commit src/include/httpd.h src/os/win32/registry.c</B></CODE> <P> <LI> Make sure your PGP keys are already present in the <CODE>KEYS</CODE> file. If they are not, extract your public key using the @@ -157,102 +158,111 @@ <P> <LI> Tag the sources for this release:<BR> (<EM>note: be sure to tag the whole thing, not just <CODE>src</CODE></EM>!)<BR> - <CODE><STRONG>$ cvs tag APACHE_1_<EM>X_Y</EM></STRONG></CODE> + <CODE><B>$ cvs tag APACHE_1_<EM>X_Y</EM></B></CODE> <P> <HR> -<STRONG>[ For all releases ]</STRONG><BR> +<B>[ For all releases ]</B><BR> <P> <LI> Make an export version of the distribution: (this creates a second subdirectory <CODE>apache-1.<EM>X.Y</EM></CODE> for the exported version beside the existing CVS tree in <CODE>apache-1.<EM>X</EM></CODE>)<BR> - <CODE><STRONG>$ cd ..</STRONG></CODE><BR> - <CODE><STRONG>$ umask 022</STRONG></CODE><BR> - <CODE><STRONG>$ cvs export -r APACHE_1_<EM>X_Y</EM> -d apache_1.<EM>X.Y</EM> apache-1.<EM>X</EM></STRONG></CODE><BR> - <CODE><STRONG>$ cd apache_1.<EM>X.Y</EM></STRONG></CODE><BR> + <CODE><B>$ cd ..</B></CODE><BR> + <CODE><B>$ umask 022</B></CODE><BR> + <CODE><B>$ cvs export -r APACHE_1_<EM>X_Y</EM> -d apache_1.<EM>X.Y</EM> apache-1.<EM>X</EM></B></CODE><BR> + <CODE><B>$ cd apache_1.<EM>X.Y</EM></B></CODE><BR> <UL> <LI><FONT COLOR="red">Note:</FONT> There is a known problem using <CODE>cvs export</CODE> remotely with <CODE>cvs-1.9</CODE> and later. If this affects you, you will need to do a checkout instead:<BR> - <CODE><STRONG>$ umask 022</STRONG></CODE><BR> - <CODE><STRONG>$ cvs checkout -r APACHE_1_<EM>X_Y</EM> -d apache_1.<EM>X.Y</EM> apache-1.<EM>X</EM></STRONG></CODE><BR> - <CODE><STRONG>$ cd apache_1.<EM>X.Y</EM></STRONG></CODE><BR> + <CODE><B>$ umask 022</B></CODE><BR> + <CODE><B>$ cvs checkout -r APACHE_1_<EM>X_Y</EM> -d apache_1.<EM>X.Y</EM> apache-1.<EM>X</EM></B></CODE><BR> + <CODE><B>$ cd apache_1.<EM>X.Y</EM></B></CODE><BR> </UL> <P> +<LI> Make sure the master site's FAQ is up-to-date:<br> + <code><b>$ (cd /www/apache.org/docs/misc ; cvs update)</b></code> +<p> +<li> Extract the FAQ as a single file, as it appears on the Web:<br> + <code><b>$ lynx -source http://www.apache.org/docs/misc/FAQ.html + > htdocs/misc/FAQ.html</b></code> +<p> <LI> Create <CODE>src/Configuration</CODE> file:<BR> - <CODE><STRONG>$ cp src/Configuration.tmpl src/Configuration</STRONG></CODE> + <CODE><B>$ cp src/Configuration.tmpl src/Configuration</B></CODE> <P> <LI> Remove <CODE>STATUS</CODE>, <CODE>RULES.CVS</CODE>, - <CODE>src/INDENT</CODE>, various <CODE>.cvsignore</CODE> and + <CODE>src/INDENT</CODE>, the multi-part FAQ, various + <CODE>.cvsignore</CODE> and the developer's test subdirectories:<BR> - <CODE><STRONG>$ rm STATUS RULES.CVS src/INDENT</STRONG></CODE><BR> - <CODE><STRONG>$ find . -name ".cvsignore" -exec rm {} \;</STRONG></CODE><BR> - <CODE><STRONG>$ rm -rf src/test src/modules/test</STRONG></CODE> + <CODE><B>$ rm STATUS RULES.CVS src/INDENT + htdocs/manual/misc/FAQ-*.html</B></CODE><BR> + <CODE><B>$ find . -name ".cvsignore" -exec rm {} \;</B></CODE><BR> + <CODE><B>$ rm -rf src/test src/modules/test</B></CODE> <UL> <LI><FONT COLOR="red">Note:</FONT> If you needed to do a <CODE>checkout</CODE> instead of a <CODE>export</CODE>, you will also need to remove the CVS administrative files:<BR> - <CODE><STRONG>$ find . -type d -name "CVS" -exec rm -rf {} \;</STRONG></CODE> + <CODE><B>$ find . -type d -name "CVS" -exec rm -rf {} \;</B></CODE> </UL> <P> <LI> Expand the Server-Side-Include directives in the manual:<BR> - <CODE><STRONG>$ cd htdocs/manual</STRONG></CODE><BR> - <CODE><STRONG>$ ./expand.pl</STRONG></CODE><BR> - <CODE><STRONG>$ rm ./expand.pl</STRONG></CODE><BR> - <CODE><STRONG>$ cd ../../..</STRONG></CODE> + <CODE><B>$ cd htdocs/manual</B></CODE><BR> + <CODE><B>$ ./expand.pl</B></CODE><BR> + <CODE><B>$ rm ./expand.pl</B></CODE><BR> + <CODE><B>$ cd ../../..</B></CODE> <P> <LI> Roll the distribution tarball:<BR> - <CODE><STRONG>$ tar cvf apache_1.<EM>X.Y</EM>.tar apache_1.<EM>X.Y</EM></STRONG></CODE><BR> + <CODE><B>$ tar cvf apache_1.<EM>X.Y</EM>.tar apache_1.<EM>X.Y</EM></B></CODE><BR> <P> <LI> Make the final packed distribution files:<BR> - <CODE><STRONG>$ cp -p apache_1.<EM>X.Y</EM>.tar xapache_1.<EM>X.Y</EM>.tar</STRONG></CODE><BR> - <CODE><STRONG>$ gzip -9 apache_1.<EM>X.Y</EM>.tar</STRONG></CODE><BR> - <CODE><STRONG>$ mv xapache_1.<EM>X.Y</EM>.tar apache_1.<EM>X.Y</EM>.tar</STRONG></CODE><BR> - <CODE><STRONG>$ compress apache_1.<EM>X.Y</EM>.tar</STRONG></CODE><BR> + <CODE><B>$ cp -p apache_1.<EM>X.Y</EM>.tar xapache_1.<EM>X.Y</EM>.tar</B></CODE><BR> + <CODE><B>$ gzip -9 apache_1.<EM>X.Y</EM>.tar</B></CODE><BR> + <CODE><B>$ mv xapache_1.<EM>X.Y</EM>.tar apache_1.<EM>X.Y</EM>.tar</B></CODE><BR> + <CODE><B>$ compress apache_1.<EM>X.Y</EM>.tar</B></CODE><BR> <P> <LI> Test the packed tar files and check for errors:<BR> - <CODE><STRONG>$ gunzip -c apache_1.<EM>X.Y</EM>.tar.gz | tar tvf -</STRONG></CODE><BR> - <CODE><STRONG>$ zcat apache_1.<EM>X.Y</EM>.tar.Z | tar tvf -</STRONG></CODE><BR> + <CODE><B>$ gunzip -c apache_1.<EM>X.Y</EM>.tar.gz | tar tvf -</B></CODE><BR> + <CODE><B>$ zcat apache_1.<EM>X.Y</EM>.tar.Z | tar tvf -</B></CODE><BR> <P> <LI> Sign the distribution files:<BR> - <CODE><STRONG>$ pgp -sba apache_1.<EM>X.Y</EM>.tar.gz</STRONG></CODE><BR> - <CODE><STRONG>$ pgp -sba apache_1.<EM>X.Y</EM>.tar.Z</STRONG></CODE><BR> + <CODE><B>$ pgp -sba apache_1.<EM>X.Y</EM>.tar.gz</B></CODE><BR> + <CODE><B>$ pgp -sba apache_1.<EM>X.Y</EM>.tar.Z</B></CODE><BR> <UL> <LI><FONT COLOR="red">Note:</FONT> Be sure your PGP key is already in the <CODE>KEYS</CODE> file!<BR> </UL> <P> <LI> Test the tarball signatures:<BR> - <CODE><STRONG>$ pgp apache_1.<EM>X.Y</EM>.tar.gz.asc apache_1.<EM>X.Y</EM>.tar.gz</STRONG></CODE><BR> - <CODE><STRONG>$ pgp apache_1.<EM>X.Y</EM>.tar.Z.asc apache_1.<EM>X.Y</EM>.tar.Z</STRONG></CODE><BR> + <CODE><B>$ pgp apache_1.<EM>X.Y</EM>.tar.gz.asc apache_1.<EM>X.Y</EM>.tar.gz</B></CODE><BR> + <CODE><B>$ pgp apache_1.<EM>X.Y</EM>.tar.Z.asc apache_1.<EM>X.Y</EM>.tar.Z</B></CODE><BR> <P> <LI> Remember the CHANGES file:<BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>/src/CHANGES .</STRONG></CODE> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>/src/CHANGES .</B></CODE> <P> <LI> Cleanup:<BR>(this deletes the export tree: it is now no longer required. We still need the CVS tree, see below)<BR> - <CODE><STRONG>$ rm -fr apache_1.<EM>X.Y</EM></STRONG></CODE> + <CODE><B>$ rm -fr apache_1.<EM>X.Y</EM></B></CODE> <P> <LI> Make the tarball available for testing purposes (in <A HREF="http://dev.apache.org/dist/">http://dev.apache.org/dist/</A>):<BR> - <CODE><STRONG>$ chmod 664 CHANGES apache_1.<EM>X.Y</EM>.tar.*</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.gz /pub/httpd/dist/</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.gz.asc /pub/httpd/dist/</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.Z /pub/httpd/dist/</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.Z.asc /pub/httpd/dist/</STRONG></CODE><BR> - <CODE><STRONG>$ chmod g+w /pub/httpd/dist/apache_1.<EM>X.Y</EM>.tar.*</STRONG></CODE><BR> + <CODE><B>$ chmod 664 CHANGES apache_1.<EM>X.Y</EM>.tar.*</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.gz /www/dev.apache.org/dist/</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.gz.asc /www/dev.apache.org/dist/</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.Z /www/dev.apache.org/dist/</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.Z.asc /www/dev.apache.org/dist/</B></CODE><BR> + <CODE><B>$ chmod g+w /www/dev.apache.org/dist/apache_1.<EM>X.Y</EM>.tar.*</B></CODE><BR> <UL> <LI><FONT COLOR="red">Note:</FONT> If rolling the tarball remotely, you should use <CODE>scp</CODE> to place them - in <CODE>dev.apache.org</CODE> in the <CODE>/pub/httpd/dist</CODE> + in <CODE>dev.apache.org</CODE> in the <CODE>/www/dev.apache.org/dist</CODE> directory. </UL> <P> <HR> -<STRONG>[ Only for final releases, not for internal pre-releases ]</STRONG><BR> +<B>[ Only for final releases, not for internal pre-releases ]</B><BR> <P> <LI> cd back into the CVS tree location.<BR> - <CODE><STRONG>$ cd apache-1.<EM>X</EM></STRONG></CODE> + <CODE><B>$ cd apache-1.<EM>X</EM></B></CODE> <P> <LI> Change <CODE>SERVER_VERSION</CODE> in <CODE>src/include/httpd.h</CODE> from ``<CODE>Apache/1.<EM>X.Y</EM></CODE>'' to @@ -272,25 +282,25 @@ ``<CODE>Changes with Apache 1.<EM>X.(Y+1)</EM>:</CODE>'' to the head of the <SAMP>src/CHANGES</SAMP> file for the forthcoming fixes in the new version.<BR> - <CODE><STRONG>$ vi src/include/httpd.h \<BR> + <CODE><B>$ vi src/include/httpd.h \<BR> src/os/win32/registry.c \<BR> src/Configure \<BR> - src/CHANGES</STRONG></CODE><BR> - <CODE><STRONG>$ cvs commit src/include/httpd.h \<BR> + src/CHANGES</B></CODE><BR> + <CODE><B>$ cvs commit src/include/httpd.h \<BR> src/os/win32/registry.c \<BR> src/Configure \<BR> - src/CHANGES</STRONG></CODE><BR> - <CODE><STRONG>$ cd ..</STRONG></CODE><BR> + src/CHANGES</B></CODE><BR> + <CODE><B>$ cd ..</B></CODE><BR> <P> <HR> <LI> Cleanup:<BR> (delete the CVS tree, after verification that it does not contain any uncommitted changes)<BR> - <CODE><STRONG>$ cvs release -d apache-1.<EM>X</EM></STRONG></CODE> + <CODE><B>$ cvs release -d apache-1.<EM>X</EM></B></CODE> <P> -<STRONG>[ Now wait for the group to test and approve the tarball ]</STRONG> +<B>[ Now wait for the group to test and approve the tarball ]</B> <HR> -<STRONG>[ Final release steps <U>after</U> the group has approved the tarball ]</STRONG><BR> +<B>[ Final release steps <U>after</U> the group has approved the tarball ]</B><BR> <P> <EM><FONT COLOR="red">Note:</FONT> Do not continue with the rest of @@ -299,15 +309,15 @@ <P> <LI> Make the distribution available (in <A HREF="http://www.apache.org/dist/">http://www.apache.org/dist/</A>):<BR> - <CODE><STRONG>$ cp CHANGES /pub/apache/dist/CHANGES_1.<EM>X</EM></STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.gz /pub/apache/dist</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.gz.asc /pub/apache/dist</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.Z /pub/apache/dist</STRONG></CODE><BR> - <CODE><STRONG>$ cp apache_1.<EM>X.Y</EM>.tar.Z.asc /pub/apache/dist</STRONG></CODE><BR> + <CODE><B>$ cp CHANGES /www/apache.org/dist/CHANGES_1.<EM>X</EM></B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.gz /www/apache.org/dist</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.gz.asc /www/apache.org/dist</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.Z /www/apache.org/dist</B></CODE><BR> + <CODE><B>$ cp apache_1.<EM>X.Y</EM>.tar.Z.asc /www/apache.org/dist</B></CODE><BR> <UL> <LI><FONT COLOR="red">Note:</FONT> If rolling the tarball remotely, you should use <CODE>scp</CODE> to place them - in <CODE>dev.apache.org</CODE> in the <CODE>/pub/apache/dist</CODE> + in <CODE>dev.apache.org</CODE> in the <CODE>/www/apache.org/dist/</CODE> directory. </UL> If the Win32 binary is already built and tested at this point, @@ -315,10 +325,10 @@ <CODE>binaries/win32/</CODE> directory. <P> <LI> Checkout the Apache site if needed into a scratch directory:<BR> - <CODE><STRONG>$ cvs checkout apache-site</STRONG></CODE> + <CODE><B>$ cvs checkout apache-site</B></CODE> <P> <LI> cd into the <CODE>apache-site</CODE> CVS tree.<BR> - <CODE><STRONG>$ cd apache-site</STRONG></CODE> + <CODE><B>$ cd apache-site</B></CODE> <P> <LI> Edit the files <A HREF="http://www.apache.org/dist/README.html"><CODE>README.html</CODE></A> as well as @@ -330,34 +340,34 @@ as required (all in the <A HREF="http://www.apache.org/dist/"><CODE>./dist</CODE></A> subdirectory):<BR> - <CODE><STRONG>$ vi dist/README.html \<BR> + <CODE><B>$ vi dist/README.html \<BR> dist/Announcement.html \<BR> dist/Announcement.txt \<BR> - dist/.htaccess</STRONG></CODE><BR> + dist/.htaccess</B></CODE><BR> <P> <LI> Edit the Apache <CODE>index.html</CODE> from <CODE>apache-site</CODE> CVS tree as required:<BR> - <CODE><STRONG>$ vi index.html</STRONG></CODE><BR> + <CODE><B>$ vi index.html</B></CODE><BR> <P> <LI> Commit the changes:<BR> - <CODE><STRONG>$ cvs commit index.html \<BR> + <CODE><B>$ cvs commit index.html \<BR> dist/README.html \<BR> dist/Announcement.html \<BR> dist/Announcement.txt \<BR> - dist/.htaccess</STRONG></CODE> + dist/.htaccess</B></CODE> <P> <LI> Update the checked-out versions of the <CODE>apache-site</CODE> documents for the web server:<BR> - <CODE><STRONG>$ umask 002</STRONG></CODE><BR> - <CODE><STRONG>$ cd /pub/apache/</STRONG></CODE><BR> - <CODE><STRONG>$ cvs update index.html \<BR> + <CODE><B>$ umask 002</B></CODE><BR> + <CODE><B>$ cd /www/apache.org/</B></CODE><BR> + <CODE><B>$ cvs update index.html \<BR> dist/README.html \<BR> dist/Announcement.html \<BR> dist/Announcement.txt \<BR> - dist/.htaccess</STRONG></CODE> + dist/.htaccess</B></CODE> <P> <LI> Create an empty directory for future patches:<BR> - <CODE><STRONG>$ mkdir patches/apply_to_1.<EM>X.Y</EM></STRONG></CODE> + <CODE><B>$ mkdir patches/apply_to_1.<EM>X.Y</EM></B></CODE> </OL> <P>