On Tue, 17 Feb 2004, Gary Funck wrote: > How difficult is to upgrade to a new Perl?
"install perl-X.Y.Z" in the CPAN shell will generally take care of it. If you don't want to clobber your existing installation, you probably want to set the PREFIX in the makepl_arg conf and/or make sure that UNINST is *not* set in make_install_arg. > Do all the various CPAN modules and other manually installed modules > have to be re-installed into the new Perl tree, or is there an update > option on the install that will handle this? I belive that's what the CPAN "autobundle" command is for -- you run it in your old perl to create the bundle file, then install that bundle after installing the new perl -- but I've never actually used it. > It seems that RPM's (from Redhat's up2date for example) interact poorly > sometimes with CPAN installs. Why is that? Because RPMs build a database of files and their checksums, and obviously if you upgrade some of the files by a mechanism outside the RPM system that database will get out of sync with reality. Also, RPM determines dependencies by examining that database only, so if you get some modules from CPAN without ever installing the corresponding RPM, later RPMs won't discover that the CPAN modules are present. And finally, becuse RPMs may depend on specific bugs or features of specific module versions. > What's the cure? Repeatedly attempt the RPM install until you know that the only remaining dependencies are for modules you installed with CPAN, and then finish the RPM install with --nodeps. That's pretty much the same answer for *any* dependency installed "outside" the RPM system. Or, abandon RPM entirely for perl, and install everything with CPAN ... but that sometimes means that other packages that use perl may complain. There is no perfect solution except to never use anything you can't get as an RPM. > And .... is there a utility that can be run which will check the > integrity of the database/file/directory that Perl uses to keep track of > the versions of modules that were installed, with their actual contents? Perl (meaning, CPAN) doesn't really maintain a database other than the perllocal.pod file, AFAIK. It extracts version info from the installed .pm files directly. There's an index, but that's of what is available from cpan.org, not of what is installed.
