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 && make depend && 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 && 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: