pkg_add -ui -F update -F updatedepends did a pretty job for me; from 3.9 (stable) to 4.0 (stable). and - jump at me: - from i386 to amd64 in one go. So far FYI.
Minor observations: It asked for a bunch of Firefox alternatives in between (1.5.0.5 or 1.5.0.6 or 1.5.0.7 or 1.5.0.8 if memory serves me well). Why wouldn't it (or how could I) use the most recent one by default ? It somehow missed out on some x... packages, though: It didn't feel like updating xmms-1.2.10p6 to xmms-1.2.10p7. Similarly for a few xfce4 packages; which have a higher patch number. The rest went through smoothly. There were a few packages left over from the previous i386 install, though, those with unchanged version/patch number. I wrote a hacky script to extract those and do a -F installed. (This is also where I found the mistakes on the x.... as above, since they stopped saying that the package doesn't exist. Then I removed the -versionpatch and they did 'upgrade' from i386 to amd64 properly.) Two questions after this exercise: 1. Is there a suitable and recommended modification of the command to force all packages to update ? (For those who want to migrate between architectures) 2. Any chance to not simply exit the script when package is not found ? Currently, when passing the packages like pkg_add ........ -F installed software1-1.1p1 software2-5.6p3 softwaren-2.3.4p4 will exit when software1-1.1p1 is not found in the package directory. Could it drop the trial of software1 and try the software2 instead; and so forth ? For the rest: a great experience, the new OpenBSD packages update ! Thanks for the vast improvement ! Uwe