On 11/04/2023 09:45, Matthias Fechner wrote:
Dear all,I have a question regarding BUILD_DEPENDS. The manual in bsd.port.mk tells: # BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this# package depends to build (between the "extract" and # "build" stages, inclusive). The test done to # determine the existence of the dependency is the # same as FETCH_DEPENDS. If the third field ("target") # exists, it will be used instead of ${DEPENDS_TARGET}.So if I understood it correctly, it should only be used between the extract and build phase but should not be recorded as a dependency if the package is installed with pkg?But it seems that pkg is pulling the BUILD_DEPENDS while installing the package.Clear example is this one: https://cgit.freebsd.org/ports/tree/devel/gitlab-shell/Makefile#n12How can I define a build dependency that is required to build the port but is not installed with the port?
Your initial understanding was correct: BUILD_DEPENDS is for software required to build a package, but not necessary to be installed at run-time. In my experience, it works exactly as described.
If devel/gitlab-shell is pulling in security/heimdal when you're installing from a package repository, then something is clearly going wrong. pkg(8) only records the run-time dependencies in the packages it handles -- you can see those by `pkg info -d gitlab-shell`
If you're building the gitlab-shell package locally, then the BUILD_DEPENDS packages will be installed as part of the build process, but marked for `pkg autoremove` to delete.
Cheers,
Matthew
OpenPGP_signature
Description: OpenPGP digital signature
