On 6/27/2016 1:48 PM, Jan Beich wrote: > Bryan Drewery <[email protected]> writes: > >> On 6/26/16 5:00 AM, Jan Beich wrote: >> >>> [email protected] writes: >>> >>>> Ident: $FreeBSD: head/multimedia/vapoursynth/Makefile 415615 >>>> 2016-05-22 01:10:34Z jbeich $ >>>> Log URL: >>>> http://beefy5.nyi.freebsd.org/data/101i386-default/417455/logs/vapoursynth-r32.log >>>> Build URL: >>>> http://beefy5.nyi.freebsd.org/build.html?mastername=101i386-default&build=417455 >>>> Log: >>>> >>>> build started at Sat Jun 25 02:32:41 UTC 2016 >>> [...] >>>> =======================<phase: build-depends >============================ >>>> ===> vapoursynth-r32 depends on executable: sphinx-build - not found >>>> ===> vapoursynth-r32 depends on package: >>>> /packages/All/py34-sphinx-1.4.4.txz - not found >>>> ===> USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from >>>> source >>>> *** Error code 1 >>> >>> I'm starting to get failures for a port that hasn't changed for a month. >>> Anyone got a clue? The regression appears to be from r417413 which landed >>> without an exp-run suggesting any fallout is due to badly written ports. >>> >> >> r417413 was the right fix either way as the old code before the >> do-depends.sh conversion was also passing DEPENDS_ARGS: >> >> subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ >> >> The problem here is a bug in Poudriere not handling DEPENDS_ARGS >> properly. The port is forcing python3 as the default even though >> packages are built with default 2. Dependencies are only built for >> python2 and this port wants a python3 dependency. > > sphinx-build is called by gmake, not python, so any python version would > work fine. Notice, the dependency line doesn't specify PYTHON_PKGNAMEPRIFX. >
~/svn/ports/multimedia/vapoursynth # make -V DEPENDS_ARGS PYTHON_VERSION=python3.4 This means it will force any dependencies of python to build for 3.4. This happens in any direct usage of ports, including portmaster and portupgrade. Poudriere is wrong here to not build a py34-sphynx. If it really doesn't matter what version it is then the dependency could be changed to the specific package name of the default python, but ... PYTHON_USES= python:3.3- This line forces vapoursynth to be built for 3.4. Removing the :3.3- fixes the problem: ~/svn/ports/multimedia/vapoursynth # make -V DEPENDS_ARGS PYTHON_VERSION=python2.7 >> It's covered in >> https://github.com/freebsd/poudriere/issues/259. I've been working on a >> fix lately and am close to having it complete, which is why I did >> r417413, because the framework was doing the wrong thing. > > I don't see how that issue would help here. It helps because you need to understand the DEPENDS_ARGS feature to understand what's going on here. It's quite an old feature that poudriere has failed to support, which causes these USE_PACKAGE_DEPENDS_ONLY failures. Note again that the fix I made in r417413 was fixing a regression from when the dependency handling in Mk/bsd.port.mk was moved to Mk/Scripts/do-depends.sh. > > py27-sphinx, py34-sphinx, etc. cannot be installed at the same time due > to a conflict in bin/sphinx-*. If something else installed the port Right, nothing I'm working on allows installing multiple versions of the same package at the same time. I am fixing Poudriere to build multiple versions of dependencies in its queue, rather then only building the python2.7 version of dependencies and thus hitting the problem you mailed about. > using different python version vapoursynth would fail to build due to > unsatisfied dependencies. > -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature
