[OpenBSD]

[FAQ Index]

Following -current


Table of Contents


Introduction

This document is for people who wish to follow -current. It contains information about changes from 5.2-release to -current, and should NOT be used by anyone upgrading from 5.1 or earlier, or people wishing to follow -stable.

If you wish to update to 5.2-release or 5.2-stable from previous versions, see the upgrade guide.

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.

2012/08/08 - xf86-video-ati 6.14.6 is now selected by default

The radeon(4) X.Org driver has been updated to version 6.14.6 and is now selected by default when running without an xorg.conf file.
To force the use of the radeonold(4) driver, add the following to /etc/X11/xorg.conf:
Section "Device"
    Identifier "Old Radeon Card"
    Driver "radeonold"
EndSection

2012/08/21 - IPv6 SLAAC defaults to privacy addresses

IPv6 stateless automatic address configuration (as used when you configure an interface's address using "rtsol") now defaults to using RFC4941 privacy addresses.

This means that when making outgoing connections, predictable addresses based on the MAC address are no longer used as a source address, instead temporary addresses are generated periodically and used (see ifconfig(8)'s description of "autoconfprivacy" for more information).

Incoming connections aren't affected by this; the IPv6 address based on the MAC address is still configured on the interface and can be used for incoming connections. However if connections to other machines are restricted based on source IPv6 addresses or reverse DNS lookups, you may need to make configuration changes and either disable privacy addresses (e.g. echo "up -autoconfprivacy" >> /etc/hostname.em0) or configure addresses manually instead.

2012/08/23 - New toolchain behavior

ld(1)'s linker scripts now recognizes .openbsd.randomdata sections, which libc has also been updated to make use of. Normally ld(1) is not built until after libc, so to explicitly build it first use:
cd /usr/src/gnu/usr.bin/binutils
make -f Makefile.bsd-wrapper obj
make -f Makefile.bsd-wrapper
make -f Makefile.bsd-wrapper install
You can verify that ld(1) is up to date by checking the output from ld --verbose:
$ ld --verbose | grep randomdata
  .openbsd.randomdata     :
    PROVIDE_HIDDEN (__openbsd_randomdata_start = .);
    *(.openbsd.randomdata .openbsd.randomdata.*)
    PROVIDE_HIDDEN (__openbsd_randomdata_end = .);

2012/08/30 - pmdb(1) removed

pmdb(1) was removed from base. The binary and it's manual page can be removed:
rm /usr/bin/pmdb /usr/share/man/man1/pmdb.1

2012/08/31 - gcc(1) now uses __guard_local instead of __guard on ELF/GCC4 architectures

gcc(1) now emits stack-smashing protection code that references __guard_local instead __guard on ELF/GCC4 architectures. Because GCC is built at the end of a normal "make build", it's necessary to either do two full builds, or you can short-cut the first build by updating just the C runtime files and compiler:
cd /usr/src/lib/csu
make depend && make && sudo make install
cd /usr/src/gnu/usr.bin/cc
make depend && make && sudo make install
You can then proceed with a normal "make build" as per release(8).

2012/08/31 - amd64, sgi, loongson and sparc64 are now PIE

The amd64, sgi, loongson and sparc64 platforms have been switched to PIE (position-independent executables) by default. Everyone is encouraged to update via snapshots (dated after 2012/08/31); if you want to upgrade via sources, follow these instructions:

First, install the new system Makefiles with the change to PIE_ARCH in bsd.own.mk:

cd /usr/src/share/mk && sudo make install
Then, recompile and install gcc and binutils.
cd /usr/src/gnu/usr.bin/binutils
make -f Makefile.bsd-wrapper clean && make -f Makefile.bsd-wrapper obj && \
	make -f Makefile.bsd-wrapper depend && make -f Makefile.bsd-wrapper
cd /usr/src/gnu/usr.bin/cc
make clean && make obj && make depend && make && sudo make install
cd /usr/src/gnu/usr.bin/binutils && sudo make -f Makefile.bsd-wrapper install
Finally, recompile your system by following the procedure outlined in release(8).

2012/08/31 - alpha is now PIE

The alpha platform has been switched to PIE (position-independent executables) by default. Everyone is encouraged to update via snapshots (dated after 2012/09/01). To do this conversion yourself, see the instructions for PIE conversion on other architectures.

2012/09/02 - hppa is now PIE

The hppa platform has been switched to PIE (position-independent executables) by default. Everyone is encouraged to update via snapshots (dated after 2012/09/02). To do this conversion yourself, see the instructions for PIE conversion on other architectures.

2012/09/12 - landisk is now PIE

The landisk platform has been switched to PIE (position-independent executables) by default. Everyone is encouraged to update via snapshots (dated after 2012/09/12). To do this conversion yourself, see the instructions for PIE conversion on other architectures.

2012/09/20 - pf enforces 'frags' limit

pfctl will abort and fail to load the ruleset if the 'frags' limit in pf.conf is higher than the kern.maxclusters sysctl. This is to guard against allowing a system to run out of mbuf clusters. If it is not set, the new default is 25% of kern.maxclusters.

2012/09/23 - imake moved to ports

Imake, the old X build system has been moved to ports, as none of the packages in xenocara uses it anymore. The version installed in /usr/X11R6 need to be manually removed:

sudo rm -rf /usr/X11R6/lib/X11/config
sudo rm -f /usr/X11R6/bin/{ccmakedep,cleanlinks,imake,makeg,mergelib,mkdirhier,mkhtmlindex,revpath,xmkmf}
sudo rm -f /usr/X11R6/man/man1/{ccmakedep,cleanlinks,imake,makeg,mergelib,mkdirhier,mkhtmlindex,revpath,xmkmf}.1

2012/09/24 - [ports] Major PostgreSQL update

Major update to 9.2.1. A dump/restore is required.

2012/10/11 - smtpd.conf syntax change

The "all" keyword becomes "any". You need to update your config. Be careful to really rewrite rules like:
	accept from all [...]
to
	accept from any [...]
because the former syntax is still valid, but it behaves completely differently now and it would break your ruleset.

2012/11/23 - sndiod(1) options changes

The rate (-r) and the encoding (-e) become per-device settings and as such must precede the device they apply to (-f). Example, rewrite:
sndiod -frsnd/1 -r44100
by
sndiod -r44100 -frsnd/1
MIDI thru boxes are created dynamically so -M options must be removed. MIDI ports (-q) cannot be connected to the sndiod control port, so an external program must be used for that (eg. aucat(1) or the audio/midish port). For instance, to make rmidi/5 control snd/0 do:
aucat -M -mmidi -qrmidi/5 -qsnd/0

2012/12/01 - m88k ports switch to gcc 3

OpenBSD/luna88k and OpenBSD/mvme88k now use gcc 3.3.6 as their system compiler. Upgrading with a recent snapshot is recommended; however, for reference, the manual upgrade steps are:

2012/12/22 - ld.so(1) update required

As a first step towards a better mechanism to properly support destructors in dynamic libraries it is necessary to build and install a new dynamic linker on all OpenBSD platforms except for OpenBSD/m68k, OpenBSD/m88k and OpenBSD/vax:

   cd /usr/src/libexec/ld.so
   make clean
   make obj
   make depend
   make
   make install

2013/01/05 - m88k ports switch to ELF

OpenBSD/luna88k and OpenBSD/mvme88k now use ELF instead of a.out as their native binary file format. Upgrading with a recent snapshot is recommended; however, for reference, the manual upgrade steps are:

2013/01/16 - pf.conf syntax change

Queue assignment is now done using "set queue" instead of just "queue". The new syntax is documented in pf.conf(5)

2013/01/31 - m88k ports gain shared libraries support

OpenBSD/luna88k and OpenBSD/mvme88k now build and use ELF shared libraries. Upgrading with a recent snapshot is recommended; however, for reference, the manual upgrade steps are:

2013/02/02 - m68k ports switch to ELF

OpenBSD/hp300 and OpenBSD/mvme68k now use ELF instead of a.out as their native binary file format.
There is no compatibility support for now old a.out binaries.
Third-party software, such as packages, will need to be reinstalled with ELF binaries.
Reinstalling with a recent snapshot is recommended; upgrades will work since all a.out components of the base system will get replaced with their ELF counterparts.
Upgrading by source roughly involves building a static ELF toolchain (forcing NOPIC to be set in share/mk/bsd.own.mk), building as many static ELF binaries as possible (but ld.so), building a new kernel, building new boot blocks, installing the new boot blocks, rebooting on the new kernel, resuming userland build up to the point the whole userland is statically linked, then removing all a.out shared libraries, removing NOPIC from share/mk/bsd.own.mk, installing ld.so, and rebuilding the system. You do not want to suffer through this.

2013/03/10 - fontconfig update

Fontconfig in xenocara has been updated to version 2.10.91 and has switched to a BSD make build system. This new version of fontconfig deprecates the use of ~/.fonts.conf for local configuration. Make sure the users who have created this file move it to its new location:

    mkdir -p ~/.config/fontconfig
    mv ~/.fonts.conf ~/.config/fontconfig/fonts.conf
Until all ports have been updated to use the new fontconfig, expect some (mostly harmless) warnings about syntax of some of the new files in /etc/fonts/conf.d.

2013/03/11 - pf translation counter added

A separate "translation" counter was added to identify when NAT has failed due to a lack of ports in the range configured in the rule. Packages using PFIOCGETSTATUS (e.g. symon and pfstat) need to be updated to current versions (and as usual kernel and userland must be in sync). Package version numbers have been bumped so pkg_add -u will update them when new packages are available.

2013/03/25 - Perl update

Perl has been updated to 5.16.3. Please note that any packages using XS modules will need to be updated. If you are updating close to the time of this being committed and rely on such packages, you might like to wait for updated packages to become available to save the trouble of building them yourself.
[back] www@openbsd.org
$OpenBSD: current.html,v 1.373 2013/03/28 21:49:08 martynas Exp $