Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2020 02:01:15 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Lonnie Cumberland <lonnie@outstep.com>
Cc:        FreeBSD <freebsd-questions@freebsd.org>
Subject:   Re: how to make pkg ignore some dependencies?
Message-ID:  <20200728020115.28c4ff4e.freebsd@edvax.de>
In-Reply-To: <CAPmsJLBFpWJwqUBv0FuO1o5xYrMRfissBiRZhdaGiB28Kb3Y1w@mail.gmail.com>
References:  <CAPmsJLBFpWJwqUBv0FuO1o5xYrMRfissBiRZhdaGiB28Kb3Y1w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200728020115.28c4ff4e.freebsd>