If you wish to update to 4.9-release or 4.9-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.
cd /usr/src/usr.bin/mklocale make obj make depend make make install
Users of gcc2-based platforms (hp300, mvme68k, mvme88k, sparc, vax) will have to rebuild gcc before this will work to implement the required gcc options.
But as always, starting from a newer snapshot is a much better idea.# gcc2 platforms only!! rm -r /usr/obj/gnu/egcs/gcc/* cd /usr/src/gnu/egcs/gcc make -f Makefile.bsd-wrapper clean make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper depend make -f Makefile.bsd-wrapper make -f Makefile.bsd-wrapper install make -f Makefile.bsd-wrapper clean make -f Makefile.bsd-wrapper depend make -f Makefile.bsd-wrapper make -f Makefile.bsd-wrapper install
should be replaced with:pass in quick proto tcp to port ftp rdr-to 127.0.0.1 port 8021
Note that with divert-to, the address family (in this example inet) must be specified explicitly.pass in quick inet proto tcp to port ftp divert-to 127.0.0.1 port 8021
should be replaced with:pass in quick on internal proto udp to port tftp rdr-to 127.0.0.1 port 6969
Again note that the address family must be specified explicitly.pass in quick on internal inet proto udp to port tftp divert-to 127.0.0.1 port 6969
This results in changed behaviour for some users: If you currently use "set skip" with a physical interface type (e.g. "set skip on ix") you will need to add the interface to a group of that name: 'ifconfig ix0 group ix' or add 'group ix' to hostname.ix0.
Interfaces cloned at runtime (e.g. lo, trunk, vlan, pppoe, carp, gif, mpe and others) default to being in a group named after the interface type, so for these interfaces there will be no change in behaviour unless you have deliberately changed groups, e.g. with 'ifconfig carp456 -group carp'.
/dev/audio0 --> sun:0
/dev/audio1 --> sun:1
/dev/rmidi2 --> rmidi:2
default --> aucat:0
mystuff --> aucat:0.mystuff
The database support has been moved from flavoured versions of Dovecot (dovecot-1.2.16p5-ldap, -mysql, -postgresql, -sqlite, etc) to plugins in subpackages (dovecot-ldap-2.0.13, etc). All older versions will be upgraded to the new main package; if you're using a flavoured version for database support, you will need to add the relevant subpackage/s yourself. Berkeley DB is no longer supported, if you're using this you will need to switch to a SQL database instead.
Afterwards, any existing kernel compilation directories must be rebuilt by running config again:cd /usr/src/usr.sbin/config make obj make depend make make install
cd /usr/src/sys/arch/${ARCH}/conf
config ${CONFIG}
Finally, the kernel can be built:
cd /usr/src/sys/arch/${ARCH}/compile/${CONFIG}
make
If you have anrm -rf /etc/X11/xkb
/etc/X11/xorg.conffile that exists mainly to set keyboard type and nationality that file should be removed, otherwise you may find yourself without keyboard functionality in X.
Section "ServerFlags"
Option "AutoAddDevices" "False"
EndSection
# pkg_add gstoraster
Make sure your boot loader is up to date -- use installboot if you don't use bsd.rd to install the snapshot.
Due to the current userland threading mechanism in OpenBSD it is necessary
that programs calling libraries needing threads do themselves load the thread
library to ensure that i/o wrapper functions are used.
This can be done by linking the programs with the -pthread compiler flag,
which is commonly done in ports, but can't always be done so sometimes
extra configuration is needed - common examples are Perl and httpd in the
base OS.
The typical symptom is a failure of the program to start, with complaints
about missing pthread-related library functions.
In those cases you can run the program with LD_PRELOAD=libpthread.so set
in the environment which has the desired effect.
For pecl-imagick (notably required by Horde/IMP), the simplest way is to
create a login(1) class under /etc/login.conf(5) named after the
Apache rc.d(8) script, i.e. "httpd":
2011/07/10 - OpenBSD/armish and OpenBSD/zaurus switched to gcc4
The ARM based platforms now use gcc4.
Upgrade from source is non-trivial and time consuming, and will not be
supported.
Upgrade by snapshot dated after July 10 before attempting to build from
source.
2011/07/14 - [ports] PHP: support for multiple versions
Multiple PHP versions are now supported in packages.
php.ini moved
The directory layout of the PHP port has been adjusted.
/var/www/conf/php.ini has been replaced by /etc/php-$VERSION.ini.
If you have made changes to /var/www/conf/php.ini file, make sure
they are carried across to the relevant file for whichever version
you will be running (/etc/php-5.2.ini or /etc/php-5.3.ini).
php5.conf renamed to php-5.2.conf
If you are currently using PHP with the web server in base, you will
need to adjust your configuration:
php module changescd /var/www/conf/modules
rm php5.conf
ln -s /var/www/conf/modules.sample/php-5.2.conf /var/www/conf/modules/php.conf
The various PHP modules (for example gd, mysql, postgresql, xcache,
and various other modules which are part of PHP or from PECL) had their
configuration files in /var/www/conf/php5.sample; symbolic links for
active modules were placed in /var/www/conf/php5.
These have moved to /etc/php-5.2.sample and /etc/php-5.2 respectively.
You will need to check for existing links in /var/www/conf/php5 and
create equivalent links in /etc/php-5.2.
Note that mbstring is now part of the main php-5.2 package so an
existing mbstring.ini symbolic link can be ignored.
2011/07/17 - [ports] change in startup procedure for Postfix and exim
The base OS has moved to using scripts in /etc/rc.d to start all daemons.
The script for sendmail does not function fully for alternative MTAs (in
particular it will display "failed" at startup, although the daemon will
still be started, and "/etc/rc.d/sendmail reload" or "...stop" will not
work as expected).
If you were using Postfix or exim and starting it using the standard
method of setting sendmail_flags in rc.conf.local, you should set
sendmail_flags=NO and start the relevant daemon via pkg_scripts,
e.g.
pkg_scripts="${pkg_scripts} postfix"
2011/07/20 - [ports] Amavisd-new update
Amavisd-new has had a major update, needing some changes in sql schema.
See the notes on upgrading from 2.6 to 2.7
on Amavisd-new's web site for more information about how to handle this.
2011/08/04 - [ports] pecl-imagick needs pthread
ImageMagick has been updated to a version which now requires threads support.
and ensure that /etc/rc.d/httpd is used to start/restart the server
(N.B. log rotation scripts might need to be adjusted).
httpd:\
:setenv=LD_PRELOAD=/usr/lib/libpthread.so:\
:tc=daemon:
www@openbsd.org
$OpenBSD: current.html,v 1.288 2011/08/18 19:13:19 sthen Exp $