Subject: Re: lightweight groff package?
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
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 <tv@pobox.com>