Table of Contents
This document is for people who wish to follow -current.
It contains information about changes from 5.8-release to -current,
and should NOT be used by anyone upgrading from 5.7 or earlier, or people
wishing to follow -stable.
If you wish to upgrade to 5.8-release or 5.8-stable from previous
versions, see the upgrade guide instead,
as what is here does not apply to 5.8.
Make sure you have read and understood
FAQ 5 - Building the System from Source
before using -current and the instructions below.
You should ALWAYS use a snapshot as the starting point for running
Upgrading by compiling your own source code is not supported.
Most of these changes will have to be performed as root.
2015/08/22 - [xenocara] libdrm updated
libdrm has been updated to a new version, moving a few files around.
As a consequence, old files should be removed:
rm -f /usr/X11R6/include/intel_*.h
rm -f /usr/X11R6/include/r600_pci_ids.h
rm -f /usr/X11R6/include/radeon_*.h
2015/08/25 - [ports] security/cfs removed
The security/cfs ports has been removed, users are encouraged to use
another data encryption method. Possible alternatives are softraid(4)
CRYPTO, encrypted vnd(4) devices or the security/encfs port. To remove
an existing cfs package, use:
2015/09/11 - config(8) update
An up to date
config(8) is needed to build kernels.
After updating the source tree, a new config(8) can be built and installed:
make obj && make cleandir && make depend && make && make install
Afterwards, any existing kernel compilation directories must be
rebuilt after running config again.
release(8) for details.
2015/09/12 - ifmedia extended to 64 bits
The ifmedia options word has been extended to 64 bits.
This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and
grows struct ifmediareq. Upgrading from snapshots is recommended.
Old ifconfig and dhclient binaries are able to configure addresses on
interfaces but are unable to display or change media settings.
When upgrading from source, ifconfig and dhclient must be recompiled
with new headers to run properly on top of a new kernel.
This will happen automatically during a normal 'make build'.
In case neither snapshots nor 'make build' can be used, the manual steps are:
install -m 444 -o root -g bin /usr/src/sys/net/if.h /usr/include/net/if.h
install -m 444 -o root -g bin /usr/src/sys/net/if_media.h /usr/include/net/if_media.h
install -m 444 -o root -g bin /usr/src/sys/sys/sockio.h /usr/include/sys/sockio.h
Some additional libraries and applications must also be recompiled.
Run a full 'make build' to ensure everything is in order.
2015/09/18 - [ports] php-fpm rc script renamed
To allow installing multiple versions of php-fpm on the same system,
the rc script has been renamed to include the version number.
If you are using this, modify references to php_fpm in /etc/rc.conf.local
to e.g. php56_fpm.
2015/10/19 - [xenocara] freetype update
Freetype was updated to version 2.6.1, which causes header files to be moved
around. As a result, some old files needs to be removed manually:
rm -rf config
rm -f freetype.h ftadvanc.h ftbbox.h ftbdf.h ftbitmap.h ftbzip2.h \
ftcache.h ftcffdrv.h ftchapters.h ftcid.h fterrdef.h \
fterrors.h ftfntfmt.h ftgasp.h ftglyph.h ftgxval.h ftgzip.h \
ftimage.h ftincrem.h ftlcdfil.h ftlist.h ftlzw.h ftmac.h \
ftmm.h ftmodapi.h ftmoderr.h ftotval.h ftoutln.h ftpfr.h \
ftrender.h ftsizes.h ftsnames.h ftstroke.h ftsynth.h \
ftsystem.h fttrigon.h fttypes.h ftwinfnt.h t1tables.h \
ttnameid.h tttables.h tttags.h ttunpat.h
2015/10/23 - ntpd.conf(5) remove rtable for server
In ntpd.conf(5), the rtable option was removed from the "server" and
"servers". Users of "server * rtable X" will need to switch to
launching ntpd with
# route -T X exec /usr/sbin/ntpd
2015/10/24 - [ports] node module ports removed
All modules for lang/node have been removed in favor of directly using
Native modules need to be built with "-std=gnu++0x", so npm internally sets CXX=eg++ when building native modules.
To remove any installed modules:
for i in node-always node-async node-bcrypt node-bindings \
node-buffer-writer node-canvas node-cloned node-daemon \
node-expresso node-fibers node-generic-pool node-gir \
node-java node-mnm node-pg node-rmdir node-sqlite3 \
node-syslog node-typescript coffeescript; do
2015/10/26 - [ports] puppetboard configuration update
The default configuration file (
default_settings.py) format has
been changed and needs to be merged with
before restarting the
2015/11/16 - /dev/tun -> /dev/tap
was previously a "dual mode" device.
By default it would act as a layer-3 "routed" device, but by use
of the "link0" flag it would change to a layer-2 "ethernet" mode.
This layer-2 mode has now been has been split off to a separate
Make sure you have either updated from an install kernel or re-run
to create the new /dev/tap* device nodes.
For some use cases (e.g. ssh tunnel-forwarding run as a non-root user),
permissions on the device nodes would have been modified; these should
be applied to the new device nodes as necessary.
"hostname.tun*" files using the "link0" flag should be moved to
"hostname.tap*" instead, and the flag should be removed.
Other configuration may need to be adjusted to use the new device
name, for example for software like QEMU, OpenVPN or SIMH.
Networking configuration (bridges, PF) referring to these devices
may also need to change.
2015/11/30 - smtpd tables removed
Some smtpd table backends have been moved to ports and can be removed:
rm -f /usr/libexec/smtpd/table-ldap
rm -f /usr/libexec/smtpd/table-passwd
rm -f /usr/libexec/smtpd/table-sqlite
rm -f /usr/share/man/man5/table_passwd.5
People requiring these backends should install the opensmtpd-extras main
2015/12/03 - termcap.db and terminfo.db removed
Compiled termcap.db and terminfo.db files are no longer used and can be
rm -f /usr/share/misc/termcap.db /usr/share/misc/terminfo.db
2015/12/03 - vmmctl(8) and vmm.conf(5) renamed
The vmmctl(8) program has been renamed to vmctl(8) and the vmm.conf(5)
manpage has been renamed to vm.conf(5).
The old files are no longer used and can be removed:
rm -f /usr/sbin/vmmctl
rm -f /usr/share/man/man8/vmmctl.8
rm -f /usr/share/man/man5/vmm.conf.5
2015/12/05 - netstart(8) options "multicast_host" and
Options "multicast_host" and "multicast_router" have been merged into a
single "multicast" option. In order to enable multicast the
following line should be added in rc.conf.local(8).
If you previously set these options to something other than "YES" or the
interface carrying the default route, you will also need to add a static
route for 126.96.36.199/4.
2015/12/07 - smtpd makemap(8) merged into smtpctl(8)
makemap(8) is now merged into smtpctl(8) and can be removed:
rm -f /usr/libexec/smtpd/makemap
2015/12/12 - smtpd.conf(5) "pki" keyword change and "ca" keyword addition
In smtpd.conf(5), the "pki" keyword no longer accepts a "ca" parameter. Custom CA certificates must be declared using the new "ca" keyword:
ca mail.example.org certificate "/etc/mail/CA.pem"
2015/12/27 - amd64 and i386 support for rdseed instruction
Binutils needs to be built and installed before building an amd64 or i386 kernel to install an assembler with support for the rdseed instruction.
make -f Makefile.bsd-wrapper obj
make -f Makefile.bsd-wrapper
make -f Makefile.bsd-wrapper install
2015/12/31 - [ports] gophernicus moved
in.gophernicus moved from /usr/local/sbin/ to /usr/local/libexec.
Please remember to update your /etc/inetd.conf accordingly.
2016/01/05 - pf.conf(5) set debug syntax change
set debug no longer accepts the none, urgent, misc and
loud arguments, which were deprecated several releases ago.
Use emerg, alert, crit, err,
warning, notice, info or debug
instead. Change this before updating, or your pf.conf will not load.
2016/01/06 - pledge(2) path whitelist disabled
pledge(2) will now return an error if a path whitelist is specified.
As the pledge(2) call in tsort(1) specified a path whitelist and is used by
make build, it must be built and installed before running make build.
$OpenBSD: current.html,v 1.648 2016/01/11 04:37:13 jsg Exp $