Annotation of www/stable.html, Revision 1.34
1.22 nick 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1.1 jason 2: <html>
3: <head>
1.23 nick 4: <title>Following -stable</title>
1.1 jason 5: <meta name="resource-type" content="document">
6: <meta name="description" content="stable">
7: <meta name="keywords" content="openbsd,anoncvs,updates,stable">
8: <meta name="distribution" content="global">
1.34 ! nick 9: <meta name="copyright" content="This document copyright 1996-2014 by OpenBSD.">
1.22 nick 10: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
1.1 jason 11: </head>
12:
1.22 nick 13: <body bgcolor="#ffffff" text="#000000">
14: <!-- Passes validator.w3.org, please keep it this way;
15: please, use a max of 72 chars per line -->
1.1 jason 16:
1.23 nick 17: <a href="index.html">
18: <img alt="[OpenBSD]" height=30 width=141 src="images/smalltitle.gif" border="0">
19: </a>
20:
1.1 jason 21: <p>
1.33 deraadt 22: <h2><font color="#e00000">Following <i>-stable</i> (the "Patch
23: branch")</font></h2>
1.1 jason 24: <hr>
25:
26: <a name="whatis"></a>
1.24 steven 27: <h3><font color="#0000e0">What is the <i>-stable</i> (patch)
28: branch?</font></h3>
1.1 jason 29:
30: <p>
1.34 ! nick 31: OpenBSD provides a source tree that contains
1.19 nick 32: important patches and fixes (i.e. those from the
33: <a href="errata.html">errata</a> plus others which are obvious and simple,
34: but do not deserve an errata entry)
1.23 nick 35: and makes it available via <a href="anoncvs.html">CVS</a>, in addition to the
36: <i>-current</i> source. Thus, users can choose three options :<p>
1.4 deraadt 37: <ul>
1.19 nick 38: <li>Stick with our latest release and apply the patches by hand.
1.25 nick 39: <li>Use the <b>patch branch</b> which has those patches.
1.19 nick 40: <li>Use <b>current source</b> for all of the latest features.
1.4 deraadt 41: </ul>
42: <p>
1.19 nick 43: <!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things)
44: which post-release changes have made it into the patch branch. -->
45: As a general principle, all
1.23 nick 46: <a href="errata.html">errata</a> entries will be merged into the patch
1.19 nick 47: branch within 48 hours of when an errata is published. Other post release
48: patches may be merged in as well, subject to a number of conditions:
1.4 deraadt 49: <ul>
1.19 nick 50: <li>The patches must be simple, short, and obviously 100% correct.
51: <li>Errata entries are made for bugs which affect many people. Other
52: patches may be merged into the patch branch if they affect a few
53: people in drastic ways.
54: <li>Please do not ask for large subsystems or patches to be merged.
55: Maintaining the patch tree takes a lot of effort which could be
56: better spent on making our next release better.
1.23 nick 57: <li>New or changed functionality, hardware support or APIs will
58: <i>not</i> be merged.
59: In general, if it requires a man page change, it will NOT be a
60: candidate for the patch branch.
1.19 nick 61: <li>As an exception to the above rules, OpenSSH release versions will be
62: merged into the patch branch.
1.4 deraadt 63: </ul>
64: <p>
1.1 jason 65:
1.23 nick 66: It is worth pointing out the name <i>-stable</i> refers ONLY to the API
67: and operations of OpenBSD not changing, not the overall reliability of
68: the system.
69: In fact, if things go as desired, the <i>-current</i>
70: <a href="faq/faq5.html#Flavors">flavor</a> of OpenBSD, on its way to
71: becoming the next <i>-release</i>, will be an improvement in
72: reliability, security and overall quality over the previous
73: <i>-release</i> and <i>-stable</i>.
74:
1.1 jason 75: <a name="getting"></a>
1.23 nick 76: <h3><font color="#0000e0">Getting <i>-stable</i> source code</font></h3>
1.1 jason 77:
78: <p>
1.19 nick 79: To obtain the patch branch for a particular release of OpenBSD, you
80: can update on top of a pre-existing source tree
81: (from <a href="ftp.html">FTP</a> or the <a href="orders.html">CD</a>)
82: or you can grab the source tree freshly from
83: an <a href="anoncvs.html">AnonCVS</a> server.
84: Instructions for getting the patch branch and staying up to date are
85: described in the <b>Getting Started</b> section of the
86: <a href="anoncvs.html#starting">AnonCVS documentation</a>.
87: Note that patch branches do not help to upgrade from one release of
1.34 ! nick 88: OpenBSD to another, e.g. to go from 5.4 to 5.5. They only provide
1.19 nick 89: a means for staying up to date with the patches within a given release.
1.23 nick 90:
91: <p>
92: Do not attempt to go from one release to another via source.
1.34 ! nick 93: Instead, please visit the <a href="faq/upgrade55.html">upgrade guide</a>.
1.19 nick 94: Also, you cannot go backwards, from -current back to -stable, because of
1.23 nick 95: library versioning problems and other changes.
1.1 jason 96:
97: <a name="building"></a>
1.23 nick 98: <h3><font color="#0000e0">Building OpenBSD <i>-stable</i></font></h3>
99: Full details on building from source are provided in
100: <a href="faq/faq5.html">FAQ 5 - Building the System from Source</a>.
101: This is a simplified summary.
102:
103: <p>
1.19 nick 104: Once you have obtained a source tree via <a href="anoncvs.html">anoncvs</a>,
105: you must rebuild the system. The stages for doing so are:
1.1 jason 106:
107: <ul>
1.19 nick 108: <li>Rebuild the kernel
109: <li>Reboot with the new kernel
110: <li>Rebuild the binaries
1.1 jason 111: </ul>
112:
1.22 nick 113: <h4><font color="#0000e0">Rebuilding the kernel</font></h4>
1.1 jason 114:
115: <p>
1.19 nick 116: To rebuild the default kernel from stable:
1.22 nick 117: <blockquote><pre>
1.3 ericj 118: # <strong>cd /usr/src/sys/arch/i386/conf</strong>
119: # <strong>/usr/sbin/config GENERIC</strong>
120: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
121: # <strong>make clean && make depend && make</strong>
1.22 nick 122: </pre></blockquote>
1.1 jason 123:
124: <p>
1.19 nick 125: Replace <i>i386</i> with your architecture, e.g.
126: <i>sparc</i>, <i>alpha</i>, etc.
1.1 jason 127:
1.22 nick 128: <h4><font color="#0000e0">Rebooting with the new kernel</font></h4>
1.1 jason 129:
130: <p>
1.19 nick 131: To reboot with the newly compiled kernel:
1.22 nick 132: <blockquote><pre>
1.3 ericj 133: # <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong>
1.23 nick 134: # <strong>make install</strong> <i>(Safely install new kernel)</i>
1.3 ericj 135: # <strong>reboot</strong>
1.22 nick 136: </pre></blockquote>
1.1 jason 137:
138: <p>
1.19 nick 139: As above, substitute your architecture for <i>i386</i>. If your system has
140: trouble booting the new kernel, you can easily go back and reboot from the
1.23 nick 141: old kernel, now called <i>obsd</i>.
1.1 jason 142:
1.22 nick 143: <h4><font color="#0000e0">Rebuilding the binaries</font></h4>
1.1 jason 144:
1.19 nick 145: <p> To rebuild the system binaries:
1.22 nick 146: <blockquote><pre>
1.16 steven 147: # <strong>rm -rf /usr/obj/*</strong>
1.3 ericj 148: # <strong>cd /usr/src</strong>
1.16 steven 149: # <strong>make obj</strong>
150: # <strong>cd /usr/src/etc && env DESTDIR=/ make distrib-dirs</strong>
151: # <strong>cd /usr/src</strong>
152: # <strong>make build</strong>
1.22 nick 153: </pre></blockquote>
1.1 jason 154:
1.30 nick 155: <p>This will take some time.
156: Depending on the speed of the system, it may take less than an hour to
157: a week or more.
1.23 nick 158:
159: <p>
160: If you have a number of machines to keep at <i>-stable</i>, you may wish to
161: make a <a href="faq/faq5.html#Release">release</a>, creating the
162: standard install <a href="faq/faq4.html#FilesNeeded">file sets</a>,
163: which can then be quickly and easily installed on any machine of the
164: same <a href="plat.html">platform</a>.
165:
1.1 jason 166: </body>
167: </html>
1.19 nick 168: