[zi-cvs] packages/com.zzoss.zic application_settings.php,1.14,1.15 applications.php,1.22,1.23 package.xml,1.10,1.11 packages_process.php,1.10,1.11 plugins_process.php,1.10,1.11
Sandro Zic <[email protected]> Tue, 06 Apr 2004 14:45:19 +0000
| Newsgroups | gmane.comp.php.zzoss.installer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/zzossinstaller/packages/com.zzoss.zic
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32569/com.zzoss.zic
Modified Files:
application_settings.php applications.php package.xml
packages_process.php plugins_process.php
Log Message:
make plugins sandbox work
Index: applications.php
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.zic/applications.php,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** applications.php 4 Apr 2004 09:52:36 -0000 1.22
--- applications.php 6 Apr 2004 14:45:17 -0000 1.23
***************
*** 209,213 ****
?>
<td<?php echo $highlight; ?>>
! <a href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&application=<?php echo $application["name"].'-'.$application['release']['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&id=<?php echo $application["id"]; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>', 'ApplicationInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="<?php echo $application["summary"]; ?>"><?php echo $application["summary"]; ?></a>
</td>
<!-- <td<?php echo $highlight; ?>><?php echo $distribution['summary']; ?></td> -->
--- 209,213 ----
?>
<td<?php echo $highlight; ?>>
! <a href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&application=<?php echo $application["name"].'-'.$application['release']['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&application=<?php echo $application["name"].'-'.$application['release']['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>', 'ApplicationInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="<?php echo $application["summary"]; ?>"><?php echo $application["summary"]; ?></a>
</td>
<!-- <td<?php echo $highlight; ?>><?php echo $distribution['summary']; ?></td> -->
***************
*** 224,228 ****
<div class="actions">
<?php
! $querystr = '?id='.$application['id'].'&application='.$application['name'].'-'.$application['release']['version'].'&distribution='.$distribution['name'].'-'.$distribution['release']['version'];
if(isset($_REQUEST['mode'])){
$querystr .= '&mode='.$_REQUEST['mode'];
--- 224,228 ----
<div class="actions">
<?php
! $querystr = '?application='.$application['name'].'-'.$application['release']['version'].'&distribution='.$distribution['name'].'-'.$distribution['release']['version'];
if(isset($_REQUEST['mode'])){
$querystr .= '&mode='.$_REQUEST['mode'];
***************
*** 273,277 ****
$app_settings = $zi_registry->getApplicationSettings($application['name'].'-'.$application['release']['version']);
?> <a href="<?php echo $app_settings['application_url']; ?>" title="View Application" target="_blank"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/window_new.png" border="0" alt="View Application" align="absmiddle"></a>
! <a title="Installation Log" href="log.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&id=<?php echo $application["id"]; ?>&application=<?php echo $application["name"].'-'.$application["release"]['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>" onclick="javascript:window.open('log.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&id=<?php echo $application["id"]; ?>&application=<?php echo $application["name"].'-'.$application["release"]['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>', 'LogFile', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="Log File"><img src="th
emes/share/icons/org.kde.icons.crystalsvg/16x16/log.png" border="0" alt="Installation Log" align="absmiddle"></a><?php
}
if($GLOBALS['ZI']['mode'] != 'setup'){
--- 273,277 ----
$app_settings = $zi_registry->getApplicationSettings($application['name'].'-'.$application['release']['version']);
?> <a href="<?php echo $app_settings['application_url']; ?>" title="View Application" target="_blank"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/window_new.png" border="0" alt="View Application" align="absmiddle"></a>
! <a title="Installation Log" href="log.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&application=<?php echo $application["name"].'-'.$application["release"]['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>" onclick="javascript:window.open('log.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&application=<?php echo $application["name"].'-'.$application["release"]['version']; ?>&distribution=<?php echo rawurlencode($distribution['name'].'-'.$distribution['release']['version']); ?>', 'LogFile', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="Log File"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/log.png" border="0" alt="I
nstallation Log" align="absmiddle"></a><?php
}
if($GLOBALS['ZI']['mode'] != 'setup'){
Index: application_settings.php
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.zic/application_settings.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** application_settings.php 5 Apr 2004 06:49:42 -0000 1.14
--- application_settings.php 6 Apr 2004 14:45:17 -0000 1.15
***************
*** 206,210 ****
<?php
}
! $zi_buttons['back'] = 'applications.php'.zi_form_querystr();
if(isset($_REQUEST['dev']) && $_REQUEST['dev'] == 'bundle'){
$zi_buttons['next'] = 'packages_reset.php'.zi_form_querystr();
--- 206,210 ----
<?php
}
! //$zi_buttons['back'] = 'applications.php'.zi_form_querystr();
if(isset($_REQUEST['dev']) && $_REQUEST['dev'] == 'bundle'){
$zi_buttons['next'] = 'packages_reset.php'.zi_form_querystr();
Index: packages_process.php
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.zic/packages_process.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** packages_process.php 5 Apr 2004 06:49:42 -0000 1.10
--- packages_process.php 6 Apr 2004 14:45:17 -0000 1.11
***************
*** 23,28 ****
@license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
*/
-
- @set_time_limit(0);
// execute init file
--- 23,26 ----
***************
*** 46,50 ****
// check if this script is part of installation procedure
! if(/*isset($_REQUEST['mode']) && ($_REQUEST['mode'] == 'dev' || $_REQUEST['mode'] == 'instant') && */!$zi_registry->isProcedure($pkg_type.'s_fileroles')){
header('Location: plugins_process.php'.zi_form_querystr().'&step='.$step);
exit;
--- 44,48 ----
// check if this script is part of installation procedure
! if(!$zi_registry->isProcedure($pkg_type.'s_fileroles')){
header('Location: plugins_process.php'.zi_form_querystr().'&step='.$step);
exit;
***************
*** 61,141 ****
$zi_registry->registerPackages();
! // load package selection
! $queue = $zi_registry->getPackagesQueue();
! /*
! echo '<pre>';
! print_r($queue);
! echo '</pre>';
! */
! // Create the install destination directory.
! $app_settings = $zi_registry->getApplicationSettings();
! //echo 'settings: '.$app_settings['application_root'];
!
! if($pkg_type == 'plugin'){
! // Location of plugins runtime environment
! $pkgs_root = $zi_registry->getApplicationPath().'plugins_re'.DIRECTORY_SEPARATOR;
! } else {
! $pkgs_root = $app_settings['application_root'];
! }
!
! System::mkdir(array('-p', $pkgs_root));
!
! require_once 'ZZOSS_Plugin/Plugin.php';
! $plugin = new ZZOSS_Plugin;
! if($plugin->setQueue($queue)){
! $plugin->setDestDir($pkgs_root);
!
! // Location where plugins store their data
! $pkgs_data = $zi_registry->getApplicationPath().'data'.DIRECTORY_SEPARATOR.$pkg_type.DIRECTORY_SEPARATOR;
! if(!is_dir($pkgs_data)){
! System::mkdir(array('-p', $pkgs_data));
! }
! $plugin->setDataDir($pkgs_data);
!
! if(isset($app_settings['source_1'])){
! $plugin->setSource($app_settings['source_1']);
! }
! if(isset($app_settings['source_2'])){
! $plugin->setSource($app_settings['source_2']);
! }
! if(isset($app_settings['source_3'])){
! $plugin->setSource($app_settings['source_3']);
! }
! if(isset($app_settings['source_4'])){
! $plugin->setSource($app_settings['source_4']);
! }
! if(isset($app_settings['source_5'])){
! $plugin->setSource($app_settings['source_5']);
! }
! $plugin->setSource($zi_registry->getApplicationPath().DIRECTORY_SEPARATOR.'plugins'.DIRECTORY_SEPARATOR);
! $plugin->setRegistry($zi_registry);
! $plugin->exec('role', $step);
!
! // finally set "rebuild package" flag
! $fp = fopen($zi_registry->getApplicationPath().'installer'.DIRECTORY_SEPARATOR.'packages.lock',"w");
! fputs($fp,'dummy');
! fclose($fp);
!
! // write installation log
! $fp = fopen($zi_registry->getApplicationPath().'installer'.DIRECTORY_SEPARATOR.'packages.log',"a");
! fputs($fp,$plugin->getLog());
! fclose($fp);
! /*echo $plugin->getLog();die();*/
! }
!
! /*if($pkg_type == 'plugin'){
! $step_next = $step + 1;
! if($plugin->isStep($step_next)) {
! $url_next = 'plugins_process.php'.zi_form_querystr().'&step='.$step_next;
! //$url_next = 'packages_process.php'.zi_form_querystr().'&step='.$step_next;
! } else {
! $_REQUEST['type'] = 'package';
! $url_next = 'packages.php'.zi_form_querystr();
! }
! } else {*/
! $url_next = 'plugins_process.php'.zi_form_querystr().'&step='.$step;
! //}
!
! // go to process build packages
header('Location: '.$url_next);
exit;
--- 59,64 ----
$zi_registry->registerPackages();
! // Redirect to plugins Runtime Environment
! $url_next = 'plugins_re.php'.zi_form_querystr().'&re_type=filerole&step='.$step;
header('Location: '.$url_next);
exit;
Index: package.xml
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.zic/package.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** package.xml 1 Apr 2004 18:59:05 -0000 1.10
--- package.xml 6 Apr 2004 14:45:17 -0000 1.11
***************
*** 96,99 ****
--- 96,100 ----
<file role="php" baseinstalldir="" name="package_add.php"/>
<file role="php" baseinstalldir="" name="plugins_process.php"/>
+ <file role="php" baseinstalldir="" name="plugins_re.php"/>
<file role="php" baseinstalldir="" name="setup.php"/>
<file role="php" baseinstalldir="" name="setup_datadir.php"/>
Index: plugins_process.php
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.zic/plugins_process.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** plugins_process.php 5 Apr 2004 06:49:42 -0000 1.10
--- plugins_process.php 6 Apr 2004 14:45:17 -0000 1.11
***************
*** 23,28 ****
@license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
*/
-
- @set_time_limit(0);
// execute init file
--- 23,26 ----
***************
*** 40,44 ****
// check if this script is part of installation procedure
! if(/*isset($_REQUEST['mode']) && ($_REQUEST['mode'] == 'dev' || $_REQUEST['mode'] == 'instant') && */!$zi_registry->isProcedure($pkg_type.'s_build')){
// by default, no further installation steps are required
$has_step = false;
--- 38,42 ----
// check if this script is part of installation procedure
! if(!$zi_registry->isProcedure($pkg_type.'s_build')){
// by default, no further installation steps are required
$has_step = false;
***************
*** 72,308 ****
}
! // plugin library
! require_once 'ZZOSS_Plugin/Plugin.php';
!
! /***************************************************************************
! * INSTALLER FRAMEWORK FUNCTIONS *
! ***************************************************************************/
!
! function zi_process()
! {
! global $zi_registry;
!
! $pkg_type = 'package';
! if(isset($_REQUEST['type'])){
! $pkg_type = $_REQUEST['type'];
! }
! $zi_registry->setPackageType($pkg_type);
!
! // Create the install destination directory.
! $app_settings = $zi_registry->getApplicationSettings();
! //echo 'settings: '.$app_settings['application_root'];
!
! if(!isset($_REQUEST['package'])){
! if($pkg_type == 'plugin'){
! // Location of plugins runtime environment
! $pkgs_root = $zi_registry->getApplicationPath().'plugins_re'.DIRECTORY_SEPARATOR;
! } else {
! $pkgs_root = $app_settings['application_root'];
! }
! // Location where plugins store their data
! $pkgs_data = $zi_registry->getApplicationPath().'data'.DIRECTORY_SEPARATOR.$pkg_type.DIRECTORY_SEPARATOR;
! $queue = $zi_registry->getPackagesQueue();
! } else {
! if(!$plugin_dev = $zi_registry->getPluginsDev($_REQUEST['package'])){
! PEAR::raiseError('No settings for plugin \''.$_REQUEST['package'].'\'');
! }
! $pkgs_root = $plugin_dev['install_dir'];
! $pkgs_data = $plugin_dev['data_dir'];
! $queue = array(0 => array($_REQUEST['package'] => $plugin_dev['action']));
! }
!
! include_once 'ZZOSS_Plugin/Plugin.php';
! $plugin = new ZZOSS_Plugin;
! $plugin->setDestDir($pkgs_root);
!
! if(!is_dir($pkgs_data)){
! System::mkdir(array('-p', $pkgs_data));
! }
! $plugin->setDataDir($pkgs_data);
!
! if(isset($app_settings['source_1'])){
! $plugin->setSource($app_settings['source_1']);
! }
! if(isset($app_settings['source_2'])){
! $plugin->setSource($app_settings['source_2']);
! }
! if(isset($app_settings['source_3'])){
! $plugin->setSource($app_settings['source_3']);
! }
! if(isset($app_settings['source_4'])){
! $plugin->setSource($app_settings['source_4']);
! }
! if(isset($app_settings['source_5'])){
! $plugin->setSource($app_settings['source_5']);
! }
! $plugin->setSource($zi_registry->getApplicationPath().DIRECTORY_SEPARATOR.'plugins'.DIRECTORY_SEPARATOR);
! $plugin->setQueue($queue);
! $plugin->setRegistry($zi_registry);
! $plugin->exec('build', $_REQUEST["step"], 'post');
! /*
! echo '<pre>';
! echo $plugin->log;
! echo '</pre>';
! */
! // write installation log
! $fp = fopen($zi_registry->getApplicationPath().'installer'.DIRECTORY_SEPARATOR.'packages.log',"a");
! fputs($fp,$plugin->getLog());
! fclose($fp);
!
! // Display errors.
! echo $plugin->getOutput();
! /*
! $queue = $zi_registry->getPackagesQueue();
! $plugin = new ZZOSS_Plugin;
! $plugin->setQueue($queue);
! $plugin->setRegistry($zi_registry);
! $plugin->exec('build', $_REQUEST["step"]);
! */
! }
!
! /***************************************************************************
! * STARTUP *
! ***************************************************************************/
! /*
! require_once 'ZZOSS_Installer/Widget.php';
! $zi_widget = new ZZOSS_InstallerWidget;
! if(isset($zi_errors)){
! $zi_widget->setErrors($zi_errors);
! }
! */
!
! // Create the install destination directory.
! $app_settings = $zi_registry->getApplicationSettings();
! //echo 'settings: '.$app_settings['application_root'];
!
! if(!isset($_REQUEST['package'])){
! if($pkg_type == 'plugin'){
! // Location of plugins runtime environment
! $pkgs_root = $zi_registry->getApplicationPath().'plugins_re'.DIRECTORY_SEPARATOR;
! } else {
! $pkgs_root = $app_settings['application_root'];
! }
! // Location where plugins store their data
! $pkgs_data = $zi_registry->getApplicationPath().'data'.DIRECTORY_SEPARATOR.$pkg_type.DIRECTORY_SEPARATOR;
! $queue = $zi_registry->getPackagesQueue();
! } else {
! if(!$plugin_dev = $zi_registry->getPluginsDev($_REQUEST['package'])){
! PEAR::raiseError('No settings for plugin \''.$_REQUEST['package'].'\'');
! }
! $pkgs_root = $plugin_dev['install_dir'];
! // Location where plugins store their data
! $pkgs_data = $plugin_dev['data_dir'];
! $queue = array(0 => array($_REQUEST['package'] => $plugin_dev['action']));
! $_REQUEST["step"] = 0;
! }
!
! $plugin = new ZZOSS_Plugin;
! $plugin->setDestDir($pkgs_root);
!
! // Location where plugins store their data
!
! if(!is_dir($pkgs_data)){
! System::mkdir(array('-p', $pkgs_data));
! }
!
! $plugin->setDataDir($pkgs_data);
!
! if(!isset($_REQUEST['package'])){
! if(isset($app_settings['source_1'])){
! $plugin->setSource($app_settings['source_1']);
! }
! if(isset($app_settings['source_2'])){
! $plugin->setSource($app_settings['source_2']);
! }
! if(isset($app_settings['source_3'])){
! $plugin->setSource($app_settings['source_3']);
! }
! if(isset($app_settings['source_4'])){
! $plugin->setSource($app_settings['source_4']);
! }
! if(isset($app_settings['source_5'])){
! $plugin->setSource($app_settings['source_5']);
! }
! }
! $plugin->setSource($zi_registry->getApplicationPath().DIRECTORY_SEPARATOR.'plugins'.DIRECTORY_SEPARATOR);
! $plugin->setQueue($queue);
! $plugin->setRegistry($zi_registry);
! if(!isset($_REQUEST['package'])){
! $plugin->exec('build', $_REQUEST["step"], 'pre');
! } else {
! $plugin->exec('build', 0, 'pre', $_REQUEST['package'], $plugin_dev['build_dir']);
! }
!
! if(!isset($_REQUEST['package'])){
! // write installation log
! $fp = fopen($zi_registry->getApplicationPath().'installer'.DIRECTORY_SEPARATOR.'packages.log',"a");
! fputs($fp,$plugin->getLog());
! fclose($fp);
! }
!
! $step = $_REQUEST["step"];
! $step_next = $step + 1;
! if($plugin->isStep($step_next)) {
! $url_next = 'packages_process.php'.zi_form_querystr().'&step='.$step_next;
! } else {
! if(isset($_REQUEST['type']) && $_REQUEST['type'] == 'plugin'){
! if(!isset($_REQUEST['package'])){
! $_REQUEST['type'] = 'package';
! $url_next = 'packages_reset.php'.zi_form_querystr();
! $_REQUEST['type'] = 'plugin';
! } else {
! $zi_buttons['back'] = 'dev_plugin.php'.zi_form_querystr();
! $url_next = $_SERVER['PHP_SELF'].zi_form_querystr();
! }
! } else {
! $url_next = 'application_done.php'.zi_form_querystr();
! }
! }
!
! /***************************************************************************
! * PAGE CONTENT *
! ***************************************************************************/
!
! // if nothing is there to configure post a message
! if(!isset($_REQUEST['package']) && !strlen($plugin->getOutput())) {
! /*
! echo $plugin->getLog();
! echo $zi_registry->getApplicationPath();
! die('here');
! */
! // maybe some plugin just want to exec ...
! zi_process();
! header('Location: '.$url_next);
! exit;
! } elseif(!isset($_REQUEST['package']) && strlen($plugin->getOutput())) {
! include 'themes/'.$GLOBALS['ZI']['theme'].'/header.php';
! $application = $zi_registry->getApplication();
! ?>
! <a name="top"></a>
! <h1>Build Packages</h1>
!
! <h2><a href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&distribution=<?php echo $_REQUEST['distribution']; ?>&application=<?php echo $_REQUEST['application']; ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&distribution=<?php echo $_REQUEST['distribution']; ?>&application=<?php echo $_REQUEST['application']; ?>', 'ApplicationInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="<?php echo $application["summary"].' '.$application['release']['version']; ?>"><?php echo $application["summary"].' '.$application['release']['version']; ?></a></h2>
!
! <?php echo $plugin->getOutput(); ?>
! <input type="hidden" name="step" value="<?php echo $_REQUEST["step"]; ?>">
! <a name="bottom"></a>
! <?php
! $zi_buttons['next'] = $url_next;
! include 'themes/'.$GLOBALS['ZI']['theme'].'/footer.php';
! } else {
! include 'themes/'.$GLOBALS['ZI']['theme'].'/header.php';
! $application = $zi_registry->getApplication();
! ?>
! <a name="top"></a>
! <h1>Build Package</h1>
!
! <h2><a href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&distribution=<?php echo $_REQUEST['distribution']; ?>&application=<?php echo $_REQUEST['application']; ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=application&distribution=<?php echo $_REQUEST['distribution']; ?>&application=<?php echo $_REQUEST['application']; ?>', 'ApplicationInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank" title="<?php echo $application["summary"].' '.$application['release']['version']; ?>"><?php echo $application["summary"].' '.$application['release']['version']; ?></a></h2>
! <pre><?php echo $plugin->getLog(); ?></pre>
! <?php echo $plugin->getOutput(); ?>
! <input type="hidden" name="step" value="<?php echo $_REQUEST["step"]; ?>">
! <a name="bottom"></a>
! <?php
! $zi_buttons['reload'] = $url_next;
! include 'themes/'.$GLOBALS['ZI']['theme'].'/footer.php';
! }
?>
\ No newline at end of file
--- 70,76 ----
}
! // Redirect to plugins Runtime Environment
! $url_next = 'plugins_re.php'.zi_form_querystr().'&re_type=build&step='.$step;
! header('Location: '.$url_next);
! exit;
?>
\ No newline at end of file
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click