Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jan 2016 16:22:00 +1030
From:      Shane Ambler <FreeBSD@ShaneWare.Biz>
To:        Yasuhiro KIMURA <yasu@utahime.org>, freebsd-ports@freebsd.org
Subject:   Re: Poudriere and python framework of ports
Message-ID:  <5690A000.3010909@ShaneWare.Biz>
In-Reply-To: <20160109.115115.720784853649304585.yasu@utahime.org>
References:  <20160109.115115.720784853649304585.yasu@utahime.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 09/01/2016 13:21, Yasuhiro KIMURA wrote:

> But on poudriere with 10.2-R jail the result is different as
> following:
>
> * "poudriere testport -j 102release -o mail/postfix-policyd-spf-python"
>    fails at check-sanity phase.
> * Some dependents (such as mail/py-authres or mail/py-pyspf) are build
>    as python 2 packages (py27-authres-0.800, py27-pyspf-2.0.12_3, and
>    etc.)
>
> Then what is the cause of failure on poudriere? Is there something
> wrong with my patch, or is this bug of either poudriere or python
> framework of ports? Would someone please let me know?

In poudriere each port is built independently, that is they don't
inherit the specified python version from the port triggering the build
as a dependency. It is possible that poudriere could be adjusted to
compensate for this. It would require considering PYTHON_VERSION and
using pkg names when dealing with dependencies instead of just the port
origin. So, yes to a poudriere bug.

For now - to get ports to build in poudriere with python3 you need to
create a make.conf for the poudriere jail -
/usr/local/etc/poudriere.d/jailname-make.conf

To get all ports built with python3 as the default version add

DEFAULT_VERSIONS= python=3.5

To get python3 ports that install into a system that has py2.7 as
default you need to have

DEFAULT_VERSIONS= python=2.7 python3=3.5
PYTHON_VERSION= python3.5

As the default python is still 2.7 I believe the port will need to
define IGNORE. Something like -

.if defined(PACKAGE_BUILDING) && ${PYTHON_DEFAULT} == 2.7
IGNORE= requires python3 dependencies and must be built manually
.endif

-- 
FreeBSD - the place to B...Software Developing

Shane Ambler




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