[BACK]Return to stable.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/stable.html, Revision 1.22

1.22    ! nick        1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1.1       jason       2: <html>
                      3: <head>
                      4: <title>OpenBSD Patch Branches</title>
1.22    ! nick        5: <link rev=made href="mailto:www@openbsd.org">
1.1       jason       6: <meta name="resource-type" content="document">
                      7: <meta name="description" content="stable">
                      8: <meta name="keywords" content="openbsd,anoncvs,updates,stable">
                      9: <meta name="distribution" content="global">
1.21      steven     10: <meta name="copyright" content="This document copyright 1996-2006 by OpenBSD.">
1.22    ! nick       11: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
1.1       jason      12: </head>
                     13:
1.22    ! nick       14: <body bgcolor="#ffffff" text="#000000">
        !            15: <!-- Passes validator.w3.org, please keep it this way;
        !            16: please, use a max of 72 chars per line -->
1.1       jason      17:
1.19      nick       18: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
1.1       jason      19: <p>
1.22    ! nick       20: <h2><font color="#e00000">Patch Branches</font></h2>
        !            21: <hr>
1.1       jason      22:
                     23: <p>
1.22    ! nick       24: <h3>Table Of Contents</h3>
        !            25: <ul>
1.19      nick       26: <li><a href="#whatis">What is the patch branch?</a>
                     27: <li><a href="#getting">Getting the patch branch</a>
                     28: <li><a href="#building">Building from the patch branch</a>
1.1       jason      29: </ul>
                     30: <hr>
                     31:
                     32: <a name="whatis"></a>
1.22    ! nick       33: <h3><font color="#0000e0">What is the patch branch?</font></h3>
1.1       jason      34:
                     35: <p>
1.19      nick       36: Starting with 2.7, OpenBSD provides a source tree that contains
                     37: important patches and fixes (i.e. those from the
                     38: <a href="errata.html">errata</a> plus others which are obvious and simple,
                     39: but do not deserve an errata entry)
                     40: and makes it available via <a href="anoncvs.html">CVS</a> in addition to the
                     41: current source.  Thus, users can choose three options :<p>
1.4       deraadt    42: <ul>
1.19      nick       43: <li>Stick with our latest release and apply the patches by hand.
                     44: <li>Use the <b>patch branch</b> which has the most important patches applied.
                     45: <li>Use <b>current source</b> for all of the latest features.
1.4       deraadt    46: </ul>
                     47: <p>
1.19      nick       48: <!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things)
                     49: which post-release changes have made it into the patch branch. -->
                     50: As a general principle, all
                     51: <a href="errata.html">Errata</a> entries will be merged into the patch
                     52: branch within 48 hours of when an errata is published.  Other post release
                     53: patches may be merged in as well, subject to a number of conditions:
1.4       deraadt    54: <ul>
1.19      nick       55: <li>The patches must be simple, short, and obviously 100% correct.
                     56: <li>Errata entries are made for bugs which affect many people.  Other
                     57:     patches may be merged into the patch branch if they affect a few
                     58:     people in drastic ways.
                     59: <li>Please do not ask for large subsystems or patches to be merged.
                     60:     Maintaining the patch tree takes a lot of effort which could be
                     61:     better spent on making our next release better.
                     62: <li>As an exception to the above rules, OpenSSH release versions will be
                     63:     merged into the patch branch.
1.4       deraadt    64: </ul>
                     65: <p>
1.1       jason      66:
                     67: <a name="getting"></a>
1.22    ! nick       68: <h3><font color="#0000e0">Getting a stable branch</font></h3>
1.1       jason      69:
                     70: <p>
1.19      nick       71: To obtain the patch branch for a particular release of OpenBSD, you
                     72: can update on top of a pre-existing source tree
                     73: (from <a href="ftp.html">FTP</a> or the <a href="orders.html">CD</a>)
                     74: or you can grab the source tree freshly from
                     75: an <a href="anoncvs.html">AnonCVS</a> server.
                     76: Instructions for getting the patch branch and staying up to date are
                     77: described in the <b>Getting Started</b> section of the
                     78: <a href="anoncvs.html#starting">AnonCVS documentation</a>.
                     79: Note that patch branches do not help to upgrade from one release of
