Subject: Re: Consistent "Optional Dependecy" handling
To: Jeremy C. Reed <reed@reedmedia.net>
From: Nate Hill <vugdeox@freeshell.org>
List: tech-pkg
Date: 07/31/2003 18:18:54
On Thu July 31 2003 18:03, you wrote:
> On Fri, 1 Aug 2003, Julio M. Merino Vidal wrote:
> > And you are screwed up with binary packages. This is all
> > wonderful when using pkgsrc directly, but how do you tell if
> > foobar-1.0.tgz in the ftp include gtk support or not? And, if it
> > included gtk by default, what happens if you don't need it and
> > don't want to rebuilt the package? etcetera... (though in some
> > cases they are really necessary...)
>
> We already do offer that feature (and yes, it could be a problem).
>
> The OpenBSD "FLAVOR" like solution would be for the name of the
> package to change too (i.e. add "-gtk" to the filename and maybe
> also package name).
Yes, I also realized that this problem exits as we speak. Basically,
binary packages reflect the settings in defaults.mk. Of course, doing
something as big as isolating GTK1-v-GTK2 support will make this
problem obvious (NetBSD will have to decide which to use by default).
I think the FLAVOR solution sounds good...
> And in another message on Thu, 31 Jul 2003, Nate Hill wrote:
> > Okay, so after learning some more about pkgsrc, I have a slight
> > and rough proposal:
> >
> > Standardize the USE* variables in bsd.pkg.defaults.mk:
> >
> > USE_FOO <- generic YES|NO flag for feature FOO
>
> Yes.
>
> > USE_FOO_FOO2 <- use feature FOO2 for package FOO (specific
> > quirks)
>
> I think that the standard is to use the PACKAGE_USE_FOO (package
> name first).
Yes, this is probably better - it doesn't clog up the FOO_ namespace
and is also isolated by preceding package-name.
> > Allow package Makefiles to use conditional statements based on
> > USE variables:
>
> Many packages already do this :)
Can you give me an example?
> > Being able to set USE_GTK = NO in mk.conf would be extremely
> > useful...
>
> Need to find a developer who has the time to do this. Hopefully,
> you can provide some patches.
I do not have the experience required to implement a USE_GTK
infrastructure. However, if you can give me an example of conditions
in Makefiles and, and some USE_* methods I am more than willing to
convert some packages...
--
Nate Hill <vugdeox@freeshell.org>