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>