On 3/6/11, Rainer Hurling <rhur...@gwdg.de> wrote: > On 06.03.2011 00:56 (UTC+1), b. f. wrote: >>>> Does it rebuild all depending packages? >>> >>> And waht is the difference between make upgrade-site-packages and >>> portupgrade -r python? >> >> As I explained earlier on freebsd-python@, unlike 'portupgrade -r >> python', the upgrade-site-packages target just rebuilds ports that >> have files in the library directories belonging to non-default >> versions of python, and ports that in turn depend upon them, not >> necessarily every port that lists python as a dependency. >> upgrade-site-packages is for your convenience, to rebuild a (probably) >> smaller collection of ports that are most likely to need rebuilding >> after a change in default python versions. > > Thanks for the explanation. In principle the script works as aspected. > As far as I can see there remain some ports like graphics/qgis without > upgrading. QGIS defines USE_PYTHON=yes in its Makefile, but is not > upgraded. Other examples from my installations are multimedia/xbmc, > irc/xchat, editors/openoffice.org-3. > > pkg_libchk from sysutils/bsdadminscripts identifies most (all?) of them.
Sure, there are a number of ways to identify which ports actually depend upon python. pkg_libchk will get you most, but maybe not all, of them. (One might be configured in a way that depends upon the specific version of python used, but not actually link to a python shared library, for example.) Since rebuilding lots of ports can consume time and resources, and some ports depend upon python only to the extent of containing portable scripts with a /usr/local/bin/python shebang in them, and hence don't really need to be updated, the upgrade-site-packages target was created as a reasonable compromise, to update only those ports that probably need to be updated when the default version of python is changed. update-site-packages may update a few that don't need to be updated (a port that really needs and is set up to use a non-default version of python, for example), and it may miss others that ought to be updated (a port that doesn't install files in a python library directory, but nevertheless depends in an important way upon the specific version of python used). If you want to be thorough, then don't use upgrade-site-packages, but rather recursively update all ports that depend directly or indirectly upon python. b. _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"