Development of PEAR 1.4.0 is nearing a crucial point: where I stop doing junk and release the dumb thing. I just completed a few more crucial unit tests today, including real-world tests of installing and uninstalling things like the SOAP package. There are a few issues with the installer that ...
Development of PEAR 1.4.0 is nearing a crucial point: where I stop doing junk and release the dumb thing. I just completed a few more crucial unit tests today, including real-world tests of installing and uninstalling things like the SOAP package.
There are a few issues with the installer that annoy me, such as the way the "pear download" command works, and so on, but I've managed to get a few of the surprising kinks worked out thanks to Davey Shafik's mucking around with CVS (and zapping his existing PEAR install in the process. We sorted that out rather quickly, thank God).
It turned out that PEAR was actually including files DURING the upgrade process that cause some really weird results. In Davey's case:
C:php5>pear upgrade c:webphp-cvspear-corepackage-PEAR.xml
Optional dependencies:
package `Net_FTP' version >= 1.3.0RC1 is recommended to utilize some features.
package `PEAR_Frontend_Web' version >= 0.5.0 is recommended to utilize some features.
package `PEAR_Frontend_Gtk' version >= 0.4.0 is recommended to utilize some features.
upgrade ok: PEAR 1.4.0a1
The system cannot find the path specified.
Did not download dependencies: pear/Net_FTP, pear/PEAR_Frontend_Web, pear/PEAR_Frontend_Gtk, use --alldeps or --onlyreqdeps t
o download automatically
Skipping package "pear/PEAR", already installed as version 1.4.0a1
No valid packages found
upgrade failed
This is quite odd - PEAR upgrade succeeds, and then runs itself all over again, with the newly upgraded code, and then fails. Really weird behavior if you ask me.
However, the best news is, after running pear run-tests -r just now I get:
TOTAL TIME: 03:34
621 PASSED TESTS
3 SKIPPED TESTS
Yay! This is on gentoo, which tends to be a lot pickier than windows (and literally 10 times faster, I might add - the same tests take 30 minutes on windows XP Home!!!), but I will need to re-run these tests on windows to be sure.
The list of tasks to complete before releasing PEAR 1.4.0a1 now stands at:
1) finish PEAR_PackageFileManager's upgrades to guarantee that it works with PEAR 1.4.0a1 without requiring user intervention
2) do lots of real-world testing of PEAR.
For those who wish to help out with #2, please check out PEAR from cvs (http://www.php.net/anoncvs.php has instructions for anonymous cvs access), please check out the pear-core module, and perform these steps:
$ pear -V
if you don't see PEAR version 1.3.4, please run
$ pear upgrade PEAR
then, if you checked out pear-core into /home/foo,
$ pear upgrade /home/foo/pear-core/package-PEAR.xml
This will upgrade your installation. To check things out, try a
$ pear list
Once you have it installed, please try to break PEAR by testing each of its options (pear help shows what is possible), and see what you can come up with.
Windows users: you can grab the best cvs option from TortoiseCVS and then very easily check out pear-core. Open a DOS prompt or Command Prompt (usually in the accessories submenu) to get started with the command line. However, if you aren't familiar with the CLI frontend of the web installer, I'd recommend waiting to try this until 1.4.0 stable comes out.
Please post any errors you encounter in a comment on this post.
Update Feb. 2, 2005:
Just ran the tests on windows, and here are the results:
TOTAL TIME: 18:57
622 PASSED TESTS
2 SKIPPED TESTS
Yay! Not only are the tests passing, but somehow 10 minutes was cut off of the tests. This means PEAR is actually faster in startup time, I think, because I didn't change anything else.