Subject: Re: lightweight groff package?
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Todd Vierling <email@example.com>
Date: 08/20/2003 15:53:21
On Wed, 20 Aug 2003, Greg A. Woods wrote:
: I've demonstrated that only using static libraries from other packages
: and turning all those run-time dependencies into build-time dependencies
: pretty much elimiates all the hassle and overhead of trying to update
: packages without de-installing and re-installing pretty much everything.
Right, but static libraries have runtime bloat too.
There's a judgment call to be made on a per-package basis:
* Does the package support offloading these extra facilities into loadable
modules? (Older and more well maintained large projects such as apache,
cyrus, php do.) This is normally a "clean" solution, and lends itself
readily to modular pkg-ization.
* If the dependency is only on runtime libraries, is the dependency "large"
or "small"? The answer to this question should determine whether shared
or static libraries are provided by default.
This split is somewhat well define in pkgsrc, though knobs to turn off
shared libraries, and replace DEPENDS with BUILD_DEPENDS, would be nice in
some key cases (like gettext <g>).
* Finally, is the dependency a fundamentally useful addition to the program
worthwhile of a full DEPENDS? In most cases in pkgsrc, this is true, even
if seen as bloat by some people. However, it can be useful to provide
knobs to turn *off* certain parts that are on by default, making "normal"
binary package builds fully functional -- but with the ability to trim on
a per-builder basis.
(I'd like to see a way to --disable-gtkspell via knob in chat/gaim, for
instance, as the gtkspell dependency pulls in at least four more things
including ncurses on NetBSD 1.6. Since I won't be redistibuting the
resultant binaries, there's no problem in providing the "off" knob.)
-- Todd Vierling <firstname.lastname@example.org>