#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