[geeklog-devel] [Fwd: [PEAR-DEV] PEAR 1.4.0 report - Major progress: 97% unit-tested]

Tony Bibbs tony at tonybibbs.com
Tue Dec 28 16:49:00 EST 2004

Here is an update on PEAR 1.4 below.  One thing worth noting is 1.4 will 
support the notion of 'channels'.  This will allow Geeklog to deploy 
software using PEAR from our own respository.  This is significant for 
two reasons: 1) I didn't know they would have coded the channel support 
already...they did this pretty damned fast and 2) this could provide us 
the engine for managing Geeklog plugins.  At the very least, Geeklog 
based libraries (i.e. MVCnPHP) can use this feature.

Just a heads up,


-------- Original Message --------
Subject: 	[PEAR-DEV] PEAR 1.4.0 report - Major progress: 97% unit-tested
Date: 	Tue, 28 Dec 2004 00:49:47 -0500
From: 	Greg Beaver <greg at chiaraquartet.net>
To: 	PEAR-dev <pear-dev at lists.php.net>, pear-qa <pear-qa at lists.php.net>


I am in the process of testing PEAR_Installer/PEAR_Downloader's support 
of all the various options, including some obscure ones like --soft.  
Once this is finished, the only classes left to test are:

finish PEAR_ChannelFile
makerpm/bundle commands

I'm pretty confident that I can finish the tests by Jan. 1.

All normal package.xml 1.0 stuff is fully tested EXCEPT for pecl package 
installation.  Those who would like to help out with testing, please 
feel free to upgrade package-PEAR.xml, there will be very few changes to 
core functionality of PEAR between now and 1.4.0a1's release.  The only 
untested features involve the new package.xml 2.0 features (bundle, ext 
releases) and some tasks that nobody uses yet.  replacements is fully 
tested and working.

Today, I committed tweaks to an exciting new feature that occurred to me 
yesterday.  channel.xml has had support for mirrors, but this had not 
yet been implemented.  As of today, mirroring is fully supported at the 
client level.  This is controlled by the new preferred_mirror config 
variable.  The server in this variable will be used as if it were the 
primary server.  Soon, I will probably also implement a comma-delimited 
list of servers like some kind of server_path, but that is for the future.

preferred_mirror can be used for more than just typical mirroring, it 
can be used to do the linking that Mika wanted (I think it was Mika).

First, set up a channel server as channel.example.com

then, set up channel.example.com/devel, channel.example.com/stable as 
mirrors.  For production sites, set the preferred_mirror to 
channel.example.com/stable, and for development sites, set it to 
channel.example.com/devel.  In this way, you can securely switch from 
one repository to another without the possibility of installing the 
wrong stuff, and it sidesteps the problem of channel name=channel 
server.  It's actually equivalent to PEAR 1.3.x's ability to set 
master_server to a new value, but is much more structured, as the 
servers must be in the channel.xml as mirrors.

I will definitely be using this feature for testing pearweb, as I can 
simply create a channel.xml here on my computer that has localhost as a 
mirror, and then simply set the preferred_mirror to localhost when 
testing new features.  Switching back and forth is easy as pie.  I'll be 
using this to fully implement REST-based remote information for 1.4.0a1 
or a2.


PEAR Development Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

More information about the geeklog-devel mailing list