how to make pkg ignore some dependencies?
Polytropon
freebsd at edvax.de
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".
https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/
5.9. Dependencies:
https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-depend.html
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list