1.21      steven     80: OpenBSD to another, e.g. to go from 3.9 to 4.0.  They only provide
1.19      nick       81: a means for staying up to date with the patches within a given release.
                     82: If you are trying to go from one release to another via source, please visit
1.21      steven     83: the <a href="faq/upgrade40.html">upgrade guide</a>.
1.19      nick       84: Also, you cannot go backwards, from -current back to -stable, because of
                     85: library versioning problems.
1.1       jason      86:
                     87: <a name="building"></a>
1.22    ! nick       88: <h3><font color="#0000e0">Building from an OpenBSD patch branch</font></h3>
1.19      nick       89: Once you have obtained a source tree via <a href="anoncvs.html">anoncvs</a>,
                     90: you must rebuild the system.  The stages for doing so are:
1.1       jason      91:
                     92: <ul>
1.19      nick       93:  <li>Rebuild the kernel
                     94:  <li>Reboot with the new kernel
                     95:  <li>Rebuild the binaries
1.1       jason      96: </ul>
                     97:
1.22    ! nick       98: <h4><font color="#0000e0">Rebuilding the kernel</font></h4>
1.1       jason      99:
                    100: <p>
1.19      nick      101: To rebuild the default kernel from stable:
1.22    ! nick      102: <blockquote><pre>
1.3       ericj     103: # <strong>cd /usr/src/sys/arch/i386/conf</strong>
                    104: # <strong>/usr/sbin/config GENERIC</strong>
                    105: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
                    106: # <strong>make clean &amp;&amp; make depend &amp;&amp; make</strong>
1.22    ! nick      107: </pre></blockquote>
1.1       jason     108:
                    109: <p>
1.19      nick      110: Replace <i>i386</i> with your architecture, e.g.
                    111: <i>sparc</i>, <i>alpha</i>, etc.
1.1       jason     112:
1.22    ! nick      113: <h4><font color="#0000e0">Rebooting with the new kernel</font></h4>
1.1       jason     114:
                    115: <p>
1.19      nick      116: To reboot with the newly compiled kernel:
1.22    ! nick      117: <blockquote><pre>
1.3       ericj     118: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.19      nick      119: # <strong>cp /bsd /bsd.old</strong>          <i>(Save an old copy of your kernel)</i>
                    120: # <strong>cp bsd /bsd</strong>               <i>(Copy the new kernel into place)</i>
1.3       ericj     121: # <strong>reboot</strong>
1.22    ! nick      122: </pre></blockquote>
1.1       jason     123:
                    124: <p>
1.19      nick      125: As above, substitute your architecture for <i>i386</i>.  If your system has
                    126: trouble booting the new kernel, you can easily go back and reboot from the
                    127: old kernel, now called <i>bsd.old</i>.
1.1       jason     128:
1.22    ! nick      129: <h4><font color="#0000e0">Rebuilding the binaries</font></h4>
1.1       jason     130:
1.19      nick      131: <p> To rebuild the system binaries:
1.22    ! nick      132: <blockquote><pre>
1.16      steven    133: # <strong>rm -rf /usr/obj/*</strong>
1.3       ericj     134: # <strong>cd /usr/src</strong>
1.16      steven    135: # <strong>make obj</strong>
                    136: # <strong>cd /usr/src/etc &amp;&amp; env DESTDIR=/ make distrib-dirs</strong>
                    137: # <strong>cd /usr/src</strong>
                    138: # <strong>make build</strong>
1.22    ! nick      139: </pre></blockquote>
1.1       jason     140:
1.19      nick      141: <p>This will take awhile...
1.1       jason     142: <hr>
1.19      nick      143: <a href=index.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a>
1.22    ! nick      144: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
        !           145: <br><small>$OpenBSD: stable.html,v 1.21 2006/11/01 06:29:55 steven Exp $</small>
1.1       jason     146: </body>
                    147: </html>
1.19      nick      148: