Poudriere and python framework of ports

Shane Ambler FreeBSD at ShaneWare.Biz
Sat Jan 9 05:57:25 UTC 2016

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 -

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


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

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

FreeBSD - the place to B...Software Developing

Shane Ambler

More information about the freebsd-ports mailing list