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. -- The moronity of the universe is a monotonically increasing function. -- Jarkko Hietaniemi
On Sat, Jan 29, 2005 at 09:24:25PM +0100, 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.Anyway do not forget about mail to portmgr with the patch 's|#!/usr/bin/perl|#!/usr/bin/env perl' for Tools/* stuff before committing these changes. -Kirill
On Sat, Jan 29, 2005 at 09:24:25PM +0100, 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.BTW, this goes beyond what I was asking for, which was just "remove the dangling symlinks when the package is deinstalled [because they are now nonfunctional]" Kris -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050129/45f5cb00/attachment.bin
Anton Berezin wrote:> 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.Wouldn't that break most of the 3rd party scripts out in the world? -- Oliver Lehmann http://www.pofo.de/ http://wishlist.ans-netz.de/
This has a huge external impact. Yes they are easily corrected but unless there is a specific need to remove them my vote would be to not put people though such a potentially painful change. Steve ----- Original Message ----- From: "Anton Berezin" <tobez@FreeBSD.org>> 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.===============================================This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. In the event of misdirection, illegible or incomplete transmission please telephone (023) 8024 3137 or return the E.mail to postmaster@multiplay.co.uk.
On 2005-01-29 at 21:24:25 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.What purpose does this serve? To keep the base system clean? I'm not convinced that having just a few (2?) symlinks in /usr/bin will "pollute" the base system, but it does save having to modify potentially thousands of scripts. Isn't the latter *much* more expensive? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 183 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050129/425e415e/attachment.bin
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.I have to vote no on this. This will fundamentally break a majority of systems, for no well defined reason. The clean removal of a single symlink does not justify the pain it will create. If you want to do this in 6-CURRENT, then fine, but leave 5-STABLE alone. Think of this as the equivalent of an ABI change we doesn't happen without really good reason in STABLE. This is not a really good reason. Phil.
On Sat, 2005-Jan-29 21:24:25 +0100, Anton Berezin wrote:>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.I'd also like to object. The perl documentation has consistently stated that a symlink to /usr/bin/perl should be created so that scripts can use #!/usr/bin/perl. Removing this symlink will impact users as well as administrators and (IMHO) will adversely impact on the image of FreeBSD. -- Peter Jeremy
Anton,>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.While I agree that correct ports shouldn't be affected, I think that this will make a difference in how FreeBSD is looked at as a whole. I know that when I write stuff for other people in perl, it is presumed that perl is in /usr/bin, not /usr/local/bin because most of these people are running some Linux distribution. I also thought that is was requested to have perl in /usr/bin?>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.I would rather have a couple of symlinks chased down and removed than have potentially hundreds (or thousands) of scripts needing to be tweaked upon installation of a new piece of software that is predominantly Linux oriented. I try to wrote my stuff to work on multiple platforms (FreeBSD. Linux, Windows) without major modification as a practical thing. This would make it more platform dependent for patches or tech support. I would prefer to NOT see this change implemented. Doug
On Saturday 29 January 2005 21:24, Anton Berezin wrote:> Unless I hear too many cries "don't do that" (with justification), IPlease, "don't do that"! http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#DEFINE-POLA -- /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050130/b897140f/attachment.bin
Lars Erik Gullerud
2005-Jan-29 20:26 UTC
[HEADS UP] perl symlinks in /usr/bin will be gone
On Sat, 29 Jan 2005, 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.No, in practical terms this does not mean a one-time sweep at all. It means we now have to manually create this symlink on all machines instead. There is simply no realistic way to change all scripts to use /usr/local/bin/perl (and keep finding/replacing this for all new scripts users may install - they usually don't come from the ports collection) - while this may be doable on a single user's local workstation, it is just not doable in places like an ISP environment, and no doubt many others. So then we'll be forced to create this symlink manually anyway, on all servers, probably for all eternity, and face the screaming users everytime someone forgets it on one. It also goes against what every other platform does with regards to perl, and it is IMHO a big POLA violation. So please - "don't do that". :( /leg
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.I'm fine with this plan for 6-CURRENT. For 5-STABLE, it's a major user-visible change, and that is something that we promised to avoid with stable branches. Scott
Oliver Brandmueller
2005-Jan-30 01:50 UTC
[HEADS UP] perl symlinks in /usr/bin will be gone
Hello. On Sat, Jan 29, 2005 at 09:24:25PM +0100, 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.At least for -STABLE I see a big impact. I see no useful gain in that step anyway; I would just have to create the link on tens of machines by hand. If it turns out, that this will be the way to (which the discussion doesn't suggest), I would like to see something like this: - Don't change the behaviour on -STABLE (4.x, 5.x), but make an OPTION available, that would turn on the "new" behaviour. - For -CURRENT (6.x and beyond), if the change comes, make an OPTION available, to turn on the "old" behaviour. Something like "make PERL_POLLUTES_BASE=yes install clean" would just be fine. There are many good reasons, to have /usr/bin/perl available at just that place. Be it good style or not, the reality ist, that a lot of third party stuff depends on exactly that. - Oliver -- | Oliver Brandmueller | Offenbacher Str. 1 | Germany D-14197 Berlin | | Fon +49-172-3130856 | Fax +49-172-3145027 | WWW: http://the.addict.de/ | | Ich bin das Internet. Sowahr ich Gott helfe. | | Eine gewerbliche Nutzung aller enthaltenen Adressen ist nicht gestattet! | -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050130/ceeabb3c/attachment.bin
On Saturday, 2005-01-29 at 21:24:25 +0100, Anton Berezin wrote:> Unless I hear too many cries "don't do that" (with justification), ..."don't do that", ever. Eben postponing this to the time 6.0 comes out does not change it. Any upgraded system will fail in interesting and mysterious ways. I see no benefit in not having a /usr/bin/perl, and I see many problems with it. Even when it does not affect my two insignificant ports, I'm against it. If you are still planning on going through with this, please take the idea to the perl5-porters list first. perl5-porters@perl.org My 2 Eurocents, Lupe Christoph -- | lupe@lupe-christoph.de | http://www.lupe-christoph.de/ | | Ask not what your computer can do for you | | ask what you can do for your computer. |
Hello Anton, Saturday, January 29, 2005, 11:24:25 PM, you wrote: AB> Unless I hear too many cries "don't do that" (with justification), I AB> plan to not create any perl symlinks in /usr/bin in the forthcoming AB> upgrade of both lang/perl5.8 (to 5.8.6) and lang/perl5 (to 5.6.2). AB> In practical terms this will mean a one-time sweep of your scripts in AB> order to convert them, in a typical case, from #! /usr/bin/perl to AB> #! /usr/local/bin/perl. In all scripts of all my friends, who have hosting on my server & use perl scripts? NO, THANKS! -- Best regards, Lev mailto:lev@serebryakov.spb.ru
+-le 30/01/2005 12:19 +0100, Kirill Ponomarew ?crivait : | On Sun, Jan 30, 2005 at 09:08:34PM +1000, Mark Sergeant wrote: |> > If it's linux tradition to put perl in this path, perl programmers |> > should assume another path on FreeBSD, so it isn't an argument for |> > the proposed change. |> > |> As per the current perl-5.8.6 INSTALL file ... |> |> It may seem obvious, but Perl is useful only when users can easily |> find it. It's often a good idea to have both /usr/bin/perl and |> /usr/local/bin/perl be symlinks to the actual binary. | | /usr/bin and /usr/local/bin are *BOTH* in default $PATH. Last time I looked, cron did not have usr/local in it's path. -- Mathieu Arnold
I think the color should be green. On Sat, 29 Jan 2005 21:24:25 +0100, Anton Berezin <tobez@freebsd.org> 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. > -- > The moronity of the universe is a monotonically increasing function. -- > Jarkko Hietaniemi > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" >-- Phil Bowens He who is the greatest of warriors overcomes and subdues himself.
On Sat, Jan 29, 2005 at 09:24:25PM +0100, 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.Out of all the arguments against this change the most persuasive for me was the one of ISPs having to modify all their customers' scripts. So - this change is out. Instead: - use.perl is gone in 5.X and -CURRENT, but not in 4.X; - its functions are delegated to pkg-install, namely: - symlink creation, due to the seeming consensus of this thread; it will be done better than it is done now; in particular, more symlinks will be created (perldoc, percc etc), and dangling symlinks will be removed on deinstall; - spamming of /etc/make.conf, which we need for ports; this is also going to be less intrusive than it is now; - spamming of /etc/manpath.config Thank you all for the discussion. \Anton. -- The moronity of the universe is a monotonically increasing function. -- Jarkko Hietaniemi
Anton Berezin wrote:> > 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. >How about leaving it up to the installer? Much like the minicom port prompts the user if they would like to symlink a /dev/modem device, why not ask (post-install) "Would you like to make a symlink in /usr/bin to your new installation?" or as someone else has suggested add a make flag (make ADD_SYMLINK=yes). Those who wish to have an unpolluted /usr/bin can not opt for a symlink, those that want compatibility with a majority of the scripts already written can have the link created. Just a thought, Sven
On Sat, Jan 29, 2005 at 09:24:25PM +0100, Anton Berezin said:> 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.options under discussion: 1) break *millions* of pieces of Perl software, plenty of it run by people unable or uninterested in modifying every last little corner of it (even with an automated find/replace, which is guaranteed to break *something*, and if I were them I would just switch to Debian at that point), so the FreeBSD's /usr/bin can have one less symlink by default. 2) respect the way the world actually is, and just leave the symlink in place. #1 does more than violate POLA; it's more akin to renaming /bin/cp to /bin/copy, in the name of progress, and saying everyone should just update their code. it's not clear to me how #1 is a serious choice. chris
in message <20050129202425.GA56998@heechee.tobez.org>, wrote Anton Berezin thusly...> > 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 CURRENTI am for it. Please do do that. Thanks. - Parv --
At 06:46 PM 1.30.2005 -0500, Parv wrote:>in message <20050129202425.GA56998@heechee.tobez.org>, >wrote Anton Berezin thusly... >> >> 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 > >I am for it. > >Please do do that. > >Thanks. > - ParvPlease don't do it.... If this were a mere vote of the respondents, the NAYs have it by far. Best regards, Jack L. Stone, Administrator SageOne Net http://www.sage-one.net jackstone@sage-one.net
In the last episode (Feb 03), Christian Weisgerber said:> Chuck Swiger <cswiger@mac.com> wrote: > > > Well-behaved 3rd party scripts ought to start Perl via: > > #! /usr/bin/env perl > > Why should the authors of those scripts break them for systems which > have /bin/env?Are there any systems that have a /bin/env (and that do not also have a /bin -> /usr/bin symlink)? -- Dan Nelson dnelson@allantgroup.com