From 5596d333922cde4af97af5ffdcb6af3eae01e4ab Mon Sep 17 00:00:00 2001 From: Anton Berezin Date: Sun, 16 Jun 2002 12:28:01 +0000 Subject: 1. Do not do rm -rf as a mean to deinstall this port. Instead, apart 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 (item 1) --- lang/perl5/Makefile | 2 +- lang/perl5/files/patch-Install.pm | 13 ++++++ lang/perl5/files/use.perl | 28 ++++++++++++- lang/perl5/pkg-plist | 84 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 lang/perl5/files/patch-Install.pm (limited to 'lang/perl5') diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile index f2c18229ae61..21ac952fba0c 100644 --- a/lang/perl5/Makefile +++ b/lang/perl5/Makefile @@ -7,7 +7,7 @@ PORTNAME= perl PORTVERSION= ${PERL_VER} -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= lang devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \ ${MASTER_SITE_LOCAL:S/$/:local/} diff --git a/lang/perl5/files/patch-Install.pm b/lang/perl5/files/patch-Install.pm new file mode 100644 index 000000000000..06bef472a7cf --- /dev/null +++ b/lang/perl5/files/patch-Install.pm @@ -0,0 +1,13 @@ +$FreeBSD$ + +--- lib/ExtUtils/Install.pm.orig Sun Jun 16 13:36:29 2002 ++++ lib/ExtUtils/Install.pm Sun Jun 16 13:36:50 2002 +@@ -156,7 +156,7 @@ + } else { + inc_uninstall($_,$File::Find::dir,$verbose,0); # nonono set to 0 + } +- $packlist->{$origfile}++; ++ $packlist->{$targetfile}++; + + }, "."); + chdir($cwd) or Carp::croak("Couldn't chdir to $cwd: $!"); diff --git a/lang/perl5/files/use.perl b/lang/perl5/files/use.perl index 557e38b52311..7769cdd49d77 100644 --- a/lang/perl5/files/use.perl +++ b/lang/perl5/files/use.perl @@ -17,7 +17,7 @@ EOF my $port_perl = '%%PREFIX%%/bin/perl'; $port_perl =~ tr|/|/|s; -my $ident = `/usr/bin/ident /usr/bin/perl5`; +my $ident = `/usr/bin/ident -q /usr/bin/perl5`; @ARGV == 1 or usage(); if ($ARGV[0] eq 'port') { @@ -63,6 +63,18 @@ sub switch_to_system EOF close MK; + + open MPOLD, "< /etc/manpath.config" or die "/etc/manpath.config: $!"; + open MPNEW, "> /etc/manpath.config.new" or die "/etc/manpath.config.new: $!"; + while () { + next if m|use.perl generated line|; + next if m|^\s*OPTIONAL_MANPATH\s+\S+/lib/perl5/%%PERL_VERSION%%/man\s*$|; + print MPNEW; + } + close MPNEW; + close MPOLD; + rename '/etc/manpath.config', '/etc/manpath.config.bak'; + rename '/etc/manpath.config.new', '/etc/manpath.config'; } sub switch_to_port @@ -96,4 +108,18 @@ NO_PERL_WRAPPER=yo EOF close MK; + + open MPOLD, "< /etc/manpath.config" or die "/etc/manpath.config: $!"; + open MPNEW, "> /etc/manpath.config.new" or die "/etc/manpath.config.new: $!"; + while () { + print MPNEW </dev/null || true +@unexec rmdir %D/lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/machine 2>/dev/null || true +@unexec rmdir %D/lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%% 2>/dev/null || true +@unexec rmdir %D/lib/perl5/site_perl/5.6.1 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/Sys 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/IO 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/Data 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/re 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/attrs 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Sys/Syslog 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Sys/Hostname 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Sys 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Socket 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/sdbm 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/SDBM_File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/POSIX 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Opcode 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/NDBM_File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/IPC/SysV 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/IPC 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/IO 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/File/Glob 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Fcntl 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Devel/Peek 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Devel/DProf 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Devel 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Data/Dumper 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/Data 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/DB_File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/ByteLoader 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/B 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto/DynaLoader 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/auto 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/B 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/IPC 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/Devel 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%%/CORE 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/%%PERL_ARCH%% 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/IO/Socket 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/IO 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/auto/Getopt/Long 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/auto/Getopt 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/auto 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/warnings 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/unicode/To 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/unicode/Is 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/unicode/In 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/unicode 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/B 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/User 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Time 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Tie 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Text 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Test 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Term 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Search 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Pod/Text 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Pod 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Net 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Math 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/IPC 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/I18N 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Getopt 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/File/Spec 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/File 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/ExtUtils 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/CGI 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Exporter 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Devel 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Class 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/Carp 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/CPAN 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/pod 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/man/man3 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/man 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/BSDPAN/BSDPAN 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/BSDPAN/ExtUtils 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%%/BSDPAN 2>/dev/null || true +@unexec rmdir %D/lib/perl5/%%PERL_VER%% 2>/dev/null || true -- cgit v1.2.3