Subject: Re: two packages from a common base
To: Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>
From: Julian Assange <proff@iq.org>
List: tech-pkg
Date: 04/09/1999 13:59:00
Hubert Feyrer <feyrer@rfhs8012.fh-regensburg.de> writes:

> On Fri, 9 Apr 1999, Julian Assange wrote:
> > Move the current mpg123 package to mpg123-base. Create two other
> > packages mpg123-native and mpg123-nas. Have these two packages include
> > -base with the obvious over-rides. Possibly modify bsd.pkg.mk to do this
> > cleanly.
> 
> How about providing a binary that the user can decide what to do at
> runtime?

This neccesitates installing NAS, a reasonably large package, even if
only native support is desired. I was, to some extent using mpg123 to
elucidate a larger problem. That is currently we have a number ports
which have various options which are set on the command line at build
time. If these options are frequently used then should be represented
by different binary packages. Further, the package documentation
system is correctly represented via README.html (and it's various
source files) et al, and not joe comments in the Makefile.

There's a proper psychological barrier to polluting the second level
of pkgsrc with non-entry points, but rather internal dependencies of
one package or another. The alternative is extending the depth of
the pkgsrc hierarchy in order to provide something like:

pkgsrc/
       audio/
              mpg123/
                      mpg123-native/
                      mpg123-nas/
                      mpg123.inc/

There's some uglyness here because there is no naming convention to
distinguish a directory containing categories and a directory which is
a package leaf.

Julian.