[FAQ Index]

Following -current

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 -current. 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:
	pkg_delete cfs

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:
	cd /usr/src/usr.sbin/config
	make obj && make cleandir && make depend && make && make install
Afterwards, any existing kernel compilation directories must be rebuilt after running config again. Refer to 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
	cd /usr/src/sbin/ifconfig
	make obj
	make depend
	make install
	cd /usr/src/sbin/dhclient
	make obj
	make depend
	make install
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:
	cd /usr/X11R6/include/freetype2
	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 npm.

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
		pkg_delete $i

2015/10/26 - [ports] puppetboard configuration update

The default configuration file (default_settings.py) format has been changed and needs to be merged with default_settings.py.dist before restarting the puppetboard service.

2015/11/16 - /dev/tun -> /dev/tap

tun(4) 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 tap(4) device. Make sure you have either updated from an install kernel or re-run MAKEDEV(8) 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 package.

2015/12/03 - termcap.db and terminfo.db removed

Compiled termcap.db and terminfo.db files are no longer used and can be removed:
	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 "multicast_router" merged

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

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.
	cd /usr/src/gnu/usr.bin/binutils-2.17
	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.
	cd /usr/src/usr.bin/tsort
	make clean
	make obj
	make depend
	make install

$OpenBSD: current.html,v 1.648 2016/01/11 04:37:13 jsg Exp $