Ryan Schmidt <ryandesign@macports.org> on Sunday, December 17, 2006 at 10:57 PM -0800 wrote:
Naming is important. I think "macosx" is a terrible name for a variant because it doesn't mean anything to someone that doesn't already know. I like the snmp variants to php5 as a model. Probably because I contributed them.
+snmp +macports_snmp
It seems clear to me what each one days. And if it still weren't clear there are the Portfile comments.
# This compiles PHP5 with SNMP linked against Apple's included NET- SNMP.
# This compiles PHP with SNMP linked against MacPorts' NET-SNMP.
I object to this naming (for the SNMP port as well, I just forgot to say so before) because the MacPorts philosophy has always been to build its own versions of software, and not use any versions Apple may already have installed with the OS. This is explained in the FAQ:
http://trac.macosforge.org/projects/macports/wiki/ FAQ#WhyisMacPortsusingitsownlibraries
Therefore, one should be able to assume that a variant uses MacPorts software only, unless otherwise noted.
Though the standards and documentation to which you refer do not impose naming conventions, I do think the names can reflect this and I agree with you. I liked the clarity of the names and the naming method for the snmp variant, I wasn't necessarily enamored of the names themselves.
Therefore, I would have the +snmp and +apache variants using the MacPorts versions of that software, and introduce new variants to handle the cases where using the Apple software is desired. (I haven't done research on what other ports like this are doing, but maybe +snmp_apple and +apache_apple.)
That's what I was thinking too, unless someone else can think of a better name I think that is probably the best way to go.
Incidentally, I'm seeing this question in the FAQ
http://trac.macosforge.org/projects/macports/wiki/ FAQ#WhenIinstalltheportofPHP5MacPortswantstoinstallApache1.3eventhoughIu seApache2.WhatdoIneedtodo
which suggests that the php5 port already supports all three Apache options:
- with the apache2 variant, it builds Apache 2 from MacPorts - with the apache variant, it uses Apache 1 from Apple - with no variant, it uses Apache 1 from MacPorts
If this behavior indeed exists (I have not confirmed it), it strikes me as bizarre, and I would want to change it to something more sane and understandable like:
- with the apache2 variant, it builds Apache 2 from MacPorts - with the apache variant, it builds Apache 1 from MacPorts - with the apache_apple variant, it uses Apache 1 from Apple - with no variant, no Apache support of any kind is built
I think that makes sense. Mark