Dependencies relationship to default variants?
Ryan Schmidt
ryandesign at macports.org
Fri Jul 11 01:02:34 PDT 2008
On Jul 10, 2008, at 23:50, Tabitha McNerney wrote:
> When I look at port dependencies for cyrus-sasl2 I get:
>
> $ port deps cyrus-sasl2
> cyrus-sasl2 has library dependencies on:
> openssl
> zlib
>
> When I look at file dependencies for cyrus-sasl2 I get:
>
> $ port info --depends_lib cyrus-sasl2 @2.1.21_0
> depends_lib: port:openssl, lib:libz:zlib
> and
>
> $ port info --depends_run cyrus-sasl2 @2.1.21_0
> no info for 'depends_run'
>
> and
>
> $ port info --depends_build cyrus-sasl2 @2.1.21_0
> no info for 'depends_build'
port info and port deps consider only the global definitions in the
portfile, not any additions that might be made to the dependencies by
any variant, even a variant that will be selected by default.
> but after installing cyrus-sasl2 (I never negate default variants),
> I discovered this default variant:
>
> $ port installed cyrus-sasl2
> The following ports are currently installed:
> cyrus-sasl2 @2.1.21_0+kerberos (active)
>
> Woah! Kerberos is a default variant? But there is no kerberos port,
> there is only a port named "kerberos5". And there is nothing
> regarding file dependencies about making use of a vendor's (e.g.,
> Apple's) install of kerberos.
>
> I don't know how to interpret the meaning of the default variant in
> the context of dependencies, given this example above.
I see this in the cyrus-sasl2 portfile:
default_variants +kerberos
variant kerberos {
if {[variant_isset darwin]} {
configure.args-append --enable-gssapi --with-
gss_impl=mit
}
if {[variant_isset freebsd]} {
configure.args-append --enable-gssapi --with-
gss_impl=heimdal
}
}
So apparently Mac OS X includes the MIT GSS implementation, and
FreeBSD includes the Heimdal GSS implementation, and cyrus-sasl2
makes use of those. It looks like on other platforms, the kerberos
variant will still be selected, but it will have no effect. Perhaps
one of the cyrus-sasl2 maintainers can comment further.
> Also, is there any way (before installing a port) to use the port
> command-line program to request a port's default variants
> information? Or is the only way to obtain this information to parse
> each port's Portfile and look for it that way?
You would like a way to know that the kerberos variant will be
selected by default for this port? I'm not sure if there is a port
command that will tell you that.
> The reason I ask is that I've been working on a very robust system
> for tracking, maintaining and auditing MacPorts for use mostly on
> Xserves. It has turned out to be quite a complicated process due to
> the intertangling (graphs essentially) of dependencies, sequence of
> installations, etc.
More information about the macports-users
mailing list