ports/159087: perl package conflicts with JSON::PP and other modules
Peter Vereshagin
peter at vereshagin.org
Thu Jul 21 14:20:09 UTC 2011
>Number: 159087
>Category: ports
>Synopsis: perl package conflicts with JSON::PP and other modules
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Jul 21 14:20:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Peter Vereshagin
>Release: releng_7 as of May, 2011
>Organization:
Private
>Environment:
FreeBSD teh.ost 7.4-STABLE FreeBSD 7.4-STABLE #10: Mon May 2 16:12:55 MSD 2011 peter at vereshagin.org:/CONF i386
>Description:
I recently upgraded to the lang/perl-5.14 from lang/perl-5.12.
The lang/perl-5.12 in it turn was upgraded from lang/perl-5.8.
I notice that more modules formerly installed from separate ports are included
in that port. This led me to the duplicates of the ports and I deleted them by
mean of my Inclusure utility:
http://gitweb.vereshagin.org/inclusure
https://github.com/petr999/inclusure
Such a ports in question make more disk space used and may lead to the strange
things to happen on the system, at least their files may conflict in the 'man'
and 'bin' directories as shown here with 'converters/p5-JSON-PP' port.
I'm pretty sure there should be the CONFLICTS added to teh eveery
'lang/perl5.X' port to avoid confusion.
>How-To-Repeat:
# portinstall lang/perl5.12
# portinstall converters/p5-JSON-PP
[..]
Installing /usr/local/man/man1/json_pp.1
[..]
Installing /usr/local/bin/json_pp
# pkg_delete -fx perl-5 && cd /usr/ports/lang/perl5.14 && make install &&\
> perl-after-upgrade -f
# pkg_delete -x p5-JSON-PP
pkg_delete: '/usr/local/man/man1/json_pp.1.gz' fails original MD5 checksum -
not deleted.
pkg_delete: '/usr/local/bin/json_pp' fails original MD5 checksum - not
deleted.
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
>Fix:
Put CONFLICTS into the lang/perl5.14/Makefile on those packages:
$ pkg_info -L perl-5.14.1 | perl -Mstrict -Mautodie -wE 'open my $fh, "<", "/usr/ports/INDEX-7"; my %ports; while(my $line = <$fh>) { chomp $line; $line =~ s/^([^|]+)-[\d\.,_]+\|.*$/$1/g; $ports{ $line } = 1; } close $fh; while(<>) { if( m%/usr/local/lib/perl5/5.14.1/(mach/)?(.+)\.pm$% ) { my $mod = "p5-".($2 =~ s%/%-%gr); if( defined $ports{ $mod } ) { say $mod; } } }'
Patch is supplied.
Patch attached with submission follows:
diff -u -r lang/perl5.14.orig/Makefile lang/perl5.14/Makefile
--- lang/perl5.14.orig/Makefile 2011-06-19 14:27:11.000000000 +0400
+++ lang/perl5.14/Makefile 2011-06-27 12:53:22.000000000 +0400
@@ -25,7 +25,54 @@
CONFLICTS= perl-5.6.* perl-5.8.* perl-threaded-5.8.* \
perl-5.10.* perl-threaded-5.10.* \
- perl-5.12.* perl-threaded-5.12.*
+ perl-5.12.* perl-threaded-5.12.* \
+ p5-Archive-Extract-[0-9]* p5-Archive-Tar-[0-9]* \
+ p5-Attribute-Handlers-[0-9]* p5-AutoLoader-[0-9]* \
+ p5-CPAN-Meta-[0-9]* p5-CPAN-Meta-YAML-[0-9]* \
+ p5-CPANPLUS-[0-9]* p5-CPANPLUS-Dist-Build-[0-9]* \
+ p5-Digest-[0-9]* p5-ExtUtils-CBuilder-[0-9]* \
+ p5-ExtUtils-Command-[0-9]* \
+ p5-ExtUtils-Constant-[0-9]* \
+ p5-ExtUtils-Install-[0-9]* \
+ p5-ExtUtils-MakeMaker-[0-9]* \
+ p5-ExtUtils-Manifest-[0-9]* \
+ p5-ExtUtils-ParseXS-[0-9]* p5-File-Fetch-[0-9]* \
+ p5-File-Path-[0-9]* p5-File-Temp-[0-9]* \
+ p5-Filter-Simple-[0-9]* p5-Getopt-Long-[0-9]* \
+ p5-HTTP-Tiny-[0-9]* p5-I18N-LangTags-[0-9]* \
+ p5-IO-Zlib-[0-9]* p5-IPC-Cmd-[0-9]* p5-JSON-PP-[0-9]* \
+ p5-Locale-Codes-[0-9]* p5-Locale-Maketext-[0-9]* \
+ p5-Locale-Maketext-Simple-[0-9]* \
+ p5-Log-Message-[0-9]* p5-Log-Message-Simple-[0-9]* \
+ p5-Math-BigInt-[0-9]* p5-Math-BigRat-[0-9]* \
+ p5-Math-Complex-[0-9]* p5-Memoize-[0-9]* \
+ p5-Module-Build-[0-9]* p5-Module-CoreList-[0-9]* \
+ p5-Module-Load-[0-9]* \
+ p5-Module-Load-Conditional-[0-9]* \
+ p5-Module-Loaded-[0-9]* p5-Module-Metadata-[0-9]* \
+ p5-Module-Pluggable-[0-9]* p5-NEXT-[0-9]* \
+ p5-Net-Ping-[0-9]* p5-Object-Accessor-[0-9]* \
+ p5-Package-Constants-[0-9]* p5-Params-Check-[0-9]* \
+ p5-Parse-CPAN-Meta-[0-9]* p5-Perl-OSType-[0-9]* \
+ p5-Pod-Escapes-[0-9]* p5-Pod-Parser-[0-9]* \
+ p5-Pod-Perldoc-[0-9]* p5-Pod-Simple-[0-9]* \
+ p5-Term-ANSIColor-[0-9]* p5-Term-UI-[0-9]* \
+ p5-Test-Harness-[0-9]* p5-Test-Simple-[0-9]* \
+ p5-Text-Balanced-[0-9]* p5-Text-ParseWords-[0-9]* \
+ p5-Thread-Queue-[0-9]* p5-Tie-File-[0-9]* \
+ p5-Tie-RefHash-[0-9]* p5-Time-Local-[0-9]* \
+ p5-Version-Requirements-[0-9]* p5-XSLoader-[0-9]* \
+ p5-autodie-[0-9]* p5-base-[0-9]* p5-bignum-[0-9]* \
+ p5-parent-[0-9]* p5-Compress-Raw-Bzip2-[0-9]* \
+ p5-Compress-Raw-Zlib-[0-9]* p5-Data-Dumper-[0-9]* \
+ p5-Devel-PPPort-[0-9]* p5-Digest-MD5-[0-9]* \
+ p5-Digest-SHA-[0-9]* p5-Encode-[0-9]* p5-Errno-[0-9]* \
+ p5-IO-[0-9]* p5-MIME-Base64-[0-9]* \
+ p5-Math-BigInt-FastCalc-[0-9]* p5-Storable-[0-9]* \
+ p5-Sys-Syslog-[0-9]* p5-Time-HiRes-[0-9]* \
+ p5-Time-Piece-[0-9]* p5-Unicode-Normalize-[0-9]* \
+ p5-threads-[0-9]* p5-threads-shared-[0-9]* \
+ p5-version-[0-9]* p5-CGI.pm-[0-9]*
OPTIONS= DEBUGGING "Build with debugging support" off \
GDBM "Build GDBM_File extension" off \
Only in lang/perl5.14: work
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list