From owner-freebsd-python@FreeBSD.ORG  Sun Sep 18 18:40:35 2005
Return-Path: <owner-freebsd-python@FreeBSD.ORG>
X-Original-To: python@freebsd.org
Delivered-To: freebsd-python@FreeBSD.ORG
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4D60B16A41F;
	Sun, 18 Sep 2005 18:40:35 +0000 (GMT)
	(envelope-from gavin.atkinson@ury.york.ac.uk)
Received: from mail-gw1.york.ac.uk (mail-gw1.york.ac.uk [144.32.128.246])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 946DC43D46;
	Sun, 18 Sep 2005 18:40:34 +0000 (GMT)
	(envelope-from gavin.atkinson@ury.york.ac.uk)
Received: from ury.york.ac.uk (ury.york.ac.uk [144.32.108.81])
	by mail-gw1.york.ac.uk (8.12.10/8.12.10) with ESMTP id j8IIeWKG005488; 
	Sun, 18 Sep 2005 19:40:32 +0100 (BST)
Received: from ury.york.ac.uk (localhost.york.ac.uk [127.0.0.1])
	by ury.york.ac.uk (8.13.1/8.13.1) with ESMTP id j8IIeTne090206;
	Sun, 18 Sep 2005 19:40:29 +0100 (BST)
	(envelope-from gavin.atkinson@ury.york.ac.uk)
Received: from localhost (gavin@localhost)
	by ury.york.ac.uk (8.13.1/8.13.1/Submit) with ESMTP id j8IIeTrh090203; 
	Sun, 18 Sep 2005 19:40:29 +0100 (BST)
	(envelope-from gavin.atkinson@ury.york.ac.uk)
X-Authentication-Warning: ury.york.ac.uk: gavin owned process doing -bs
Date: Sun, 18 Sep 2005 19:40:29 +0100 (BST)
From: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
X-X-Sender: gavin@ury.york.ac.uk
To: Mark Linimon <linimon@lonesome.com>
In-Reply-To: <20050918154406.GA5846@soaustin.net>
Message-ID: <20050918182556.G89636@ury.york.ac.uk>
References: <20050918101327.H86911@ury.york.ac.uk>
	<20050918154406.GA5846@soaustin.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-York-MailScanner: Found to be clean
X-York-MailScanner-From: gavin.atkinson@ury.york.ac.uk
Cc: kris@freebsd.org, python@freebsd.org
Subject: Re: Fixing port www/zope-cmfphoto
X-BeenThere: freebsd-python@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: FreeBSD-specific Python issues <freebsd-python.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-python>, 
	<mailto:freebsd-python-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-python>
List-Post: <mailto:freebsd-python@freebsd.org>
List-Help: <mailto:freebsd-python-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-python>,
	<mailto:freebsd-python-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Sep 2005 18:40:35 -0000

On Sun, 18 Sep 2005, Mark Linimon wrote:

> On Sun, Sep 18, 2005 at 11:04:27AM +0100, Gavin Atkinson wrote:
>> my first attempt at understanding the ports build infrastructure.
>
> Well, you've chosen a complex topic on which to dive into it :-)

Often the best way to learn :)

>> Despite zope-cmfphoto declaring it requires Python 2.3 (indirectly, via
>> the USE_ZOPE=yes option), somehow RUN_DEPENDS is being populated with
>> py24-imaging-1.1.5.tbz rather than py23-imaging-1.1.5.tbz - presumably
>> this is being done by the pointyhat build scripts based soley on the fact
>> that it is the newest/default version?
>
> As best I can tell the pointyhat scripts use packages as prerequisites
> for every port that gets built.  (Otherwise, the amount of time required
> for the builds would be vastly increased).  My guess is that the default
> package of py-imaging maps to py24-imaging rather than py23-imaging.
> Let's see if that's correct ....
>
> Here is a graphical map of the dependencies as seen by a system that has
> Python 2.4 installed on it:
>
> http://portsmon.FreeBSD.org/portdependencytree.py?category=www&portname=zope-cmfphoto
>
> So www/zope-cmfphoto depends on lang/python23 and graphics/py-imaging;
> but graphics/py-imaging depends on lang/python (2.4), which would, when
> compiled in a clean system, indeed produce package py24-imaging, not
> py23-imaging.
>
> So this may be more a problem with the framework, not with pointyhat
> (e.g. the fact that you can only depend on a port, not a specific package
> of it).

I wonder if the way forward is to define a list of flags which are to be 
inherited by dependencies...  For example, a similar issue will presumably 
also affect Perl ports, and possibly ports with USE_GCC version 
dependencies (eg if one port is compiled with one version and a dependency 
is compiled with another version of GCC, there is no guarantee the two can 
be linked together).

> My guess would be that we need to mark these as NO_PACKAGE as a workaround
> until Zope can fix their code to not rely on 2.3, as some of these other
> ports have done.

This has since been done.  Once I understand the infrastructure a bit 
more, I might have a look to see if there is a solution to this issue, 
although I suspect it'll be beyond my abilities.

Thanks,

Gavin