according to /usr/ports/UPDATING, I'll try the following:
AFFECTS: users of Xorg
Welcome, fearless user! You are about to embark upon a mystical
journey to the world of xorg 7.2.
This upgrade procedure is for users of portupgrade. Users of other
upgrade tools should contact the author for the corresponding upgrade
method for that tool.
It is recommended that you run the xorg 7.2 upgrade inside a script(1)
session. This way, if something goes wrong, you will have hopefully
saved enough information for the developers to debug the problem.
Make sure you choose a filesystem with lots of space for the script
# script xorg-upgrade
You may wish to set BATCH=yes in the environment to avoid interactive
You may want to consider using portupgrade-devel, which fixes some
annoying bugs that cause upgrades to incorrectly be marked as failed
when they actually completed successfully. To switch to
# portupgrade -f -o ports-mgmt/portupgrade-devel portupgrade
# rm -f /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db
# pkgdb -fu
If you have changed your ports environment in /etc/make.conf,
/usr/local/etc/pkgtools.conf or similar you need to rebuild INDEX:
# cd /usr/ports && make index
If you have not changed your ports environment you can save some
time and just fetch the latest INDEX:
# cd /usr/ports && make fetchindex
It is necessary to set the XORG_UPGRADE environment variable while
updating from xorg 6.9 to 7.2. Once the upgrade is complete this
is no longer be required.
For users of csh-like shells:
# setenv XORG_UPGRADE yes
For users of sh-like shells:
# export XORG_UPGRADE=yes
Unfortunately portupgrade (nor portupgrade-devel) cannot yet handle
the rigors of the xorg upgrade without a small bit of help:
# portupgrade -Rf libXft
If your machine does NOT have any gstreamer ports installed, you can then
# portupgrade -a
However, if you DO have gstreamer ports installed, you must run:
# portupgrade -a -x 'gstreamer*'
# portupgrade -Rr 'gstreamer*'
When packages are available (wait for the announcement on ports@), you
may prefer to use precompiled packages to speed up the process:
# portupgrade -aP
Once the upgrade completes successfully, you can delete the
xorg-manpages package, which is now orphaned.
# pkg_delete xorg-manpages\*
The final step is to merge remaining files from /usr/X11R6 into
/usr/local (/usr/X11R6 is no longer used with xorg 7.2) and replace
/usr/X11R6 with a symlink.
A script is provided for your convenience (or you may choose to do
this by hand): it will first attempt to back up your /usr/X11R6 into
/usr/tmp/mergebase in case something goes wrong, then look for
conflicts (files in /usr/X11R6 that would overwrite files in
/usr/local). Depending on your system configuration you may have to
resolve some of these conflicts by hand first (if in doubt, ask for
help on freebsd-x11@FreeBSD.org). You may also need to edit the
script if the default locations are not correct on your system.
If your /usr/X11R6 is a file system, you will also need to modify the
script to pause after /usr/X11R6 is backed up, but before the symlink is
# sh /usr/ports/Tools/scripts/mergebase.sh
When the merge operation completes successfully, the /usr/X11R6
directory hierarchy will be removed and replaced by a symlink to
/usr/local. This symlink is necessary because some binary ports (and
some remaining source ports) have hard-coded references to /usr/X11R6.
Congratulations, you are done!