Re: Installed audio/alsa-plugins and dependencies
- In reply to: Jan Beich : "Re: Installed audio/alsa-plugins and dependencies"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 20 Feb 2024 20:15:55 UTC
> Port dependencies are not package dependencies It's literally defined as LIB_DEPENDS in the makefile. By definition LIB_DEPENDS are run time dependencies. > If you want to install only "alsa-plugins" (aka "main" subpackage) without extra plugins/dependencies just do it like before with all port options unset. It's not about what people want. These subpackages are included via OPTIONS. In the case that the OPTIONS are set, the alsa-plugins package needs to pull in the subpackages included by the options. Honestly, I don't see any other interpretation. The package manifest is wrong. If they are not intended to be package dependency, then the subpackages should be defined as BUILD_DEPENDS, not LIB_DEPENDS. But the manifest bug remains regardless of the intend of this particular port. On Tue, Feb 20, 2024 at 1:57 PM Jan Beich <jbeich@freebsd.org> wrote: > > jonc@chen.org.nz writes: > > >>> It appears to be missing the SUBPACKAGE dependencies. Is this > >>> intentional, or a bug? > >> > >> Intentional. See pkg-message: > >> > >> Plugins with extra dependencies moved into subpackages: > >> - alsa-plugins-ffmpeg > >> - alsa-plugins-jack > >> - alsa-plugins-pulseaudio > >> - alsa-plugins-samplerate > >> - alsa-plugins-speex > > > > In my opinion, that's _not_ correct. When we install any > > non-SUBPACKAGE package, anything listed in LIB_DEPENDS or USES are > > automatically listed as package dependencies. However, if I install > > audio/alsa-plugins, the only way I know what dependencies are required > > is to by consulting /usr/ports/audio/alsa-plugins/Makefile. And if > > audio/alsa-plugins was to be compiled with non-standard OPTIONS, it's > > impossible to tell what dependencies are _actually_ required. > > Port dependencies are not package dependencies. With subpackages a > single port can build multiple packages. As such, runtime dependencies[1] > and files are split between multiple packages. However, all build-only > dependencies are shared and not recorded in binary packages. When you > build from ports you build every subpackage[2], so you need to use > options to limit dependencies. > > If you want to install only "alsa-plugins" (aka "main" subpackage) > without extra plugins/dependencies just do it like before with all port > options unset. > > [1] what "make run-depends-list" shows > [2] until https://reviews.freebsd.org/D43789 >