[imp] General Solution for: PEAR archive for Horde/Imp CVS

Michael Sims mhsims@midsouth.rr.com
Thu Nov 21 14:52:21 2002


On Thu, 21 Nov 2002 10:40:46 +0100, you wrote:

>The "cleanest" solution to get a recent PEAR repository:
[snip]
>5) Use the PEAR installer (e.g. 'pear install Log') to install all =
missing
>packages needed for Horde/IMP/...
>
>6) Have fun.

Hi,

That was exactly my point.  This does NOT work.  The version of PEAR
that is available from pear.php.net is, I can only assume, too new to
work with the CVS versions of Horde and Imp.  That is, it seems like
Horde and Imp are making some basic assumptions about where certain
PEAR modules should be located in the PEAR directory, and these
assumptions are no longer valid.  Additionally, some modules that
Horde wants have been completely removed from the most recent PEAR.  

I just stepped through this again to verify it.  If you'll indulge me
for a moment I'll outline the steps I took so you can better
appreciate the problem:

First I checked out both Horde and Imp from CVS into my document root.
Next, I install the PEAR package manager using the script from
go-pear.org.  It installs a fresh copy of the PEAR repository in
/usr/local/share/pear.  My include_path directive only contains
"/usr/local/share/pear" and I can verify that this is where Horde is
getting it's PEAR from by dropping an 

echo "Hi there!";die;

in PEAR.php and verifying that I see "Hi there!" when I try to load
Horde's test.php.  So far so good.

The initial output from test.php shows that I am missing several
packages:

Mail_Mime - No 
Log - No 
File_CSV - No 
Crypt_HCEMD5 - No 
Date_Calc - No 
HTML_Common/HTML_Select - No 

So I use "pear install packagename" to get these packages.  Mail_Mime
and Log install with no problems.  There is no package called
"File_CSV" so I try just getting "File" and that seems to work.
However, File.php has an error on line 529.  I decide for now to deal
with that later and deal with the other packages.

Crypt_HCEMD5 doesn't exist in the most recent PEAR.  There is no
package by that name, and none of the other Crypt packages will
satisfy Horde.  "test.php" contains:

include 'Crypt/HCEMD5.php';

But there is no longer any such package in PEAR.  You can easily
verify this by running "pear list-all"

pear list-all | grep Crypt -i
| Crypt_CBC            | 0.3    | 0.3   |
| Crypt_Rc4            | 0.1    | 0.1   |
| Crypt_Xtea           | 1.0    | 1.0   |
| HTML_Crypt           | 1.1    | 1.1   |

Go to pear.php.net and do a search for Crypt_HCEMD5.  You will get no
results.  I can see that this package used to exist in PEAR, as it is
bundled with the source distro of PHP 4.2.3, but it is gone from the
recent PEAR.

Date_Calc doesn't exist, but I install Date and that seems to work.  I
install HTML_Common, no problems.  When I try to install HTML_Select,
I get an error about a dependency on I18N, so I first install that and
then install HTML_Select.

But Horde's test.php still complains that HTML_Common and HTML_Select
are not installed.  The most recent pear installs HTML_Select in
./I18N/Select/, but test.php contains:

include 'HTML/Select.php';

Again, HTML_Select used to be in this location but has moved in the
most recent PEAR.

So, after it's all said and done I'm left with three problems:

1. The File package in the most recent PEAR contains a bug on line 529
which contains (PEAR::registerShutdownFunc(array('File', '_File'));

Warning: Problem with method call - please report this bug in
/usr/local/share/pear/File.php on line 529

2. Crypt_HCEMD5 no longer exists at all in the most recent PEAR.

3. HTML_Select has been moved in the most recent PEAR but Horde is
still looking for it in it's old location.

All of the above is easy to verify if you start from scratch and try
to install Horde/IMP CVS and PEAR.  I'm sure that if you've been
maintaining a Horde installation for the past few months that you've
had no problems, since I'm sure Crypt_HCEMD5 *used* to exist on
pear.php.net and I'm sure HTML_Select *used* to be in a different
location.  If you built your PEAR repository a while ago and have been
merely updating it as needed then you wouldn't be aware of the above
problems.  But if you have to start over from scratch you're going to
run into trouble.

I'm sure at some point in the future the instructions you provided
will be sufficient to get Horde/Imp CVS working with PEAR, but as of
this particular moment they are not.

Thanks...


More information about the imp mailing list