On 6/6/24 06:52, Piotr Smyrak wrote:
On Thu, 6 Jun 2024 15:16:33 +0200
Miroslav Lachman <000.f...@quip.cz> wrote:
On 06/06/2024 14:30, Martin Waschbüsch wrote:
Hello port list,
I use poudriere to create my own repositories for typical
webservers we run (apache, mariadb, php).
Some change(s) in some port(s) seem to have introduced loads of
additional dependencies (X, wayland, gtk) mostly unwanted on the
type of system we run.
I know how to find out dependencies for installed packages, but
that does not help here as the packages are not yet built.
Is there a way (other than searching the commit logs for all
packages I plan to build) to pinpoint the package(s) that
introduced the new dependency?
If you have the ports tree extracted and updated, running:
$ cd /usr/ports/`pkg info -qo foo`
$ make all-depends-list
… in the package port dir and its direct dependencies shall let you
figure it out. Please do note that dependencies may change depending
on the choice of OPTIONS. Packages are built with the defaults chosen by
port maintainers.
If your ports tree is indeed a git repo with something like this you
shall get a sinking list of changes made to Makefiles of your affected
port/package dependencies:
$ cd /usr/ports/`pkg info -qo foo`
$ make all-depends-list | sed -e 's@/usr/ports@../..@; s@$@/Makefile@;'
| xargs git log -p
If not wanting to know what poudriere uses for building but rather care
about what systems using the results will need installed once poudriere
is done, you likely want `make package-depends-list` to base it solely
off of the ports tree. You could use `make actual-package-depends` to
base it off of currently installed packages that could satisfy
dependencies but that is more for an unclean environment build process
like using the ports tree from the installed system directly.
If analyzing the build process instead of just what a package install
will bring in, you can subdivide all-depends-list with
build-depends-list, run-depends-list and test-depends-list.