Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#24025 closed defect (fixed)

p5-module-build conflicts with perl5.10

Reported by: danielluke (Daniel J. Luke) Owned by: narf_tm@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: ghosthound, jpo@…, mat@…, ptman (Paul Tötterman), sethk@…, macports@…, jon.hermansen@…, r@…
Port: p5-module-build

Description

both ports attempt to install ${prefix}/bin/config_data

Attachments (1)

perl5-group.module_build-dependency.patch (654 bytes) - added by larry+macports@… 13 years ago.
Suggested patch for perl5 group, to avoid p5-module-build conflict

Download all attachments as: .zip

Change History (20)

comment:1 Changed 14 years ago by danielluke (Daniel J. Luke)

The files are not very different:

(config_data.mp_1268319772 being the one from perl5.10)

% diff /opt/local/bin/config_data.mp_1268319772 /opt/local/bin/config_data
--- /opt/local/bin/config_data.mp_1268319772	2010-01-22 10:26:46.000000000 -0500
+++ /opt/local/bin/config_data	2010-03-11 09:59:47.000000000 -0500
@@ -1,7 +1,7 @@
 #!/opt/local/bin/perl
+
     eval 'exec /opt/local/bin/perl -S $0 ${1+"$@"}'
-	if $running_under_some_shell;
-#!/usr/bin/perl
+    if 0; # not running under some shell
 
 use strict;
 use Module::Build 0.25;

comment:2 Changed 14 years ago by mf2k (Frank Schima)

Owner: changed from narf_tm to narf_tm@…

comment:3 Changed 14 years ago by warp@…

Module::Build is already bundled with perl 5.10. If perl 5.10 is installed before a p5-module-build install is attempted, following happends:

sudo port -v -d install p5-module-build
...
--->  Staging p5-module-build into destroot
. missing (directory not created: File exists)
./Applications missing (directory not created: File exists)
./Developer missing (directory not created: File exists)
./Library missing (directory not created: File exists)
DEBUG: Executing org.macports.destroot (p5-module-build)
DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.6'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-module-build/work/Module-Build-0.3607" && /opt/local/bin/perl Build install destdir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-module-build/work/destroot'
Building Module-Build
DEBUG: Executing proc-post-org.macports.destroot-destroot-0
Error: Target org.macports.destroot returned: no such file or directory
DEBUG: Backtrace: no such file or directory
    while executing
"$post $targetname"
Warning: the following items did not execute (for p5-module-build): org.macports.activate org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Unfortunately, for example p5-datetime depends on p5-module-build - the perl modules are installed already by perl 5.10 but Macports does not know this

comment:4 Changed 14 years ago by trajano@…

This also affects perl5.12, I noticed it when trying to install p5-perl-critic

comment:5 Changed 14 years ago by jmroot (Joshua Root)

Cc: ricci@… added

comment:6 Changed 14 years ago by jmroot (Joshua Root)

Dependent ports should probably be changed to declare the dependency as something like path:bin/config_data:p5-module-build.

comment:7 Changed 14 years ago by jmroot (Joshua Root)

Cc: jpo@… mat@… paul.totterman@… sethk@… added

comment:8 in reply to:  6 Changed 14 years ago by danielluke (Daniel J. Luke)

Replying to jmr@…:

Dependent ports should probably be changed to declare the dependency as something like path:bin/config_data:p5-module-build.

So that would be the perl5 portgroup and

% grep p5-module-build `find . -name Portfile`
./editors/zim/Portfile:depends_lib         port:p5-gtk2 port:p5-module-build port:p5-file-mimeinfo \
./perl/p5-image-imlib2/Portfile:depends_build-append    port:p5-module-build
./perl/p5-image-size/Portfile:depends_lib-append	port:p5-module-build
./perl/p5-module-build/Portfile:depends_lib-delete        port:p5-module-build
./perl/p5-module-install/Portfile:                      port:p5-module-build \
./perl/p5-module-scandeps/Portfile:depends_lib-append    port:p5-module-build \
./perl/p5-netpacket/Portfile:depends_build       port:p5-module-build
./perl/p5-sdl_perl/Portfile:depends_lib-append  port:p5-module-build \
./perl/p5-svn-notify/Portfile:depends_lib-append	port:p5-module-build \
./perl/p5-text-markdown/Portfile:depends_lib-append	port:p5-module-build

comment:9 Changed 14 years ago by narf_tm@…

Using path:bin/config_data:p5-module-build doesn't take the version requirement into account. A lot of these ports require a newer version of Module::Build than the one that is included with Perl.

comment:10 Changed 14 years ago by macports@…

Is it possible to create a variant of p5-module-build that simply omits this file?

comment:11 Changed 14 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:12 Changed 14 years ago by jon.hermansen@…

Cc: jon.hermansen@… added

Cc Me!

comment:13 in reply to:  9 Changed 14 years ago by r@…

Replying to narf_tm@…:

Using path:bin/config_data:p5-module-build doesn't take the version requirement into account. A lot of these ports require a newer version of Module::Build than the one that is included with Perl.

Since ${prefix}/bin/config_data is core perl module, it is a good idea to upgrade perl to >=5.10, remove dependecies on p5-module-build, and drop this package. Anyway, is there any reason to maintain three perl versions?

comment:14 Changed 14 years ago by r@…

Cc: r@… added

Cc Me!

comment:15 Changed 14 years ago by danielluke (Daniel J. Luke)

our perl5 should probably just track the latest perl5 release (5.12 right now), but it would be simple enough for the port to not install config_data if it's already in ${prefix} as an immediate fix.

Changed 13 years ago by larry+macports@…

Suggested patch for perl5 group, to avoid p5-module-build conflict

comment:16 Changed 13 years ago by ghosthound

Possibly resolved in r76485, please test.

comment:17 Changed 13 years ago by danielluke (Daniel J. Luke)

Resolution: fixed
Status: newclosed

yep this is OK (there are other modules that are still not ok, though - p5-archive-tar and p5-module-corelist for sure)

comment:18 in reply to:  17 Changed 13 years ago by jon.hermansen@…

Replying to dluke@…:

yep this is OK (there are other modules that are still not ok, though - p5-archive-tar and p5-module-corelist for sure)

I don't mean to further distract from this bug, but thought this would be the best place to post that I also observe essentially the same conflict issue with p5-extutils-makemaker.

I may look into fixing the affected perl5 ports in a batch (unless others get to it before I do).

comment:19 Changed 13 years ago by jpo@…

Similar problems reported in ticket #28580 (with a small list of problematic perl ports in the third comment).

Note: See TracTickets for help on using tickets.