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

Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 23495
Build 22502: arc lint + arc unit

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

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

19

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.