Active OpenBSD development is known as the -current branch. These sources are frequently compiled into releases known as snapshots.
Aggressive changes are sometimes pushed in this branch, and complications can arise when building the latest code or upgrading from a previous point in time. Some of the steps for getting over these hurdles are explained on this page. Make sure you've read and understand how to build the system from source before using -current and the instructions below.
In general, it's far easier to use snapshots, as developers will have gone through much of the trouble for you already.
You should always use a snapshot as the starting point for running -current. This process typically consists of downloading (and verifying) the appropriate bsd.rd file from the /snapshots/ directory of your preferred mirror, booting from it, and choosing (U)pgrade at the prompt. Any installed packages should then be upgraded after booting into the new system.
Upgrading to -current by compiling your own source code is not supported.
Most of these changes will have to be performed as root.
# cd /usr/src && make includes # cd /usr/src/sbin/pfctl && make clean && make && make install # cd /usr/src/usr.sbin/authpf && make clean && make && make install # cd /usr/src/usr.sbin/ftp-proxy && make clean && make && make install # cd /usr/src/usr.sbin/relayd && make clean && make && make install # cd /usr/src/usr.sbin/tftp-proxy && make clean && make && make install
must be changed to:listen on * port 80 listen on :: port 80
listen on * port 80
After updating follow the instructions in /usr/local/share/doc/kc/Changelog.$ kc -k ~/.kc/default.kcd Password: <example_chain% > dump kcdump Dump OK <example_chain% > quit
If using the module for Apache httpd, update the symlink for /var/www/conf/modules/php.conf as shown in the pkg-readme.# rcctl disable php56_fpm; rcctl enable php70_fpm # rcctl stop php56_fpm; rcctl start php70_fpm
The change is mostly mechanical and requires splitting current rules into actions and matching patterns, examples are available in the man page.
Authenticated users are no longer considered as local users, if your configuration file allows remote users to authenticate and send mail, an explicit rule must be written to match these.
smtpd(8) supported LMTP both as a relaying protocol and as a local delivery method. The local delivery method was implemented within the daemon and not as an MDA, it no longer does and must be used through the 'mda' action:
The mail.lmtp(8) MDA provides all the features that used to be supported interally by smtpd(8).action lmtp-local mda "/usr/libexec/mail.lmtp [...]