ports/UPDATING instructions and Python 2.4
Nikola Lecic
nlecic at EUnet.yu
Sat Aug 25 14:01:29 PDT 2007
On Sat, 25 Aug 2007 09:15:52 -0500
Kirk Strauser <kirk at strauser.com> wrote:
> I need to keep Python 2.4 on my system to run Zope (which isn't
> compatible with 2.5). So, I dutifully followed the instructions
> under /usr/ports/UPDATING starting with "If want to keep 2.4.x
> installed alongside 2.5.x [...]". When I came back a little later,
> all of my dependent ports had been upgraded from py24-* to py25-*,
> effectively killing my webserver.
>
> Could someone else take a look at those instructions and see if they
> make sense - they look a little suspicious to me - or if there is
> some gotcha that I might have missed? Thanks.
Hello Kirk,
A couple of thoughts that could be useful.
The instructions explain how to keep both 2.4 and 2.5 versions of
_Python_itself_, that's all. The "PYTHON_DEFAULT_VERSION=python2.5" line
of /etc/make.conf serves as an indicator to all new applications to
avoid confusion if python-2.4 is installed alongside.
You now probably have something like:
# ls -d /var/db/pkg/py*
/var/db/pkg/python24-2.4.4_1
/var/db/pkg/python25-2.5.1
/var/db/pkg/py25-cairo-1.4.0_1
/var/db/pkg/py25-chardet-1.0_3
[... etc., py25-* only ...]
Zope feels fine in this situation:
# cd /usr/ports/www/zope3
# make configure
[...]
===> Patching for zope-3.3.1
===> Applying FreeBSD patches for zope-3.3.1
===> zope-3.3.1 depends on file: /usr/local/bin/python2.4 - found
===> Configuring for zope-3.3.1
Configuring Zope installation
Using Python interpreter at /usr/local/bin/python2.4
(The same for other py-* ports that are fixed to 2.4 interpreter (i.e.
www/py-pylons).)
Now, I'm trying to understand what happened to your webserver: you said
that changing py24-* to py25-* broke it. Maybe I'm mistaken, but I
see just 7 py-* ports that have any relationship with Zope. These are:
databases/py-psycopg [WITH_ZOPE optional]
devel/py-zopeInterface
devel/py-twistedCore [dependent on devel/py-zopeInterface]
lang/py-mx-base [WITH_ZOPE optional]
x11-toolkits/py-kiwi [optionally linked with devel/py-zopeInterface]
devel/py-zconfig [not sure about this one]
textproc/py-zpt [not sure about this one]
The presence of 'WITH_ZOPE' flag will force the port to use correct
version of Python:
# cd /usr/ports/lang/py-mx-base/
# make USE_ZOPE=yes
===> py23-mx-base-2.0.6 depends on file: /usr/local/bin/python2.3 - not found
===> Verifying install for /usr/local/bin/python2.3 in /usr/ports/lang/python23
(ZOPE_VERSION is also available.) So where is the connection between
zope and py-* ports that crashed your webserver? Please elaborate on
this, i.e. how does you webserver depend on py24-*?
In meantime, if you just need py24- versions of several ports, you can
do something like this:
# portupgrade -f -r -m "PYTHON_VERSION=2.4" py25-imaging
This will install py24-imaging and rebuild ports dependent on it (e.g.
graphics/skencil). Use '-n' flag to see what will happen first.
This is a quick and non-elegant help to get your webserver working
again. If you provide more information you will surely get more
in-depth explanation and more elegant solution from someone, preferably
from other Zope users.
Nikola Lečić
More information about the freebsd-questions
mailing list