Re: Questions regarding BUILD_DEPENDS definition
Date: Tue, 11 Apr 2023 10:23:37 UTC
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#n12 > > How 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