One of the new features of pkg_add(1) in OpenBSD 3.8 is the ability to update all installed packages. 3.8’s pkg_add will not do it automatically but rather list all packages for you to do it yourself (through pkg_add -r).
The pkg_add in current though will update all packages:
# dmesg | head -1
OpenBSD 3.8-current (GENERIC) #159: Tue Sep 27 22:21:33 MDT 2005
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/packages/i386/
# pkg_add -u
Candidates for updating arping-2.05p0 -> arping-2.05p0
No need to update ddclient-3.6.3
Candidates for updating dnsmasq-2.22 -> dnsmasq-2.22
Candidates for updating gdiff-2.8.1p0 -> gdiff-2.8.1p0
Candidates for updating gettext-0.10.40p3 -> gettext-0.10.40p3
Candidates for updating libiconv-1.9.2p1 -> libiconv-1.9.2p1
Candidates for updating libnet-1.0.2a -> libnet-1.0.2ap1
No need to update lzo-1.08p0
No need to update mergemaster-1.46p0
Candidates for updating openvpn-2.0 -> openvpn-2.0.2
Candidates for updating rsync-2.6.5 -> rsync-2.6.6
No need to update screen-4.0.2-static
Candidates for updating vim-6.3.61p0-no_x11 -> vim-6.3.85p0-no_x11
Candidates for updating wget-1.8.2 -> wget-1.10
Running the equivalent of pkg_add -r arping-2.05p0 dnsmasq-2.22 gdiff-2.8.1p0 gettext-0.10.40p3 libiconv-1.9.2p1 libnet-1.0.2ap1 openvpn-2.0.2 rsync-2.6.6 vim-6.3.85p0-no_x11 wget-1.10
libnet-1.0.2ap1 (extracting): complete
libnet-1.0.2a (deleting): complete
libnet-1.0.2ap1 (installing): complete
arping-2.05p0 (extracting): complete
arping-2.05p0 (deleting): complete
arping-2.05p0 (installing): complete
dnsmasq-2.22 (extracting): complete
dnsmasq-2.22 (deleting): complete
dnsmasq-2.22 (installing): complete
libiconv-1.9.2p1 (extracting): complete
libiconv-1.9.2p1 (deleting): complete
libiconv-1.9.2p1 (installing): complete
gettext-0.10.40p3 (extracting): complete
gettext-0.10.40p3 (deleting): complete
gettext-0.10.40p3 (installing): complete
gdiff-2.8.1p0 (extracting): complete
gdiff-2.8.1p0 (deleting): complete
gdiff-2.8.1p0 (installing): complete
openvpn-2.0.2 (extracting): complete
openvpn-2.0 (deleting): complete
openvpn-2.0.2 (installing): complete
rsync-2.6.6 (extracting): complete
rsync-2.6.5 (deleting): complete
rsync-2.6.6 (installing): complete
vim-6.3.85p0-no_x11 (extracting): complete
vim-6.3.61p0-no_x11 (deleting): complete
vim-6.3.85p0-no_x11 (installing): complete
wget-1.10 (extracting): complete
wget-1.8.2 (deleting): complete
wget-1.10 (installing): complete
Clean shared items: complete
Nice and clean. Grab a snapshot from ftp://ftp.openbsd.org/pub/OpenBSD/snapshots or use the upcoming 3.8.
