Subject: Re: FLAVOR (was Re: RCD_SCRIPTS_DIR)
To: avon barksdale <avon@flatlet.net>
From: Julio Merino <jmmv@menta.net>
List: tech-pkg
Date: 10/24/2002 09:55:43
On Wed, 23 Oct 2002 21:19:57 -0500
avon barksdale <avon@flatlet.net> wrote:

> On Wed, Oct 23, 2002 at 06:18:17PM -0700, Jeremy C. Reed wrote:
> > NetBSD already has package specific options for many packages.
> 
> What do you mean exactly?  I don't think I made myself clear.  OpenBSD
> has something called the fake framework.  What happens is the port
> actually installs itself into a subdirectory of the work directory.
> This is done by augmenting the environment a bit.  It's really nice
> because a package is then made by tarring up the files listed in PLIST.
> Then the port is actually installed onto the system by extracting the
> tarball/package.  It's really nice because it makes PLIST management a
> lot more simple (and accurate).

This is something I like from OpenBSD's ports. You can make packages without
actually installing them. Although, this approach seems to require more work
for packages. For example: if you ./configure --prefix ${WRKDIR}/tmproot, all
files will get installed there. But, the program can also store this
information inside it (i.e., it will remember that etc files are in tmproot/etc
instead of the system directory, so programs need to be patched to install in
tmproot but use the sysconf directory... nice to debug packages ;)

How does OpenBSD's ports manage this?

> > Can you provide some examples of using FLAVOR(S) with NetBSD's pkgsrc
> > and how it would make things easier?
> 
> Well take Mozilla for example.  I don't want mail/news, ldap, or
> chatzilla.  For OpenBSD, it would like something like this:
> 
> FLAVORS=                chatzilla debug dynamic mailnews
> FLAVOR?=

pkgsrc currently has multiple versions of the same package (using the
Makefile.common stuff). But well, IMHO this is a bit hard to maintain,
specially when you want many "flavors" of the same pacakge. Although I've
listened sometimes that this is better than including variables because
binary packages generated from a pkgsrc will almost always be the same.

If we could generate different binary packages from a single pkgsrc,
depending of the options, I think this could be good.

> This is really helpful for applications which can use GNOME or just
> plain GTK.  If the default is to use gnome, then you're stuck building
> all of the gnome core & libs.  It's nice for increasing a users ability
> to build software only with the options they want.

As I said. For example chat/xchat (which is GTK only) and chat/xchat-gnome.

> > (Also MULTI_PACKAGES looks interesting for creating multiple packages of
> > same package each with different configs.)
> 
> Yes it ties in with FLAVOR quite a bit.

Can you explain a bit more what MULTI_PACKAGES is? (Or where to find more
info?)

Thanks!

-- 
Julio Merino (http://jmmv.dyndns.org/) <jmmv@menta.net>