OpenBSD Following -current and using snapshots [FAQ Index]

Active OpenBSD development is known as the -current branch. These sources are frequently compiled into releases known as snapshots. Active development sometimes pushes aggressive changes, 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. In general, it's far better to use the OpenBSD upgrade procedure with a newer snapshot, as developers will have gone through much of the trouble for you already.

Make sure you've read and understand how to build 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.

2017/10/19 - [packages] neomutt binary renamed

In neomutt releases since 20171013, binaries and other files have been renamed so that they can coexist with mutt. Users may wish to add a shell alias or a symlink for mutt -> neomutt.

2017/10/23 - libpthread-stubs removed

With the integration of the pthread stub functions in libc, libpthread-stubs is no longer needed in xenocara. After upgrading base and packages, users may want to remove the old installed library, either via the sysclean package or by running the following commands:
# cd /usr/X11R6/lib
# rm libpthread-stubs.a \ \

2017/10/29 - vmd(8): switch configuration

vmd(8) no longer automatically creates an underlying bridge interface for virtual switches defined in vm.conf(5). This will require users to create their bridges ahead of time, e.g. using /etc/hostname.bridge0. This also requires users to modify their vm.conf(5) files to add an interface line to the switch definition, for example:
switch "uplink" {
    interface bridge0

2017/11/05 - make room in /usr/share before upgrading

The relinking of libraries and kernels at boot time now happens in new directory /usr/share/relink. If you have little room left on the filesystem containing /usr/share, you may want to run
# rm -r /usr/share/compile
before rebooting into bsd.rd.

2017/11/08 - iked(8) and isakmpd(8): ECP group incompatibility

In the final RFC 5903, the computation for the DH shared secret changed. The iked(8) and isakmpd(8) programs were modified to follow the RFC. These changes are not backwards compatible, so if you are using ECP groups, please make sure to upgrade all peers at the same time.

2017/11/17 - ifconfig <if> deletetunnel option deprecated

The ifconfig(8) deletetunnel option has been replaced by -tunnel. Adjust your hostname.if(5) configuration and scripts accordingly.

2017/11/30 - [packages] PostgreSQL major update

There was a major update to PostgreSQL 10.1. Use pg_upgrade as described in the postgresql-server pkg-readme or do a dump/restore.

2017/12/05 - __cxa_thread_atexit implementation

This implementation requires an up-to-date to be installed before building any libraries. To update from source, the following steps are needed:
# cd /usr/src && make includes
# cd /usr/src/libexec/
# make obj
# make
# make install
Then build userland as normal.

2017/12/05 - [xenocara] New default setup for touchpads

X selects ws(4) as default driver for touchpads now. In the setup with ws, touchpad-specific input processing is done by wsmouse(4). Touchpad configuration parameters are made available in wsconsctl(8). Using synaptics(4) as input driver is still possible. It will require a custom xorg.conf file.

2017/12/18 - [packages] Buildbot major update

There was a major update to Buildbot 0.9. While the buildslave (renamed to buildworker) workdir is compatible between 0.8 and 0.9, this is not the case for the buildmaster. On top of this, a 0.9 buildworker won't work with a 0.8 buildmaster.

Refer to the upgrade guide for information on how to migrate your configuration. If you want to keep running a 0.8 buildmaster to keep access to your old build logs/history, it's advised to install the 0.8 branch from pip and run it outside of packages.

2018/01/19 - armv7: switch to clang

The default compiler on the armv7 architecture is now clang. To update from source, the following steps are needed:
# cd /usr/src/share/mk && make install
# ln -f /usr/bin/clang /usr/bin/cc
# ln -f /usr/bin/clang++ /usr/bin/c++
# ln -f /usr/bin/clang-cpp /usr/libexec/cpp
Then build kernel and userland as usual. Some ports may fail to run until they are updated.

2018/02/10 - RFC 7217 style IPv6 addresses enabled by default

These addresses remain the same after rebooting but change between subnets.

If you need the old style stateless address calculated from the layer 2 address (i.e. ethernet mac address) put -soii into the /etc/hostname.if file.

2018/02/17 - [packages] newsbeuter has been removed

Upgrading newsbeuter using pkg_add will result in newsboat being installed. Upon running newsboat for the first time it will prompt if it should import an existing newsbeuter configuration.
$OpenBSD: current.html,v 1.882 2018/02/18 11:49:54 tb Exp $