Use more correct OSVERSION threshold to distinguish between
base system perl and perl from ports - the right value is 500036 [1].
Also, simplify OSVERSION-related logic in lang/perl5 and lang/perl5.8.
Now it goes as follows:
- for lang/perl5.8, if there is perl in the base system, install
use.perl script, use a helpful pkg-message, and do not automatically
update symlinks;
- for lang/perl5.8, if there is no perl in the base system, do not
install use.perl script, and update symlinks automatically;
- for lang/perl5, always install use.perl;
- for lang/perl5, never update symlinks automatically;
- for lang/perl5, vary produced pkg-message depending on the presence of
the base system perl.
Bump PORTREVISION for both lang/perl5 and lang/perl5.8.
[1] Approved by: portmgr
- redirect output from h2ph to /dev/null [1];
- fix File::Path insecure file/directory permissions [2];
this resolves CAN-2004-0452
(http://vuxml.freebsd.org/c418d472-6bd1-11d9-93ca-000a95bc6fae.html);
- for OSVERSION < 500036, create symlinks in /usr/bin not only for
perl and suidperl, but also for a2p, c2ph, find2perl, h2ph, h2xs,
perlbug, perlcc, perldoc, pl2pm, pod2html, pod2latex, pod2man,
pod2text, s2p, and splain; perl and suidperl are still enough for
more recent FreeBSD versions [3];
- clean up created symlinks upon deinstallation [4];
- try to cleanup symlinks created by older versions of lang/perl5 and
lang/perl5.8, during both installation and deinstallation [5];
- added support for DISABLE_BSDPAN environment variable [6];
- be explicit about use.perl usage after installation of 4.X systems,
and on systems where lang/perl5.8 is prefered to lang/perl5; the exact
range is OSVERSION < 500036 || OSVERSION >= 502100 [7];
- respect __MAKE_CONF partially (the build-time value is used) [8];
- use.perl is now the same as pkg-install is now the same as
pkg-deinstall; apart from the changes already mentioned above, this
is a shell script now;
- use.perl's logic is also simplified in several ways [9];
- fix a BSDPAN bug [10];
- create and remove %%SITE_PERL%%/%%PERL_ARCH%%/auto, just
like lang/perl5.8 does, to silent pointyhat [11];
- apply a patch to handle daylight saving time correctly in
POSIX::strftime [12];
- the port now creates and uses shared libperl.so, as lang/perl5.8 port
does;
- move MAN3 manual pages under ${PREFIX}/lib/perl5/${PERL_VER}/perl, as
to avoid conflict with some of the p5 ports;
- do not build suidperl by default any longer; one should use
ENABLE_SUIDPERL to do that;
- move out manpage list to a separate Makefile.man;
- in general, the port layout is made much more similar to lang/perl5.8,
including.
Outstanding issues: Module::Build support for BSDPAN, SU_CMD support (PR
70831), PR 64963 (partially), and anything else that I forgot.
[1] Nudged by: krion
[2] Reported by: nectar
Patch from: Chris Turner @ RedHat
[3] PR: 55760, 57151, 58406
[4] Requested by: kris
PR: 54262
[5] PR: 51281, 51539
[6] PR: 57134
[7] PR: 60736
[8] PR: 74431
[9] Perl version submitted by des, implemented in sh
[10] Reported by: Alexander Nagilum <freebsd %at% nagilum de>
[11] PR: 71390
[12] PR: 74042, perl bug 18238
that /usr/bin/perl5 doesn't exist, which violates some of use.perl's
assumptions. Take care of this case. [1]
Also in the case of a recent 5-CURRENT, automatically perform
"use.perl port" during package/port installation. This helps the
installation of sysinstall's new "Perl distribution", in that
sysinstall doesn't need to do this explicitly as Yet Another Special
Case. [2]
PORTREVISION bump after all this good stuff.
Requested by: bmah [1], jhb [2]
Submitted by: tobez (port MAINTAINER)
Approved by: portmgr (kris)
WITH_PERL_MALLOC - to compile with perl's own malloc, as opposed to the
freebsd system malloc. Some might find this useful, since perl's malloc
is marginally faster in typical cases, and orders of magnitude faster in
degenerate cases. Use with care.
WITH_GDBM - to compile with gdbm support.
Requested by: netchild (WITH_PERL_MALLOC),
Joachim Leidinger <jojo@blackpoint.de> (WITH_GDBM)
Force installs. This is to allow (semi-)automatic garbage removal by
"find /usr/libdata -ctime -N -delete".
Well - substitute /usr/libdata with /usr/local/lib/perl5 here.
Requested by: sheldonh
2. Do not link with libbind even if Configure detects it. A particular
reason for that is that perl's getpw* stop working with NIS.
Reported by: Russell Cattelan <cattelan@thebarn.com>
from normal rmdir'ing and unexec rmdir'ing, do a find | xargs rm for
generated .ph files, since those will differ in different versions of
FreeBSD just like .h files may not be the same.
2. Install.pm is broken in 5.6.1 and leads to the wrong .packlist
generation, which, in turn, breaks BSDPAN. Fix that.
3. Extend use.perl to patch /etc/manpath.config so that manpages for
modules installed by this and other p5- ports are be available.
PR: 39108 (item 1)
Reported by: Dan Nelson <dan@dan.emsphone.com> (item 1)
@INC array. This takes care of the infamous problem of updating the
packages already in the perl distribution. With this change, no tricks
are any longer necessary for such p5 ports, except the usual tweaking of
INSTALLDIRS in Makefile.PL. This last one can also be taken care of by
an appropriate BSDPAN modifications, but until we have the `natural'
@INC order in the 4.X base system perl, it is meaningless.
Do not include iconv.h and do not link with libiconv. Iconv is not used
by perl in any way currently, but it used to link it if found.
Fix perl on freebsd/sparc64.
PR: 33212 (iconv), 37605 (iconv), 38813 (sparc64)
Reported by: Vivek Khera <khera@kciLink.com> (iconv),
Martin Nilsson <martin@gneto.com> (iconv)
Submitted by: jake (sparc64)
more stuff than the old one, which confuses makedepend script in the
distribution).
PORTREVISION is not bumped since there was no functionality change.
Reported-by: too many to list here
2. Remove the dependency on perl (rather important for this port).
3. Make the script this port installs use the version of perl from ports.
Reported-by: (item 2) Juriy Goloveshkin <j@gu.ru>, Mark Huizer <xaa@timewasters.nl>
Compile perl with BSDPAN support, both -current and -stable. The
version of BSDPAN used here coincides accidentally with the one present
in the -current system perl, but is installed in a different place.
Provide a script, use.perl, to facilitate switching of the perl used by
default between the system perl and this port. Also print a message
describing the usage of use.perl (this works for the port and for the
package built from it). The switching to the port version is done by
removing /usr/bin/perl and /usr/bin/suidperl (they both have link count
>1, so this is reversible), and making them to be symlinks to the
corresponding binaries in $PREFIX/bin. Also, assignments of the correct
values of PERL_VER, PERL_VERSION, and PERL_ARCH are appended to
/etc/make.conf. Last, NOPERL=yes is appended to /etc/make.conf, so that
the changes made will survive system upgrades from source. The
switching to the system version is more or less a reverse of the process
described above.
Set and use PERL_ARCH which is independed from the one used by the
system perl.
Fix the port for post-malloc.h -current.
Fix a small bogon when PREFIX was used in pkg-install (PKG_PREFIX should
have been used instead).
Reviewed by: markm, joe
As before, this is a "guru only" port. If you know what you are
doing, go ahead and use it. If not - HANDS OFF!
Perl 5.6.1 will be committed to "base" FreeBSD in a week or 2.
really want it.
This is still marked FORBIDDEN as there may be all sorts of horrible
incompatabilities with the perl5 in "base", but folks who are willing
to override this and experiment are welcome.
Consider this to be only partially supported. I'll happily commit
patches and fixes, but I don't want to answer too many questions.
Sorry!
/usr/bin/perl a while ago. It works with 5.003 and 5.004-tobe.
I can't test it on freefall (I don't have a setuid script to play with)
but it works at home. I'll test on thud later.
Every setuid script found on a partition mounted "nosuid" will not be executed
and "Permission Denied" will be displayed.
It won't be in soo-to-be-released 5.004 because it is not a FreeBSD speciific
problem but it will be dealt with in 5.004_01 (maintenance release).
Obtained from: Jörg's patch (edited for Perl5 by me).
From: wjm@best.com (William J. Middleton)
Newsgroups: comp.lang.perl.announce,comp.lang.perl.misc
Subject: PATCH: perltrap.pod <- 425traps
Date: 1 Jul 1996 14:49:58 GMT
Approved: merlyn@stonehenge.com (comp.lang.perl.announce)
Message-ID: <4r8oim$e5q@nadine.teleport.com>
NNTP-Posting-Host: julie.teleport.com
[The rush to 5.003 couldn't integrate this, so here it is]
The following is a patch for perltrap.pod, from 5.003 (also 5.002).
It integrates the latest version of my simple 425traps
document. 425traps demonstrated, with examples, all of the traps
which have been discovered and sent to me, which have bitten
folks making the transition from perl4 to perl5. It also gave
an example for each one, including all of the existing perl4
traps in perltrap.pod.
As always, if you discover something that isn't documented in
one form or another in here, and isn't an official (or at least
reported) bug, drop me a line with it. Also, when or if any
of these is ever formally declared a bug, I'll take it out.