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
[7];
- respect __MAKE_CONF partially (the build-time value is used) [8];
- fix threaded build - respect PTHREAD_CFLAGS and PTHREAD_LIBS [9].
- 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 [10];
- fix a BSDPAN bug [11].
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] PR: 73233
[10] Perl version submitted by des, implemented in sh
[11] Reported by: Alexander Nagilum <freebsd %at% nagilum de>
2. Make this port respect Makefile.local.
3. Transfer manpages to Makefile.man.
4. Move manpages for modules, included into distribution, into
lib/perl5/PERL_VER/perl/man/man3, to eliminate file conflicts
with p5 ports for modules included with perl.
5. Use PREFIX/SITE_PERL_REL instead of SITE_PERL in the Makefile.
6. Switch to bzipped sources.
7. Other small adjustments.
PR: 65925, 66096, 67205
Submitted by: foxfair (1), Charles Swiger <chuck@pkix.net> (1), krion (3)
Reported by: Roy Badami <roy@gnomon.org.uk> (2)
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)
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