Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Apr 2006 12:21:33 GMT
From:      "Matthew X. Economou" <xenophon+fbsdports@irtnog.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/95584: A port's "USE_ZOPE=yes" overrides PYTHON_VERSION if set by the package builder
Message-ID:  <200604101221.k3ACLXni002755@www.freebsd.org>
Resent-Message-ID: <200604101230.k3ACUGFa003162@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         95584
>Category:       ports
>Synopsis:       A port's "USE_ZOPE=yes" overrides PYTHON_VERSION if set by the package builder
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 10 12:30:16 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Matthew X. Economou
>Release:        5.4-RELEASE
>Organization:
IRTNOG.ORG
>Environment:
FreeBSD cinep011fbvoip.irtnog.org 5.4-SECURITY FreeBSD 5.4-SECURITY #0: Tue Feb 28 20:13:51 UTC 2006     root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
Ports that define "USE_ZOPE=yes" in their Makefiles ignore the value
of PYTHON_VERSION set either in /etc/make.conf or on the make command
line.  This can cause problems for combinations of Python programs
that only work properly with a specific version of the run-time
environment.  For example, Plone 2.1 and Zope 2.8 require Python 2.3,
but the Plone port (which defines USE_ZOPE) depends on and builds
against Python 2.4.  This can cause compatibility problems, e.g. when
Zope (Python 2.3) tries to load Plone's byte-compiled files (Python
2.4).
>How-To-Repeat:
1. Install ports/www/zope28.  This will install ports/lang/python23
   automatically.

2. Add the following lines to /etc/make.conf:

    PYTHON_VERSION=python2.3
    ZOPE_VERSION=2.8

3. Install ports/www/plone.  Note that this causes ports/lang/python
   (Python 2.4) to install.  Note also that Plone will build against
   Python 2.4.
>Fix:
I don't know if this is the correct fix, but the following changes to
ports/Mk/bsd.python.mk work for me.  Someone who is more familiar with
the ports tree's make scripts should review these changes before
committing them.  With these changes, if PYTHON_VERSION is already
set, bsd.python.mk will not override it.

--- ports/Mk/bsd.python.mk.orig Mon Apr 10 08:18:51 2006
+++ ports/Mk/bsd.python.mk      Mon Apr 10 08:14:47 2006
@@ -204,9 +204,9 @@
 ZOPE_VERSION?= ${_ZOPE_VERSION}

 .if ${ZOPE_VERSION} == "2.7"
-PYTHON_VERSION=         python2.3
+PYTHON_VERSION?=         python2.3
 .else
-PYTHON_VERSION=         python2.4
+PYTHON_VERSION?=         python2.4
 .endif
 .endif # defined(USE_ZOPE)


>Release-Note:
>Audit-Trail:
>Unformatted:



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