Page MenuHomeFreeBSD

security/klee: Depend on `python3` executable at runtime.

Authored by arrowd on Mar 31 2019, 7:42 AM.



Not sure if I did it right, but I haven't found anything in that would add python3 executable to depends list

Diff Detail

rP FreeBSD ports repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

python3 is only a symlink, not an actual executable. You need one of the actual python3.x packages. Also the python3 port does not follow eg. a custom DEFAULT_VERSIONS=python=3.7 -- for that you need DEFAULT_VERSIONS=python3=3.7 -- which puzzled me for some time after I switched all my systems to the latest python-3.7, and yet pkg kept insisting that python-3.6 needed to be installed...

This technically make the port flavored, but as there would only be the python-3.6 flavour built by default, you should be able to get away without PYTHON_PKGNAMEPREFIX or PYTHON_PKGNAMESUFFIX.

18 ↗(On Diff #55645)

You shouldn't depend on one of the convenience meta-ports for pkg dependencies. Those are purely for human usage.

20 ↗(On Diff #55645)

Instead say ...

USES= ... python:3.5+,run ...

(3.5+ because that's both what's currently available in ports and what is generally supported upstream nowadays for python3)

There is nothing in USES=python because the python, python2 and python3 are purely for end users convenience, they cannot be used as dependencies. You need to use USES=shebangfix. If the installed files references /usr/local/bin/python3, they should be patched to reference ${PYTHON_CMD}.

Side note, if you add python3 to the dependencies, you your port no longer passes QA checks.

arrowd marked 2 inline comments as done.

Remove python3 dependency, use python:3.5+.

This revision is now accepted and ready to land.Apr 5 2019, 5:04 AM
This revision was automatically updated to reflect the committed changes.