On Sat, Jul 12, 2003, Matthias Kurz wrote:
> What is a "frood" ? :)
AFAIK it's a term coined by Douglas Adams in 'The Hitchhiker's Guide to
the Galaxy'. But ask Michael van Elst for his original source...
> And is there a way to use the MTA that is installed on the system ?
> Same for DNS, JRE, JDK, ...
No, OpenPKG does not support the reuse of system components. There are
various reasons behind this, mostly all of non-technical nature. The
most prominent reason is that this breaks the self-containedness and the
maximum OS independence, which are major design goal of OpenPKG.
Nevertheless one can easily workaround this if one insists on doing it:
just create a dummy OpenPKG package which "Provides: MTA" and contains
nothing more than a <prefix>/sbin/sendmail executable. This can be
just a symlink to /usr/sbin/sendmail or (if you want to be more smart)
a small wrapper which searches for a suitable MTA dynamically on the
system. Or let at least the .spec file search for a suitable MTA on
the various platforms and hard-code this into the package.
> Looking at the output of "openpkg build -Z -S gcc" there are quite
> a few such virtual packages. How can i find out, what package provides
> the needed functionality ?
Any(!) package which provides the virtual target "MTA" is ok. Just pick
the one you like. Which package provides "MTA" you can see with "rpm
-qpi ..." individually or all at once by quering from the index. I know
just this (little but unclean) approach:
$ openpkg build -Z MTA 2>/dev/null | grep "# [0-9]:"
# 0: postfix-2.0.13-20030710 = /e/openpkg/SRC/postfix-2.0.13-20030710.src.rpm
# 1: exim-4.20-20030710 = /e/openpkg/SRC/exim-4.20-20030710.src.rpm
# 2: sendmail-8.12.9-20030710 = /e/openpkg/SRC/sendmail-8.12.9-20030710.src.rpm
# 3: ssmtp-2.48-20030710 = /e/openpkg/SRC/ssmtp-2.48-20030710.src.rpm
For "gcc" this doesn't work, because the target "gcc" has just
one official/canonical solution -- the "gcc" package -- and no
_alternatives_. Hence "openpkg build" seems to know that only "gcc"
is used. That the packages "gcc32" and "gcc34" also "Provide: gcc" is
just because they are _enforceable replacement_ packages and for those
types of packages, you don't have to search: "xxx" is _THE_ package and
"xxx<N>" is a replacement package. I'll add some information about this
to the FAQ to make sure this does no longer confuse people.
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
______________________________________________________________________
The OpenPKG Project www.openpkg.org
User Communication List [EMAIL PROTECTED]