Remove +with_default_names and use a specific path for unprefixed binaries

Mark A. Miller mark at mirell.org
Fri Sep 18 07:58:51 PDT 2009


On Fri, Sep 18, 2009 at 6:40 AM, Ryan Schmidt <ryandesign at macports.org>wrote:

> On Sep 18, 2009, at 06:20, Markus Weissmann wrote:
>
>  On Fri, September 18, 2009 12:55, Ryan Schmidt wrote:
>>
>>>
>>>
>>  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.
>>>
>>
>> The logical extension to this would be, to have a separate libexec/${name}
>> directory for each port -- which imho is a bit excessive.
>>
>
> Yes, I did mean one libexec/${name} directory for each port that we're
> talking about here. I see this variant in coreutils, diffutils, findutils,
> gsed, gnetcat, gnutar, gwhich, and m4. gawk doesn't have this variant but
> whatever solution we come up with for the others could be applied to gawk as
> well. Whether having a separate directory for each of those is excessive
> depends on the purpose of having the directory in the first place. Since I
> am not a person who wants these utilities with their default names, I wasn't
> sure what those who do want that are wanting exactly, that's why I was
> asking.


Just based on my experience, I want it so I could add a particular directory
to my path, and try building various packages without having to worry about
"Dreaded Sed", "Ghastly Gawk", ...okay, I could only come up with two
rhymes, but you get my point.

Doing a separate path for each separate utility would be...insane, I think.
And doesn't really give me what at least I would want to use it for. I
either want all GNU or all BSD, no mixing flavors.


>  I assume that most people who select "with_default_names" variants are
>> those who prefer GNU tools to BSD tools (Mac OS X respectively).
>> In this case, ONE separate libexec/gnubin or libexec/gnu directory with
>> un-prefixed executables would do. I you want the power to select the name
>> for each and every executable, then for gods sake, make your own directory
>> with symlinks: Its the same amount of work then.
>>
>
> Ah, true, nothing is preventing anyone from making their own symlinks
> somewhere. In which case, there isn't even a problem with just removing the
> with_default_names variants entirely and not creating a replacement. But it
> would be nice to at least symlink them into one directory.


Symlinking doesn't always work. There are some packages (yes, scary enough)
that *despite* the fact you have a perfectly fine symlink in a directory for
it, try to do something like "stat -L" on the symlink for the utilities
path. It's rare, but I've seen it occur. (It's also sick and broken, but
what can you do...)

-- 
Mark A. Miller
mark at mirell.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20090918/e21830cc/attachment.html>


More information about the macports-dev mailing list