- Use SUB_FILES instead of own backed version
- Have etc/perl5_version in the package instead of generating a static
one at install
- Move some mkdirs from pkg-install to pkg-plist
- Move the bin/perl5 creation from plist to post-install
Reviewed by: az
Sponsored by: Absolight
Also:
Do not strip when built with -DWITH_DEBUGGING. [1]
Do not build non-threaded perl with -pthread. [2]
Add rebuild-xs target which should be used when
perl-after-upgrade does not do its job adequately. [3]
Fix perl-after-upgrade to handle threaded perl. [4]
Submitted by: John Narron <jnarron@cdsinet.net> [2],
Sergey Prikhodko <sergey@network-asp.biz> [4],
parv@pair.com [1],
pavel@ctk.ru [2],
skv [3],
vasilis <vasilis@karkampounas.gr> [2]
PR: 83223 [4], 83767 [2], 84255 [2], 89443 [1], 90832 [2]
- 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)
Also:
Make suidperl optional (ENABLE_SUIDPERL knob). Switch to perlmalloc by
default, unless threaded perl is built, to improve performance.
Modernize pkg-plist (switch to SITE_PERL where possible). Update WWW.
Many thanks to foxfair who prepared most of this update.
Add two knobs:
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.
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)
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!