Subject: Re: RFC: Subpackages from a single package Makefile
To: Julio M. Merino Vidal <email@example.com>
From: Johnny C. Lam <jlam@NetBSD.org>
Date: 05/31/2004 22:27:59
On Mon, May 31, 2004 at 09:04:13PM +0200, Julio M. Merino Vidal wrote:
> On Sun, 30 May 2004 19:39:08 +0000
> "Johnny C. Lam" <jlam@NetBSD.org> wrote:
> > (2) For package views users, it becomes easier to install bits of a
> > package into different views without dragging in the whole package
> > into every view. This becomes important with "extensible"
> > packages that need to be added to the depot directory of the
> > extended package, e.g. add just the Perl bits of cyrus-imapd-2.2.4
> > into the perl-5.8.4 depot directory.
> Have you considered the wrapper idea I proposed in a previous mail (from
> beginning of May, IIRC)?
> I don't like very much the idea of adding stuff of a package into the
> depot directory of another one... (but well, I could stand it if we
> have good granularity of packages, with this new framework...).
I must have missed it, but I'll see if I can find it and respond on a
> > (3) All subpackages are always built and installed if building from
> > source.
> I have to agree with this. This simplifies the build a lot, as one
> doesn't need to mess with the build infrastructure of the package
> (i.e., install everything and then create different binary packages).
> This is the "purpose", right?
Yes, this is exactly correct. We build everything, then install
everything, then just say that some files belong to one subpackage,
and other files belong to another subpackage.
> And at last, something that is not clear in the document. How do you
> specify different dependencies for the different subpackages?
> For example, consider librsvg2. The basic library could be in a
> librsvg2-lib package, which does not need to depend on gtk2. Then,
> there could be a subpackage, librsvg2-gtk2, providing the gtk module,
> which needs gtk2. There should be a way to specify which depends
> belong to each subpackage.
Eric Gillespie had the same question and I've outlined a way to do this
on this thread.
-- Johnny Lam <jlam@NetBSD.org>