USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source

Bryan Drewery bdrewery at FreeBSD.org
Mon Jun 27 21:22:30 UTC 2016


On 6/27/2016 1:48 PM, Jan Beich wrote:
> Bryan Drewery <bdrewery at FreeBSD.org> writes:
> 
>> On 6/26/16 5:00 AM, Jan Beich wrote:
>>
>>> pkg-fallout at FreeBSD.org 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20160627/fae582fd/attachment.sig>


More information about the freebsd-ports mailing list