Port dependencies
Warren Block
wblock at wonkity.com
Sat Apr 2 00:34:37 UTC 2011
On Fri, 1 Apr 2011, Chris Telting wrote:
> One of my biggest gripes with the ports system is dependency hell. Ports
> link against so my optional components and pull them into the install.
> Libraries and components are built based on make file defines. But this
> doesn't have to be so. It's possible and easy enough to check a running
> system for which libraries are installed and only if a feature is enabled to
> load the library.
Port Makefiles already have BUILD_DEPENDS, RUN_DEPENDS, and LIB_DEPENDS,
which do this automatically.
> The number of console programs that want to pull in X window or kde is
> my boggling.
Those would not really be console programs, then, or their dependencies
are directly or indirectly dependent on X or KDE.
> Knowing how to program myself when I see a "make config" menu on every
> single port it makes me want to cry. I think the "make config" menus
> should have everything checked by default and only be provided to
> prevent things from being compiled such as for embedded devices.
You are mistaken about what the config options do. For example, I have
hal installed, but don't want to use it when building xorg-server. The
config options make that easy.
> My question is why is this so? Why can't programs do more run time
> configuration? Is a configuration run time system library needed to
> make it easier?
Letting the user explicitly configure what they want is better than just
assuming based on what they have installed.
If you really want to avoid the config options, set the BATCH variable
in make.conf or on the command line. Or use config-recursive to get all
of the config options over with at the beginning of the build.
More information about the freebsd-questions
mailing list