[MacPorts] #19336: php5/swig: Remove apache2 from the default installation
MacPorts
noreply at macports.org
Sat Jul 18 08:31:22 PDT 2009
#19336: php5/swig: Remove apache2 from the default installation
--------------------------------------+-------------------------------------
Reporter: raimue@… | Owner: ryandesign@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.7.1
Keywords: default_variants apache2 | Port: php5 swig
--------------------------------------+-------------------------------------
Comment(by jameskyle@…):
This ticket has been stagnating for a while, but I feel pretty strongly
that php5 should be removed as a default variant until swig is split up or
apache2 is removed from the default variants of php5. I'll walk through my
reasoning for this, interim solutions, and address some concerns in this
ticket.
{{{I think removing the default +php5 may not be an option (as we can't
depend on specific variants yet).}}}
I've taken to using the above variant check for all my python swig
dependent ports. I would suggest that people depending on php5 + swig
could do the same. Defaulting to a "everything and the kitchen sink"
policy is not a direction we should be moving in. Further, the upgrade
process does not yet respect removed variants. For example, installing
swig with -php5 on a subsequent port upgrade outdated, it will happily
install php5 and an entire web stack while your not looking. The converse
is not true, if users had to specify +php5 this would be respected.
One method asserts a minor inconvenience up front, but respects that
choice throughout upgrade cycles. The other requires constant vigilance on
the part of the user.
{{{However this is not the default because we have many ports in MacPorts
for web apps which declare a dependency on php5. If php5 did not install
web support by default, those web apps would not be usable.}}}
I think the variant checks could solve this issue for those apps. I
realize this puts an extra burden on maintainers, but the opposite policy
puts a significant burden on the non-web admin/developer macports user. It
makes sense that whenever possible, we should shift such technicalities
onto the maintainers rather than the users who may not even be aware of
the issue prior to installing.
{{{swig, in its own right, declares dependencies on as many languages as
possible by default, since ports that declare dependencies on swig assume
swig can generate any requested language binding.}}}
This is not completely true, of the possible 17 variants only 4 are
default. Given they're likely the most common 4 languages and I have
nothing against php5. However, it's the fact that by default php5 brings
in a wicked dependency tree that's gaining it this attention. I don't
think there'd be near the issue if the php5 variant only installed php5.
I think what this boils down to is that a package manager shouldn't make
wild presumptions as to the user's intentions. I would call the
presumption that a user wants to run a full web stack based on their
indirect installation of swig falls into the "wild speculation" category.
Assuming that a user may want to create bindings between the X most
popular languages when they install swig does not.
For that reason, until either apache2 is removed from php5, swig is
rewritten to bust up the language dependencies, or macports incorporates
better variant dependency support php5 should be removed from the default
swig variant list.
--
Ticket URL: <http://trac.macports.org/ticket/19336#comment:8>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list