sysmerge

sysmerge is a tool that aims to help you to merge /etc configuration after an upgrade. sysmerge compare the current files on your system and compare with default configuration package supplied with your installation. sysmerge will go through all changes with you interactively.

But first, BACKUP YOUR CONFIGURATION!

cd /
cp -R /etc /ETC_BACKUP

In my case i want to merge configuration to OpenBSD 5.0 release. I supply the etc50.tgz from a local ftp repository. You may also supply etc50.tgz from a local disk.

sysmerge -s ftp://ftp.stacken.kth.se/pub/OpenBSD/5.2/i386/etc52.tgz
sysmerge -x ftp://ftp.stacken.kth.se/pub/OpenBSD/5.2/i386/xetc52.tgz

In my setup I find diffs in the following files.

/etc/dhclient.conf
/etc/login.conf
/etc/man.conf
/etc/rc.d/rc.subr
/etc/rc.local
/etc/sysctl.conf
/etc/.profile

Using the interactive tool you can ...

In the merge tool you can choose left (existing) or right (new) version of each diff. When the merge is done, choose install to install the merged file.

References