On 06.03.2011 09:09 (UTC+1), b. f. wrote:
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.

Now it is more clear to me that this upgrading process depends from the specific installation. Perhaps it should be mentioned in ports/UPDATING, that eventually this upgrading is not complete?

I think for me it was ok to first use the upgrade-site-packages target and after that identifying the few remaining ports with pkg_libchk, which should also be updated. I did that with several machines. All seems to work fine so far.

Thanks again for this detailed answer,
Rainer
_______________________________________________
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"

Reply via email to