Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 May 2007 01:55:37 -0700
From:      Doug Barton <dougb@FreeBSD.org>
To:        freebsd-ports <freebsd-ports@freebsd.org>
Subject:   Instructions for xorg 7.2 upgrade using portmaster
Message-ID:  <46594789.8030900@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Howdy,

Thanks to all who've inquired about doing the xorg upgrade using
portmaster. I appreciate your patience in waiting for me to provide
instructions for it, but it's been quite an exciting journey. I just
committed a new version of portmaster (1.17) that has many new
features and enhancements, several of which are required for the upgrade.

Please note that if you can do it, the _best_ way to use portmaster to
do the upgrade is still to run 'pkg_delete -f xorg*' followed by
'portmaster x11/xorg', but if you can't or don't want to do that, read
on. :)  The problem that you'll inevitably run into is that due to the
vast number of files that are moving from one port to another,
combined with the way portmaster does depth-first updates, old port A
is going to be deleted after new port B has already installed one or
more new files with the same name, leading to either a failed build or
rebuilding of the dependency. We can minimize that problem, but we
can't avoid it altogether. So, here we go ...

0. Update to version 1.17 of portmaster (or newer if available), and
take a glance at the man page.

1. Add 'X11BASE=	${LOCALBASE}' to /etc/make.conf. Strictly speaking
this should not be necessary, but I ran into weirdness without it.

2. Export XORG_UPGRADE into your environment (see /usr/ports/UPDATING)

3. Read the 20070519 entry in /usr/ports/UPDATING, and any newer
entries that pertain to the upgrade.

4. pkg_delete -f the xorg-manpages, xorg-fonts-misc-bitmaps, and
xorg-libraries ports. These ports are guaranteed to delete new files
when they are pkg_delete'd, and there is no way around it.

5. Consider doing 'rm -r /var/db/ports/*', or adding the new
- --force-config option to the beginning of each command line below.

6. Start the script per UPDATING.

7. portmaster -wv /usr/ports/x11/xorg-libraries
	If you can be sure (either through using WRKDIRPREFIX or pre-cleaning
your /usr/ports/ tree) that you have no stale work directories,
consider adding the -C flag. If you want to delete the old distfiles
without prompting, add -d.

8. portmaster -v[Cd] /usr/ports/devel/imake

9. portmaster -v[Cd] -w -r libXft
	If this build fails at any point (and it probably will at least once)
then add -R to the command line when you restart it in order to avoid
having to rebuild things already built. This is probably a good time
to add the -C option if the build fails part way through the make
phase of a port to avoid having to rebuild that part of the port
that's already done. If your build fails often with trying to install
a port that's already installed (part of the chicken/egg problem
described above) consider adding -m"-DFORCE_PKG_REGISTER" to the
portmaster command line. It's not an ideal solution, but it's a time
saver, and it works.

10. portmaster -v[Cd] -w /usr/ports/x11/xorg
	The -R option as described above won't help you here, but the other
information from 9. applies.

11. portmaster -v[Cd] -w -a

12. portmaster [-d] -s

13. portmaster [-d] --clean-distfiles

14. Enjoy the brave new world of xorg 7.2 :)


Good luck,

Doug

PS, One request, please do not mail me directly asking for help with
the upgrade. You're much better off posting a message here on
freebsd-ports@ so that you can get help that much sooner. I will of
course be monitoring the list closely. Thanks.

- --

    This .signature sanitized for your protection

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.3 (FreeBSD)

iD8DBQFGWUeJyIakK9Wy8PsRAhveAJ9QdzXspf5t2sOweTzxp9R8wqnptQCgsVGC
jPamlEzjDYD5mDuAYyOm4bM=
=yyUV
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46594789.8030900>