[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,
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
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
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...
ps. I dropped all of the cross posting!
More information about the freebsd-ports