Poudriere / makefile / python3 sqlite3 dependency
Phil Pennock
freebsd-questions+phil at spodhuis.org
Sun Nov 8 21:16:42 UTC 2015
Folks,
How do I declare a dependency upon py34-sqlite3 in a Ports Makefile,
please? In an environment where py27 is the default.
More context: Poudriere builds, ports tree overlay of meta-ports using
RUN_DEPENDS, `jail-foo` meta-port for installing in jail `foo` to pull
in all software dependencies. This setup has been working fine for the
past couple of years.
Mail-server port, pulls in mailman (so needs python2) and I want to
use some python3 scripts I wrote a while back but didn't get around to
enabling before now. python3 is installed, no problem. sqlite3, split
out from the main Python build, I have failed to persuade to build as
Python3.4.
With either of these, I can get as far as the error below:
RUN_DEPENDS+= py34-sqlite3>0:${PORTSDIR}/databases/py-sqlite3
USES= python:3
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
error in Poudriere output:
===> spodhuis-jail-hermes-20151108_1 depends on package: py34-sqlite3>0 - not found
===> spodhuis-jail-hermes-20151108_1 depends on package: /packages/All/py27-sqlite3-3.4.3_6.txz - not found
===> dp_USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source
I haven't yet seen a method of using the `:target` part of a RUN_DEPENDS
specification to influence which version of Python should be used by the
depended-upon port, rather than the depending port. I've tried a number
of other approaches, all of which have so far failed.
What _should_ I be doing to build this port automatically, so that I can
keep up-to-date with Poudriere builds, please?
Thanks,
-Phil
More information about the freebsd-questions
mailing list