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.

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.

2018/10/16 - [packages] net/dnscrypt-proxy switch to different configuration

dnscrypt-proxy received a major update. One of the changes is the configuration. Users are advised to check that /etc/dnscrypt-proxy.toml fits their needs.

2018/10/24 - libcrypto ASN.1 header removed (openssl/asn1_mac.h)

The openssl/asn1_mac.h header has been removed from libcrypto and will no longer be installed. This should be manually removed from an existing installation:
# rm /usr/include/openssl/asn1_mac.h

2018/10/26 - setuid bit removed from /usr/X11R6/bin/Xorg

The Xorg binary is no longer installed setuid. So startx(1) can no longer be used by non-root users. The xenodm(1) display manager has to be used. To set it up:
# rcctl enable xenodm
# rcctl start xenodm

2018/11/06 - /etc/malloc.conf replaced by sysctl

The malloc(3) family of functions no longer read options from the malloc.conf symbolic link. Instead, the new sysctl vm.malloc_conf is used. This makes processes no longer dependent on the file system for their malloc options. Set it at boot time by adding a line such as:
to your /etc/sysctl.conf, or at runtime with sysctl(8).

2018/11/14 - ifconfig(8): vlandev and vlan upcoming option removal

The vlandev and vlan configuration options have been deprecated since 6.2 and will be removed. Use parent and vnetid instead.

2018/11/14 - vlan(4): Replace link0 flag with txprio

Forcing the priority field in the vlan(4) and svlan(4) protocol headers is now configured with the ifconfig(8) txprio configuration option. This replaces the use of the link0 flag which used the llprio in the packet priority field instead.

2018/12/12 - [packages] lang/chicken binary name change

The chicken binaries csi and csc have been renamed to chicken-csi and chicken-csc to avoid conflicts with lang/mono.

2019/01/20 - [packages] goaccess now using libmaxminddb

www/goaccess now uses libmaxminddb for geographical lookups of IP addresses (the previous GeoIP library is end-of-life and databases are no longer updated). If you are currently using this feature, update your configuration (~/.goaccessrc or /etc/goaccess.conf) to include one or other of the following lines:
geoip-database /var/db/GeoIP/GeoLite2-Country.mmdb # installed by default
geoip-database /var/db/GeoIP/GeoLite2-City.mmdb    # requires "geolite2-city"

2019/01/27 - unwind(8) added, group _unwind required for make build

Upgrade via snapshot and run sysmerge(8) or add:
to /etc/group before running make build.

2019/01/29 - sysctl kern.witnesswatch renamed

The kern.witnesswatch sysctl variable has been renamed to

2019/02/11 - /etc/unwind no longer needed

unwind(8) stores the DNSSEC trust anchor in /var/db/unwind.key. /etc/unwind is no longer needed and can be removed:
# rm -r /etc/unwind

2019/02/11 - bgpd.conf change when configuring L3VPN

The MPLS VPN configuration syntax in bgpd.conf(5) has changed. The rdomain sections in bgpd.conf need to be replaced with vpn "descr" on mpeX sections. Both descr and depend on mpeX need to be removed from the VPN configuration. A possible configuration is now:
vpn "description" on mpe1 {
	rd 65002:1
	import-target rt 65002:42
	export-target rt 65002:42
	network 192.168.1/24

2019/02/14 - [packages] security/opendnssec major update

OpenDNSSEC received a major update. Users are advised to read /usr/local/share/doc/opendnssec/MIGRATION.

2019/02/14 - [packages] www/gitea changes

Gitea configuration file location changed from /etc/gitea/conf/app.ini to /etc/gitea/app.ini. GITEA_CUSTOM directory location has changed from /etc/gitea to /var/gitea/custom. Gitea's ROOT_PATH for logs has changed from /var/gitea/log to /var/log/gitea. When upgrading, move /etc/gitea to the new location:
# mv /etc/gitea/conf/app.ini /etc/gitea/app.ini
change the ROOT_PATH location in [log] section of /etc/gitea/conf/app.ini:
ROOT_PATH  = /var/log/gitea
and move custom files from /etc/gitea to /var/gitea/custom, if any.

2019/02/18 - [packages] PostgreSQL major update

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

2019/03/22 - [tmux] style syntax changes

A commit introduced a syntax change in tmux(1) configuration file when it comes to styles. In case a tmux.conf file contains style lines, it should be updated. An old configuration looks like this:
set-window-option -g window-status-fg color244
set-window-option -g window-status-bg color222
set-window-option -g window-status-attr bold
The new format uses a standard variable name ending with -style and takes a list of attributes and values, the previous sample updated looks like:
set-window-option -g window-status-style "fg=color244 bg=color222 bold"

$OpenBSD: current.html,v 1.986 2019/03/22 19:36:33 rob Exp $