Subject: Re: providing a feature/capability instead of specific package
To: Hubert Feyrer <hubert@feyrer.de>
From: Julio M. Merino Vidal <jmmv@menta.net>
List: tech-pkg
Date: 10/14/2004 20:29:51
On Thu, 14 Oct 2004 19:36:53 +0200 (CEST)
Hubert Feyrer <hubert@feyrer.de> wrote:
> On Thu, 14 Oct 2004, Julio M. Merino Vidal wrote:
> > I think that what RPM or Debian packages do is to pick up a default package
> > for each feature (at least Debian picked up exim for 'mta', IIRC). This way,
> > if the feature is not installed, a package is picked up automatically;
> > otherwise, the one installed in the machine will be used.
>
> This does not answer my question.
"Ouch"
> Right now, a mapping from dependency to a filename to download/install is
> easy. How do you propose to map 'mta' to 'exim'?
It depends on how we implement this. It could simply be hardcoded in the
packages 'we depend on mta; if it's not available we install exim'. Maybe ugly
because different packages could have different defaults (not that matters much,
since they'd be requiring the same service).
Or we could have a "table" somewhere (i.e., pkgsrc/mk/virtualpkgs.mk or whatever
we call them) that says 'mta defaults to mail/exim>=version.x.y.z with binary
package 'exim'). This table could be later hardcoded in pkgs (and used
appropiately with help of pkg_install), or used to generate regular dependencies
such as {mta,exim}-[0-9]*. Anyway, it looks like we'll have to do changes in
pkg_install to support this properly. But it's difficult to imagine without
actually thinking in how we might implement it.
Maybe it is not that easy, but is certainly doable.
> What if sendmail is installed?
It is used, given that it provides the feature being requested (and the default
is ommited).
Cheers
--
Julio M. Merino Vidal <jmmv@menta.net>
http://www.livejournal.com/users/jmmv/
The NetBSD Project - http://www.NetBSD.org/