how to make pkg ignore some dependencies?

Polytropon freebsd at
Tue Jul 28 00:01:19 UTC 2020

On Mon, 27 Jul 2020 19:17:52 -0400, Lonnie Cumberland wrote:
> Lately, I have been working with various packages from the FreeBSD 12.1
> package system and noticed something interesting.
> I can do "pkg install xorg-minimal" which installs about 63 packages
> and have noticed that if I do a "pkg fetch -d -o /some/path xorg-minimal"
> then I can get all of the packages downloaded.
> Then, when I look through all of the download packages, I can notice that
> some of them are not truly required for a minimal installation of Xorg.
> (i.e. llvm80, py37, perl, etc..)

Yes, that's really annoying.

For example, pdftk requires gcc6 and binutils, wine requires
gcc9, and ffmpeg even installed python 2.7 and 3.6...

> I also notice that the "xorg-minimal.txz" package, itself, is really just a
> small meta-package in this case and am trying to determine where it lists
> the dependencies that make up the 63 packages that it wants to download.
> With this in mind, I would like to find out if there are some settings that
> can be used with the "pkg" command such that I can tell it to leave out
> some of the packages that it wants to download and install?

That can be found out from the Makefile of a part which is
used to build the dependency trees. Runtime dependencies
(RDEPS or RUN_DEPENDS) contain packages that need to be
installed for the program to run, and build dependencies
(BDEPS or BUILD_DEPENDS) are those needed to build the
package from source. Maybe somewhere a port maintainer
did a mistake and listed build dependencies as runtime
dependencies? It could also be some "indirect dependency
issue" where a dependency depends on something else that
isn't acutally needed.

People don't have time to check dependency trees... ;-)

> Or, is there some place that I can find out how the xorg-minimal package is
> set up so that I can create maybe a new package called "xorg-ultra" or
> something that leaves out the unnecessary packages?

Yes, you can start with the port, and in case of this
meta-port, it should be quite easy, as there are only
a few files.

The Makefile is the most important one.

> I am looking at freshports to see if that helps also, but still
> investigating all of this.

Just obtain the latest ports tree (via svn), or use
portsnap, and then you'll have all you need locally
installed in /usr/ports on your machine.

More general advice can be found in "The Porter's Handbook".

5.9. Dependencies:

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list