AFFECTS: users of x11/xorg
  AUTHOR: kris@FreeBSD.org

  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
  have saved enough information for the developers to debug the problem.
  Make sure you choose a filesystem with lots of space for the script
  output.
  
  # script xorg-upgrade
  
  You may wish to set BATCH=yes in the environment to avoid interactive
  dialogue boxes.
  
  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-devel:
  
  # portupgrade -f -o ports-mgmt/portupgrade-devel portupgrade
  # rm -f /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db
  # pkgdb -fu
  # portsdb -fu

  If you are an upgrade-test user (big wave!) you were instructed
  to created a separate tree for the test. You shouldn't forgot
  to set your PORTSDIR variable to it, and to create INDEXes:

  # setenv PORTSDIR `realpath .`    <- csh-like users
  # export PORTSDIR=`realpath .`    <- sh-like users
  # portsdb -U

  But you should keep your old DISTDIR to prevent multiple downloads:

  # setenv DISTDIR /usr/ports/distfiles/    <- csh-like users
  # export DISTDIR=/usr/ports/distfiles/   <- sh-like users

  If you want to use the binary nvidia driver (i386-only), set
  WITH_NVIDIA_GL=yes.

  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
  Now you are ready to upgrade everything:
  
  # portupgrade -a
  
  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.
  
  # 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!
  
  # exit
  
  IF YOU RUN INTO PROBLEMS:
  
  # uname -a
  # ls -l /var/db/pkg
  # exit
  
  and send an email to freebsd-x11@FreeBSD.org with a full description
  of the problem.  Do not include the above typescript in your email,
  but bzip2 it and make it available to the developers (e.g. put it
  online or send it by private email upon request).

Amendments:

  1. Move XORG_UPGRADE before the upgrade of libXft
  2. Create new INDEX files when you're a test user
  3. Set DISTDIR properly when you're a test user

XorgUpgradeCorrected (last edited 2008-06-17 21:37:47 by localhost)