Page MenuHomeFreeBSD

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

Authored by arrowd on Mar 31 2019, 7:42 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 14, 11:34 AM
Unknown Object (File)
Fri, Nov 8, 6:46 AM
Unknown Object (File)
Fri, Nov 8, 5:50 AM
Unknown Object (File)
Thu, Nov 7, 3:59 AM
Unknown Object (File)
Mon, Nov 4, 5:07 PM
Unknown Object (File)
Oct 18 2024, 9:31 PM
Unknown Object (File)
Oct 18 2024, 7:20 AM
Unknown Object (File)
Oct 18 2024, 6:42 AM
Subscribers

Details

Summary

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

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
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.

security/klee/Makefile
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.