On Mar 3, 2009, at 4:22 PM, Bradley Giesbrecht wrote:
Situation: I removed macports and reinstalled using the macports
wiki recommended methods.
I installed perl5.8 and only perl5.8 using all variants.
I looked for and found a p5 that thought would not activate without
using -f.
Seeing as threads along these lines are current I'm going to assume
the readers of this message know something about what I'm talking
about.
Profession: I believe there is a problem with some port p5 modules
that conflict with perl5.8 installed modules.
Acknowledgments: I don't beleive I'm qualified to offer a solution
for the p5 conflicts with perl5.8.
Problems: Without the user adding another env var it appears the
port perl5.8 modules may not be found. Some port p5 modules seem to
collide with port pelr5.8 installed modules.
Goal: Build consensus that there is a problem with port perl5.8 base
modules not being available without adding another env var. Build
consensus that some port p5 modules collide with port perl5.8 base
modules. Move toward a solution.
My comments:
Listening to Vincent Lefèvre, who must know more then me about perl,
I added PERL5LIB to my env and I think this is good way to go.
I am going to suggest we add a port "macports-env" for setting
macports env shell vars that are necessary for port and other
software to run.
If a port installs files that should be in env PATH then the
Portfile could have a var like "macports-path /opt/local/bin/
somepath" and this path would be added to the macports-env config
file at /opt/local/etc/macports/env.conf. I think some kind of a
structure like ini might be nice for this file so items can be
removed when a port is deactivated.
Ok, that's my idea for env.
Now for the perl5.8 p5 collisions. I have written three short
scripts to try to find where the problems are. They are not pretty
and probably not all that useful. I am going to add them here so
people smarter then me can comment. Not being that familiar with
perl and it's modules I will need to spend some time trying to match
port perl5.8 module names with port p5 module names. Maybe some
others can try these scripts and notice some obvious p5 ports that
are not needed. I think some were added because without a proper
PERL5LIB env other ports that were being submitted wouldn't run.
If I'm way off on my presumptions I'll probably just give in to -f
but if I'm not and others are interested in fixing this I want to
help.
BlackBook: root# cat *.sh
#!/bin/sh
# file name: porl5.8_installed_modules.sh
# purpose: remove port p5 modules that are installed as part of
perl5.8 base
startdir=`pwd`
p5dir=/opt/local/lib/perl5/5.8.9
cd $p5dir
for p5_perl in $( ls *.pm | sed 's|.pm||g' ); do
echo "${p5_perl}"
if [ -d $p5_perl ]; then
cd $p5_perl
for p5_perl_file in $( ls *.pm | sed 's|.pm||g' ); do
echo "${p5_perl},${p5_perl_file}"
done
cd $p5dir
fi
done
cd $startdir
# file name: porl5.8_installed_modules.sh
#!/bin/sh
# file name: port_p5_module_deps.sh
# purpose: remove port p5 modules that are installed as part of
perl5.8 base
for p5_ports in $( ls /opt/local/var/macports/sources/
rsync.macports.org/release/ports/perl ); do
for p5_deps in $( port deps $p5_ports | tail +2 ); do
echo "${p5_ports},${p5_deps}"
done
done
# file name: port_p5_module_deps.sh
#!/bin/sh
# file name: port_p5_modules.sh
# purpose: remove port p5 modules that are installed as part of
perl5.8 base
startdir=`pwd`
p5dir=/opt/local/var/macports/sources/rsync.macports.org/release/
ports/perl
cd $p5dir
for p5_perl in $( ls | sed 's|p5-||g' | sed 's|-|,|g' ); do
echo "${p5_perl}"
done
cd $startdir
# file name: port_p5_modules.sh
These p5 ports appear to be perl5.8 base modules as well. There may be
more, this is just a first stab.
port info p5-cgi
port info p5-digest
port info p5-next
port info p5-test-harness
port info p5-test-simple
port install p5-cgi
port install p5-digest
port install p5-next
port install p5-test-harness
port install p5-test-simple
port uninstall p5-cgi
port uninstall p5-digest
port uninstall p5-next
port uninstall p5-test-harness
port uninstall p5-test-simple
These ports appear to depend on the above ports.
p5-calendar-simple
p5-curses-ui
p5-dbix-class
p5-gearman-client-async
p5-html-scrubber
p5-log-dispatch
p5-mac-errors
p5-math-bigint
p5-moose
p5-net
p5-return-value
p5-test-exception
p5-test-longstring
p5-test-memory-cycle
p5-test-object
p5-test-pod
p5-test-pod-coverage
p5-test-www-mechanize
p5-text-wikiformat
//Brad
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev