On Sep 18, 2009, at 01:44, Bryan Blackburn wrote:
Are you willing to build all 6100+ ports to verify all of them are
okay with
+with_default_names?
Also, note that some of these ports are dependencies for other
ports, so it
may not simply be a case of "you wanted it, so you must want it as the
default". For example, I have m4 and gsed installed solely as
dependencies,
and I believe that's how I've ended up with coreutils before.
Exactly. I don't have gsed because I want gsed; I have it because php5
requires it. That is, php5 doesn't require it; it would work fine with
bsd sed. But if gsed is present, php5 encodes the name "gsed" into one
of its scripts; if I were to uninstall gsed later, a part of php5
would break. Once I realized that, I had to either add the dependency
or patch php5. The former was easier and more future-proof than the
latter.
Mark brought the with_default_names issue up with me a few weeks ago
and I convinced him that putting the unprefixed binaries into $
{prefix}/libexec/something would be an ok solution. I, too, would like
to get rid of the with_default_names variants, but having the software
install with default names always is not acceptable for the reasons
mentioned. It would break tons of stuff. I presume that is the reason
why e.g. gsed was changed to not install that way by default over four
years ago in r13825. We don't want to re-break what that fixed.
I'm not sure what "something" in ${prefix}/libexec/something should
be. I suggested ${name} because that's what other ports use. Mark
suggested "gnubin". "gnubin" would be convenient in that you would
only have to add one path to your PATH to pick up all installed GNU
utilities. On the other hand, might there be a reason when you would
want only specific GNU utilities and not others? Might you want to
only have the GNU sed and keep the BSD awk, say? If so, then putting
each port's binaries in its own directory would give you that freedom.
Heck, we could have it both ways: each port could create two symlinks
to each program, one in ${prefix}/libexec/gnubin and one in ${prefix}/
libexec/${name}. Then the user can use whichever path they like.
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev