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