[HEADS UP] perl symlinks in /usr/bin will be gone

Michael C. Shultz reso3w83 at verizon.net
Sun Jan 30 23:56:10 PST 2005


On Saturday 29 January 2005 12:24 pm, Anton Berezin wrote:
> Unless I hear too many cries "don't do that" (with justification), I
> plan to not create any perl symlinks in /usr/bin in the forthcoming
> upgrade of both lang/perl5.8 (to 5.8.6) and lang/perl5 (to 5.6.2). 
> This will ONLY be true for FreeBSD 5.X and FreeBSD CURRENT;  the
> existing pollution of /usr/bin will still be performed for older
> versions of FreeBSD, if requested via use.perl script.
>
> In practical terms this will mean a one-time sweep of your scripts in
> order to convert them, in a typical case, from #! /usr/bin/perl to
> #! /usr/local/bin/perl.
>
> CORRECT perl-dependant ports should not be affected.
>
> In order to keep pkg-install simple, no old symlink chasing and
> removal will be done, although the detailed instructions will be
> posted in ports/UPDATING and in pkg-message for the ports.
>
> Please respect Reply-To.
> Thank you,
>
> \Anton.

My .02 cents worth:

From what I've seen in this thread I guess I am about the only
supporter of your idea, here is my justification for supporting
this:

I think ALL ports should be restricted to /usr/local or /usr/X11R6,
seems that is the way things are anyways, why should perl be an 
exception?

There is an obvious  safety bonus if ports (including perl) are 
restricted,  for one you can mount /usr read only 
with  /var /usr/local /usr/X11R6 /tmp writable for protection of the 
basic system. This way no matter what, as long as your hardware holds 
out you should never loose the basic operating system.

With perl writing symlinks to /usr/bin you have to change the mount from 
ro to rw when you install perl, then change it back,  while that isn't 
very difficult, it is still annoying, and just a matter of time before 
you forget and leave /usr writable.  

There was another thread very recently about a one line
script that replaces words in all files from a given directory, from 
that thread how hard would it be for folks to do  something like:

find / -type f -name "*.pl" | xargs grep -l '/usr/bin/perl' |  xargs sed  
-i '' -e 's|/usr/bin/perl|/usr/local/bin/perl|g'

( I have no idea if the above script works, it is just an example...)

It just doesn't seem that big of a deal to change /usr/bin/perl to
/usr/local/bin/perl but then again 5.3 is supposed to be STABLE
so I'll still be happy if this is implemented only in CURRENT.

Well that's my .02 cents worth...

-Mike

ps. I dropped all of the cross posting!


More information about the freebsd-ports mailing list