version 1.17, 2006/05/01 08:44:50 |
version 1.18, 2006/05/02 18:02:36 |
|
|
<head> |
<head> |
<title>OpenBSD Patch Branches</title> |
<title>OpenBSD Patch Branches</title> |
<link rev=made href=mailto:www@openbsd.org> |
<link rev=made href=mailto:www@openbsd.org> |
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp"> |
<meta name="resource-type" content="document"> |
<meta name="resource-type" content="document"> |
<meta name="description" content="stable"> |
<meta name="description" content="stable"> |
<meta name="keywords" content="openbsd,anoncvs,updates,stable"> |
<meta name="keywords" content="openbsd,anoncvs,updates,stable"> |
|
|
<meta name="copyright" content="This document copyright 1996-2005 by OpenBSD."> |
<meta name="copyright" content="This document copyright 1996-2005 by OpenBSD."> |
</head> |
</head> |
|
|
<body bgcolor="#ffffff" text="#000000" link="#23238E"> |
<body bgcolor="#ffffff" text="#000000" link="#23238e"> |
|
|
<a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a> |
<a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="../images/smalltitle.gif" border="0"></a> |
<p> |
<p> |
<h2><font color=#e00000>Patch Branches</font><hr></h2> |
<h2><font color=#e00000>$B%Q%C%A%V%i%s%A(B</font><hr></h2> |
|
|
<p> |
<p> |
<ul><h3>Table Of Contents</h3> |
<ul><h3>$BL\<!(B</h3> |
<li><a href="#whatis">What is the patch branch?</a> |
<li><a href="#whatis">$B%Q%C%A%V%i%s%A$H$O2?$G$9$+(B ?</a> |
<li><a href="#getting">Getting the patch branch</a> |
<li><a href="#getting">$B%Q%C%A%V%i%s%A$NF~<j(B</a> |
<li><a href="#building">Building from the patch branch</a> |
<li><a href="#building">$B%Q%C%A%V%i%s%A$+$i$N9=C[(B</a> |
</ul> |
</ul> |
</p> |
</p> |
<hr> |
<hr> |
|
|
<a name="whatis"></a> |
<a name="whatis"></a> |
<h3><font color=#0000e0>What is the patch branch?</font></h3> |
<h3><font color=#0000e0>$B%Q%C%A%V%i%s%A$H$O2?$G$9$+(B ?</font></h3> |
|
|
<p> |
<p> |
Starting with 2.7, OpenBSD provides a source tree that contains |
OpenBSD $B%W%m%8%'%/%H$G$O(B OpenBSD 2.7 $B0J9_!"=EMW$J%Q%C%A$H=$@5(B |
important patches and fixes (i.e. those from the |
(<a href="errata.html">errata</a> $B$*$h$S!"(Berrata |
<a href="errata.html">errata</a> plus others which are obvious and simple, |
$B$K4^$^$l$F$$$J$$$h$&$JC1=c$GL@$i$+$J$b$N(B) |
but do not deserve an errata entry) |
$B$r<h$j9~$s$@%=!<%9%D%j!<$rDs6!$9$k$h$&$K$J$j$^$7$?!#(B |
and makes it available via <a href="anoncvs.html">CVS</a> in addition to the |
$B$3$l$O:G?7$N%=!<%9$HF1$8$h$&$K(B <a href="anoncvs.html">CVS</a> $B7PM3$G(B |
current source. Thus, users can choose three options :<p> |
$BF~<j$9$k$3$H$,$G$-$^$9!#$D$^$j=$@5%Q%C%A$rMxMQ$9$kJ}K!$K$O!"<!$N(B 3 $B<oN`$,$"$j$^$9!#(B<p> |
<ul> |
<ul> |
<li>Stick with our latest release and apply the patches by hand. |
<li>$B:G?7$N%j%j!<%9$r;H$$!"<jF0$G=$@5%Q%C%A$rE,MQ$9$k!#(B |
<li>Use the <b>patch branch</b> which has the most important patches applied. |
<li><b>$B%Q%C%A%V%i%s%A(B</b>$B$rMxMQ$9$k!#$3$l$K$O=EMW$J=$@5%Q%C%A$NBgItJ,$,4^$^$l$F$$$^$9!#(B |
<li>Use <b>current source</b> for all of the latest features. |
<li><b>$B:G?7$N%=!<%9(B</b>$B$rMxMQ$9$k!#$3$l$K$O:G?7$N5!G=$9$Y$F$,4^$^$l$F$$$^$9!#(B |
</ul> |
</ul> |
<p> |
<p> |
<!-- The <a href="plus.html">Daily Changelog</a> details (amoung other things) |
<!-- <a href="plus.html">$BF|!9$N99?7%m%0(B</a>$B$K$O!"%j%j!<%98e$K:n@.$5$l!"(B |
which post-release changes have made it into the patch branch. --> |
$B%Q%C%A%V%i%s%A$K<h$j9~$^$l$?=$@5%Q%C%A$,=q$+$l$^$9!#(B--> |
As a general principle, all |
$B0lHLE*$K!"8x3+$5$l$?(B |
<a href="errata.html">Errata</a> entries will be merged into the patch |
<a href="errata.html">errata</a> $B$O$9$Y$F!"$=$l$,H/9T$5$l$?;~E@$+$i(B |
branch within 48 hours of when an errata is published. Other post release |
48 $B;~4V0JFb$K%Q%C%A%V%i%s%A$K<h$j9~$^$l$^$9!#$^$?!"%j%j!<%98e$K:n@.$5$l$?$=$NB>$N=$@5%Q%C%A$b!"(B |
patches may be merged in as well, subject to a number of conditions: |
$B$?$H$($P<!$N$h$&$J>r7o$,K~$?$5$l$F$$$l$PF1MM$K<h$j9~$^$l$k$3$H$,$"$j$^$9!#(B |
<ul> |
<ul> |
<li>The patches must be simple, short, and obviously 100% correct. |
<li>$B=$@5%Q%C%A$,C1=c$GC;$/!"(B100% $B@5$7$$$3$H$,L@$i$+$J$b$N!#(B |
<li>Errata entries are made for bugs which affect many people. Other |
<li>$BB?$/$N?M!9$K1F6A$9$k%P%0$K$h$k(B errata $B$N>l9g!#$"$k$$$O(B |
patches may be merged into the patch branch if they affect a few |
$B8B$i$l$??M!9$KHs>o$KBg$-$J1F6A$rM?$($k%P%0$N=$@5$O(B |
people in drastic ways. |
$B%Q%C%A%V%i%s%A$K<h$j9~$^$l$k>l9g$,$"$j$^$9!#(B |
<li>Please do not ask for large subsystems or patches to be merged. |
<li>$BBg$-$J%5%V%7%9%F%`$d=$@5%Q%C%A$N<h$j9~$_$rMW5a$9$k$N$O$d$a$F$/$@$5$$!#(B |
Maintaining the patch tree takes a lot of effort which could be |
$B%Q%C%A%V%i%s%A$NJ]<i$OHs>o$KBgJQ$J:n6H$G$"$j!"<!$N%j%j!<%9$r(B |
better spent on making our next release better. |
$B2~A1$9$k$?$a$N;~4V$r:o$k$3$H$K$J$j$^$9!#(B |
<li>As an exception to the above rules, OpenSSH release versions will be |
<li>$B$?$@$7!"(BOpenSSH $B$N%j%j!<%9%P!<%8%g%s$O%Q%C%A%V%i%s%A$K<h$j9~$^$l$^$9!#(B |
merged into the patch branch. |
$B$3$l$O>e$K$"$2$?%k!<%k$KBP$9$k$R$H$D$NNc30$G$9!#(B |
</ul> |
</ul> |
<p> |
<p> |
|
|
<a name="getting"></a> |
<a name="getting"></a> |
<h3><font color=#0000e0>Getting a stable branch</font></h3> |
<h3><font color=#0000e0>$B%Q%C%A%V%i%s%A$NF~<j(B</font></h3> |
|
|
<p> |
<p> |
To obtain the patch branch for a particular release of OpenBSD, you |
OpenBSD $B$N$"$k%j%j!<%9$KBP1~$9$k%Q%C%A%V%i%s%A$rF~<j$9$k$K$O!"(B |
can update on top of a pre-existing source tree |
(<a href="ftp.html">FTP</a> $B7PM3!"$"$k$$$O(B <a href="orders.html">CD</a> $B$r;HMQ$7$F(B) |
(from <a href="ftp.html">FTP</a> or the <a href="orders.html">CD</a>) |
$BF~<j$7$?%=!<%9%D%j!<$N0lHV>e(B ($BLuCm(B: /usr/src) $B$G99?7$r9T$&$+!"(B |
or you can grab the source tree freshly from |
<a href="anoncvs.html">AnonCVS</a> $B%5!<%P$+$i?7$?$K%=!<%9%D%j!<$rF~<j$9$k$H$$$&J}K!$,$"$j$^$9!#(B |
an <a href="anoncvs.html">AnonCVS</a> server. |
$B%Q%C%A%V%i%s%A$NF~<j$H:G?7$r0];}$9$kJ}K!$K$D$$$F$O!"(B |
Instructions for getting the patch branch and staying up to date are |
<a href="anoncvs.html#starting">AnonCVS $B$NJ8=q(B</a>$B$N(B<b>$B$O$8$a$K(B |
described in the <b>Getting Started</b> section of the |
(Getting Started)</b> $B$N@a$K5-:\$5$l$F$$$^$9!#$?$@$7!"(B |
<a href="anoncvs.html#starting">AnonCVS documentation</a>. |
$B%Q%C%A%V%i%s%A$O%j%j!<%94V$N%"%C%W%0%l!<%I(B ($B$?$H$($P(B 3.8 $B$+$i(B 3.9) |
Note that patch branches do not help to upgrade from one release of |
$B$r9T$&$o$1$G$O$"$j$^$;$s$N$G$4Cm0U$/$@$5$$!#(B |
OpenBSD to another, e.g. to go from 3.8 to 3.9. They only provide |
$B$3$l$O$=$N%j%j!<%9$K$*$$$F:G?7$N=$@5%Q%C%A$,E,MQ$5$l$?(B |
a means for staying up to date with the patches within a given release. |
$B%P!<%8%g%s$r0];}$9$k<jCJ$rDs6!$9$k$H$$$&$@$1$G$9!#(B |
If you are trying to go from one release to another via source, please visit |
$B%=!<%9$rMQ$$$F%j%j!<%94V%"%C%W%0%l!<%I$r9T$&>l9g$O(B |
the <a href="faq/upgrade38.html">upgrade guide</a>. |
<a href="../faq/upgrade38.html">$B%"%C%W%0%l!<%I%,%$%I(B</a> |
Also, you cannot go backwards, from -current back to -stable, because of |
$B$r$4Mw$/$@$5$$!#$=$l$H$b$&$R$H$D!"(B-current $B$+$i(B -stable $B$XLa$k$3$H$O$G$-$^$;$s!#(B |
library versioning problems. |
$B$3$l$O%i%$%V%i%j$N%P!<%8%g%s$K8_49@-$,$J$$$?$a$G$9!#(B |
|
|
<a name="building"></a> |
<a name="building"></a> |
<h3><font color=#0000e0>Building from an OpenBSD patch branch</font></h3> |
<h3><font color=#0000e0>$B%Q%C%A%V%i%s%A$+$i$N9=C[(B</font></h3> |
Once you have obtained a source tree via <a href="anoncvs.html">anoncvs</a>, |
<a href="anoncvs.html">anoncvs</a> $B7PM3$G%=!<%9%D%j!<$rF~<j$7$?$i!"(B |
you must rebuild the system. The stages for doing so are: |
$B%7%9%F%`$r:F9=C[$9$kI,MW$,$"$j$^$9!#:F9=C[$K$O<!$NCJ3,$,$"$j$^$9!#(B |
|
|
<ul> |
<ul> |
<li>Rebuild the kernel |
<li>$B%+!<%M%k$N:F9=C[(B |
<li>Reboot with the new kernel |
<li>$B9=C[$7$??7$7$$%+!<%M%k$r;H$C$F:F5/F0(B |
<li>Rebuild the binaries |
<li>$B%P%$%J%j$N:F9=C[(B |
</ul> |
</ul> |
|
|
<h4><font color=#0000e0>Rebuilding the kernel</font></h4> |
<h4><font color=#0000e0>$B%+!<%M%k$N:F9=C[(B</font></h4> |
|
|
<p> |
<p> |
To rebuild the default kernel from stable: |
stable $B$NI8=`%+!<%M%k$r:F9=C[$9$k$K$O!"<!$N$h$&$K$7$^$9!#(B |
<ul><pre> |
<ul><pre> |
# <strong>cd /usr/src/sys/arch/i386/conf</strong> |
# <strong>cd /usr/src/sys/arch/i386/conf</strong> |
# <strong>/usr/sbin/config GENERIC</strong> |
# <strong>/usr/sbin/config GENERIC</strong> |
|
|
</pre></ul> |
</pre></ul> |
|
|
<p> |
<p> |
Replace <i>i386</i> with your architecture, e.g. |
<i>i386</i> $B$NItJ,$r$4;HMQ$N%"!<%-%F%/%A%c(B |
<i>sparc</i>, <i>alpha</i>, etc. |
($B$?$H$($P(B <i>sparc</i>$B!"(B<i>alpha</i> $B$J$I(B) $B$KCV$-49$($F$/$@$5$$!#(B |
|
|
<h4><font color=#0000e0>Rebooting with the new kernel</font></h4> |
<h4><font color=#0000e0>$B9=C[$7$??7$7$$%+!<%M%k$r;H$C$F:F5/F0(B</font></h4> |
|
|
<p> |
<p> |
To reboot with the newly compiled kernel: |
$B?7$7$/9=C[$7$?%+!<%M%k$r;H$C$F:F5/F0$7$^$9!#(B |
<ul><pre> |
<ul><pre> |
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong> |
# <strong>cd /usr/src/sys/arch/i386/compile/GENERIC</strong> |
# <strong>cp /bsd /bsd.old</strong> <i>(Save an old copy of your kernel)</i> |
# <strong>cp /bsd /bsd.old</strong> <i>($B8E$$%+!<%M%k$N%P%C%/%"%C%W$r$H$k(B)</i> |
# <strong>cp bsd /bsd</strong> <i>(Copy the new kernel into place)</i> |
# <strong>cp bsd /bsd</strong> <i>($B?7$7$$%+!<%M%k$r>e=q$-%3%T!<$9$k(B)</i> |
# <strong>reboot</strong> |
# <strong>reboot</strong> |
</pre></ul> |
</pre></ul> |
|
|
<p> |
<p> |
As above, substitute your architecture for <i>i386</i>. If your system has |
$B$3$l$b@h$[$I$HF1MM$K!"(B<i>i386</i> $B$NItJ,$r$*;H$$$N%"!<%-%F%/%A%c$KCV$-49$($F$/$@$5$$!#(B |
trouble booting the new kernel, you can easily go back and reboot from the |
$B$b$7!"%7%9%F%`$,?7$7$$%+!<%M%k$G5/F0$7$J$$>l9g$O!"(B<i>bsd.old</i> $B$H$$$&L>A0$N8E$$%+!<%M%k$r(B |
old kernel, now called <i>bsd.old</i>. |
$B;HMQ$7$F:F5/F0$9$k$3$H$G!"85$N>uBV$KI|5"$9$k$3$H$,$G$-$^$9!#(B |
|
|
<h4><font color=#0000e0>Rebuilding the binaries</font></h4> |
<h4><font color=#0000e0>$B%P%$%J%j$N:F9=C[(B</font></h4> |
|
|
<p> To rebuild the system binaries: |
<p>$B<!$N$h$&$K$7$F!"%7%9%F%`%P%$%J%j$N:F9=C[$r9T$$$^$9!#(B |
<ul><pre> |
<ul><pre> |
# <strong>rm -rf /usr/obj/*</strong> |
# <strong>rm -rf /usr/obj/*</strong> |
# <strong>cd /usr/src</strong> |
# <strong>cd /usr/src</strong> |
|
|
# <strong>make build</strong> |
# <strong>make build</strong> |
</pre></ul> |
</pre></ul> |
|
|
<p>This will take awhile... |
<p>$B$3$N:n6H$K$O$7$P$i$/;~4V$,$+$+$k$G$7$g$&!#(B |
<hr> |
<hr> |
<a href=index.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a> |
<a href=index.html><img height=24 width=24 src=../back.gif border=0 alt=OpenBSD></a> |
<a href=mailto:www@openbsd.org>www@openbsd.org</a> |
<a href=mailto:www@openbsd.org>www@openbsd.org</a> |
<br><small>$OpenBSD$</small> |
<br> |
|
<small> |
|
<!-- |
|
Originally [OpenBSD: stable.html,v 1.17 ]<br> |
|
$Translation: stable.html,v 1.12 2006/05/02 08:49:01 kimitake Exp $<br> |
|
--> |
|
$OpenBSD$ |
|
</small> |
</body> |
</body> |
</html> |
</html> |
|
|