summaryrefslogtreecommitdiff
path: root/pear
diff options
context:
space:
mode:
authorMark A. Hershberger <mah@debian.(none)>2009-03-25 00:36:21 -0400
committerMark A. Hershberger <mah@debian.(none)>2009-03-25 00:36:21 -0400
commitd29a4fd2dd3b5d4cf6e80b602544d7b71d794e76 (patch)
treeb38e2e5c6974b9a15f103e5cf884cba9fff90ef4 /pear
parenta88a88d0986a4a32288c102cdbfebd78d7e91d99 (diff)
downloadphp-d29a4fd2dd3b5d4cf6e80b602544d7b71d794e76.tar.gz
Imported Upstream version 5.2.0upstream/5.2.0
Diffstat (limited to 'pear')
-rw-r--r--pear/Makefile.frag2
-rw-r--r--pear/install-pear-nozlib.phar3137
2 files changed, 2043 insertions, 1096 deletions
diff --git a/pear/Makefile.frag b/pear/Makefile.frag
index 7c63801ca..eb8e289cb 100644
--- a/pear/Makefile.frag
+++ b/pear/Makefile.frag
@@ -3,7 +3,7 @@
peardir=$(PEAR_INSTALLDIR)
# Skip all php.ini files altogether
-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0 -derror_reporting=E_ALL -dmemory_limit=-1 -ddetect_unicode=0
+PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=E_ALL -dmemory_limit=-1 -ddetect_unicode=0
install-pear-installer: $(SAPI_CLI_PATH)
@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)"
diff --git a/pear/install-pear-nozlib.phar b/pear/install-pear-nozlib.phar
index c30900dc9..e5f43794b 100644
--- a/pear/install-pear-nozlib.phar
+++ b/pear/install-pear-nozlib.phar
@@ -1,649 +1,667 @@
-<?php #PHP_ARCHIVE_HEADER-0.8.0
-error_reporting(E_ALL);
-if (function_exists('mb_internal_encoding')) {
- mb_internal_encoding('ASCII');
-}
-if (!class_exists('PHP_Archive')) {/**
- * PHP_Archive Class (implements .phar)
- *
- * @package PHP_Archive
- * @category PHP
- */
-/**
- * Flag for GZ compression
- */
-define('PHP_ARCHIVE_COMPRESSED', 1);
-/**
- * PHP_Archive Class (implements .phar)
- *
- * PHAR files a singular archive from which an entire application can run.
- * To use it, simply package it using {@see PHP_Archive_Creator} and use phar://
- * URIs to your includes. i.e. require_once 'phar://config.php' will include config.php
- * from the root of the PHAR file.
- *
- * Gz code borrowed from the excellent File_Archive package by Vincent Lascaux.
- *
- * @copyright Copyright David Shafik and Synaptic Media 2004. All rights reserved.
- * @author Davey Shafik <davey@synapticmedia.net>
- * @author Greg Beaver <cellog@php.net>
- * @link http://www.synapticmedia.net Synaptic Media
- * @version Id: Archive.php,v 1.28 2006/03/03 21:35:29 cellog Exp $
- * @package PHP_Archive
- * @category PHP
- */
-
-class PHP_Archive
-{
- /**
- * Whether this archive is compressed with zlib
- *
- * @var bool
- */
- private $_compressed;
- /**
- * @var string Real path to the .phar archive
- */
- private $_archiveName = null;
- /**
- * Current file name in the phar
- * @var string
- */
- protected $currentFilename = null;
- /**
- * Length of current file in the phar
- * @var string
- */
- protected $internalFileLength = null;
- /**
- * Current file statistics (size, creation date, etc.)
- * @var string
- */
- protected $currentStat = null;
- /**
- * @var resource|null Pointer to open .phar
- */
- protected $fp = null;
- /**
- * @var int Current Position of the pointer
- */
- protected $position = 0;
-
- /**
- * Map actual realpath of phars to meta-data about the phar
- *
- * Data is indexed by the alias that is used by internal files. In other
- * words, if a file is included via:
- * <code>
- * require_once 'phar://PEAR.phar/PEAR/Installer.php';
- * </code>
- * then the alias is "PEAR.phar"
- *
- * Information stored is the actual file name, a boolean indicating whether
- * this .phar is compressed with zlib, and the precise offset of internal files
- * within the .phar, used with the {@link $_manifest} to load actual file contents
- * @var array
- */
- private static $_pharMapping = array();
- /**
- * File listing for the .phar
- *
- * The manifest is indexed per phar.
- *
- * Files within the .phar are indexed by their relative path within the
- * .phar. Each file has this information in its internal array
- *
- * - 0 = uncompressed file size
- * - 1 = timestamp of when file was added to phar
- * - 2 = offset of file within phar relative to internal file's start
- * - 3 = compressed file size (actual size in the phar)
- * @var array
- */
- private static $_manifest = array();
- /**
- * Absolute offset of internal files within the .phar, indexed by absolute
- * path to the .phar
- *
- * @var array
- */
- private static $_fileStart = array();
- /**
- * file name of the phar
- *
- * @var string
- */
- private $_basename;
-
- /**
- * Map a full real file path to an alias used to refer to the .phar
- *
- * This function can only be called from the initialization of the .phar itself.
- * Any attempt to call from outside the .phar or to re-alias the .phar will fail
- * as a security measure.
- * @param string $file full realpath() filepath, like /path/to/go-pear.phar
- * @param string $alias alias used in opening a file within the phar
- * like phar://go-pear.phar/file
- * @param bool $compressed determines whether to attempt zlib uncompression
- * on accessing internal files
- * @param int $dataoffset the value of __COMPILER_HALT_OFFSET__
- */
- public static final function mapPhar($file, $dataoffset)
- {
- $file = realpath($file);
- // this ensures that this is safe
- if (!in_array($file, get_included_files())) {
- die('SECURITY ERROR: PHP_Archive::mapPhar can only be called from within ' .
- 'the phar that initiates it');
- }
- if (!is_array(self::$_pharMapping)) {
- self::$_pharMapping = array();
- }
- if (!isset(self::$_manifest[$file])) {
- $fp = fopen($file, 'rb');
- // seek to __HALT_COMPILER_OFFSET__
- fseek($fp, $dataoffset);
- $manifest_length = unpack('Vlen', fread($fp, 4));
- $info = self::_unserializeManifest(fread($fp, $manifest_length['len']));
- if (!$info) {
- die; // error declared in unserializeManifest
- }
- $alias = $info['alias'];
- self::$_manifest[$file] = $info['manifest'];
- $compressed = $info['compressed'];
- self::$_fileStart[$file] = ftell($fp);
- fclose($fp);
- }
- if ($compressed) {
- if (!function_exists('gzinflate')) {
- die('Error: zlib extension is not enabled - gzinflate() function needed' .
- ' for compressed .phars');
- }
- }
- if (isset(self::$_pharMapping[$alias])) {
- die('ERROR: PHP_Archive::mapPhar has already been called for alias "' .
- $alias . '" cannot re-alias to "' . $file . '"');
- }
- self::$_pharMapping[$alias] = array($file, $compressed, $dataoffset);
- }
-
- /**
- * @param string
- */
- private static function processFile($path)
- {
- if ($path == '.') {
- return '';
- }
- $std = str_replace("\\", "/", $path);
- while ($std != ($std = ereg_replace("[^\/:?]+/\.\./", "", $std))) ;
- $std = str_replace("/./", "", $std);
- if (strlen($std) > 1 && $std[0] == '/') {
- $std = substr($std, 1);
- }
- if (strncmp($std, "./", 2) == 0) {
- return substr($std, 2);
- } else {
- return $std;
- }
- }
-
- /**
- * Seek in the master archive to a matching file or directory
- * @param string
- */
- protected function selectFile($path, $allowdirs = true)
- {
- $std = self::processFile($path);
- if (isset(self::$_manifest[$this->_archiveName][$path])) {
- $this->_setCurrentFile($path);
- return true;
- }
- if (!$allowdirs) {
- return 'Error: "' . $path . '" is not a file in phar "' . $this->_basename . '"';
- }
- foreach (self::$_manifest[$this->_archiveName] as $file => $info) {
- if (empty($std) ||
- //$std is a directory
- strncmp($std.'/', $path, strlen($std)+1) == 0) {
- $this->currentFilename = $this->internalFileLength = $this->currentStat = null;
- return true;
- }
- }
- return 'Error: "' . $path . '" not found in phar "' . $this->_basename . '"';
- }
-
- private function _setCurrentFile($path)
- {
- $this->currentStat = array(
- 2 => 0100444, // file mode, readable by all, writeable by none
- 4 => 0, // uid
- 5 => 0, // gid
- 7 => self::$_manifest[$this->_archiveName][$path][0], // size
- 9 => self::$_manifest[$this->_archiveName][$path][1], // creation time
- );
- $this->currentFilename = $path;
- $this->internalFileLength = self::$_manifest[$this->_archiveName][$path][2];
- // seek to offset of file header within the .phar
- if (is_resource(@$this->fp)) {
- fseek($this->fp, self::$_fileStart[$this->_archiveName] + self::$_manifest[$this->_archiveName][$path][5]);
- }
- }
-
- /**
- * Seek to a file within the master archive, and extract its contents
- * @param string
- * @return array|string an array containing an error message string is returned
- * upon error, otherwise the file contents are returned
- */
- public function extractFile($path)
- {
- $this->fp = @fopen($this->_archiveName, "rb");
- if (!$this->fp) {
- return array('Error: cannot open phar "' . $this->_archiveName . '"');
- }
- if (($e = $this->selectFile($path, false)) === true) {
- $data = '';
- $count = $this->internalFileLength;
- while ($count) {
- if ($count < 8192) {
- $data .= @fread($this->fp, $count);
- $count = 0;
- } else {
- $count -= 8192;
- $data .= @fread($this->fp, 8192);
- }
- }
- @fclose($this->fp);
- if (self::$_manifest[$this->_archiveName][$path][4] & PHP_ARCHIVE_COMPRESSED) {
- $data = gzinflate($data);
- }
- if (!isset(self::$_manifest[$this->_archiveName][$path]['ok'])) {
- if (strlen($data) != $this->currentStat[7]) {
- return array("Not valid internal .phar file (size error {$size} != " .
- $this->currentStat[7] . ")");
- }
- if (self::$_manifest[$this->_archiveName][$path][3] != crc32($data)) {
- return array("Not valid internal .phar file (checksum error)");
- }
- self::$_manifest[$this->_archiveName][$path]['ok'] = true;
- }
- return $data;
- } else {
- @fclose($this->fp);
- return array($e);
- }
- }
-
- /**
- * Locate the .phar archive in the include_path and detect the file to open within
- * the archive.
- *
- * Possible parameters are phar://filename_within_phar.ext or
- * phar://pharname.phar/filename_within_phar.ext
- *
- * phar://filename_within_phar.ext will simply use the last .phar opened.
- * @param string a file within the archive
- * @return string the filename within the .phar to retrieve
- */
- public function initializeStream($file)
- {
- $info = parse_url($file);
- if (!isset($info['host']) || !count(self::$_pharMapping)) {
- // malformed internal file
- return false;
- }
- if (!isset($info['path'])) {
- // last opened phar is requested
- $info['path'] = $info['host'];
- $info['host'] = '';
- } elseif (strlen($info['path']) > 1) {
- $info['path'] = substr($info['path'], 1);
- }
- if (isset(self::$_pharMapping[$info['host']])) {
- $this->_basename = $info['host'];
- $this->_archiveName = self::$_pharMapping[$info['host']][0];
- $this->_compressed = self::$_pharMapping[$info['host']][1];
- } else {
- // no such phar has been included, or last opened phar is requested
- $pharinfo = end(self::$_pharMapping);
- $this->_basename = key(self::$_pharMapping);
- $this->_archiveName = $pharinfo[0];
- $this->_compressed = $pharinfo[1];
- }
- $file = $info['path'];
- return $file;
- }
-
- /**
- * extract the manifest into an internal array
- *
- * @param string $manifest
- * @return false|array
- */
- private static function _unserializeManifest($manifest)
- {
- // retrieve the number of files in the manifest
- $info = unpack('V', substr($manifest, 0, 4));
- $apiver = substr($manifest, 4, 2);
- $apiver = bin2hex($apiver);
- $apiver_dots = hexdec($apiver[0]) . '.' . hexdec($apiver[1]) . '.' . hexdec($apiver[2]);
- $majorcompat = hexdec($apiver[0]);
- $calcapi = explode('.', '0.8.0');
- if ($calcapi[0] != $majorcompat) {
- trigger_error('Phar is incompatible API version ' . $apiver_dots . ', but ' .
- 'PHP_Archive is API version 0.8.0');
- return false;
- }
- if ($calcapi[0] === '0') {
- if ('0.8.0' != $apiver_dots) {
- trigger_error('Phar is API version ' . $apiver_dots .
- ', but PHP_Archive is API version 0.8.0', E_USER_ERROR);
- return false;
- }
- }
- $ret = array('compressed' => $apiver[3]);
- $aliaslen = unpack('V', substr($manifest, 6, 4));
- $ret['alias'] = substr($manifest, 10, $aliaslen[1]);
- $manifest = substr($manifest, 10 + $aliaslen[1]);
- $offset = 0;
- $start = 0;
- for ($i = 0; $i < $info[1]; $i++) {
- // length of the file name
- $len = unpack('V', substr($manifest, $start, 4));
- $start += 4;
- // file name
- $savepath = substr($manifest, $start, $len[1]);
- $start += $len[1];
- // retrieve manifest data:
- // 0 = uncompressed file size
- // 1 = timestamp of when file was added to phar
- // 2 = compressed filesize
- // 3 = crc32
- // 4 = flags
- $ret['manifest'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ce', substr($manifest, $start, 17)));
- $ret['manifest'][$savepath][5] = $offset;
- $offset += $ret['manifest'][$savepath][2];
- $start += 17;
- }
- return $ret;
- }
-
- /**
- * Open the requested file - PHP streams API
- *
- * @param string $file String provided by the Stream wrapper
- * @access private
- */
- public function stream_open($file)
- {
- return $this->_streamOpen($file);
- }
-
- /**
- * @param string filename to opne, or directory name
- * @param bool if true, a directory will be matched, otherwise only files
- * will be matched
- * @uses trigger_error()
- * @return bool success of opening
- * @access private
- */
- private function _streamOpen($file, $searchForDir = false)
- {
- $path = $this->initializeStream($file);
- if (!$path) {
- trigger_error('Error: Unknown phar in "' . $file . '"', E_USER_ERROR);
- }
- if (is_array($this->file = $this->extractFile($path))) {
- trigger_error($this->file[0], E_USER_ERROR);
- return false;
- }
- if ($path != $this->currentFilename) {
- if (!$searchForDir) {
- trigger_error("Cannot open '$file', is a directory", E_USER_ERROR);
- return false;
- } else {
- $this->file = '';
- return true;
- }
- }
-
- if (!is_null($this->file) && $this->file !== false) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Read the data - PHP streams API
- *
- * @param int
- * @access private
- */
- public function stream_read($count)
- {
- $ret = substr($this->file, $this->position, $count);
- $this->position += strlen($ret);
- return $ret;
- }
-
- /**
- * Whether we've hit the end of the file - PHP streams API
- * @access private
- */
- function stream_eof()
- {
- return $this->position >= $this->currentStat[7];
- }
-
- /**
- * For seeking the stream - PHP streams API
- * @param int
- * @param SEEK_SET|SEEK_CUR|SEEK_END
- * @access private
- */
- public function stream_seek($pos, $whence)
- {
- switch ($whence) {
- case SEEK_SET:
- if ($pos < 0) {
- return false;
- }
- $this->position = $pos;
- break;
- case SEEK_CUR:
- if ($pos + $this->currentStat[7] < 0) {
- return false;
- }
- $this->position += $pos;
- break;
- case SEEK_END:
- if ($pos + $this->currentStat[7] < 0) {
- return false;
- }
- $this->position = $pos + $this->currentStat[7];
- default:
- return false;
- }
- return true;
- }
-
- /**
- * The current position in the stream - PHP streams API
- * @access private
- */
- public function stream_tell()
- {
- return $this->position;
- }
-
- /**
- * The result of an fstat call, returns mod time from creation, and file size -
- * PHP streams API
- * @uses _stream_stat()
- * @access private
- */
- public function stream_stat()
- {
- return $this->_stream_stat();
- }
-
- /**
- * Retrieve statistics on a file or directory within the .phar
- * @param string file/directory to stat
- * @access private
- */
- public function _stream_stat($file = null)
- {
- $std = $file ? self::processFile($file) : $this->currentFilename;
- if ($file) {
- if (isset(self::$_manifest[$this->_archiveName][$file])) {
- $this->_setCurrentFile($file);
- $isdir = false;
- } else {
- $isdir = true;
- }
- } else {
- $isdir = false; // open streams must be files
- }
- $mode = $isdir ? 0040444 : 0100444;
- // 040000 = dir, 010000 = file
- // everything is readable, nothing is writeable
- return array(
- 0, 0, $mode, 0, 0, 0, 0, 0, 0, 0, 0, 0, // non-associative indices
- 'dev' => 0, 'ino' => 0,
- 'mode' => $mode,
- 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'blksize' => 0, 'blocks' => 0,
- 'size' => $this->currentStat[7],
- 'atime' => $this->currentStat[9],
- 'mtime' => $this->currentStat[9],
- 'ctime' => $this->currentStat[9],
- );
- }
-
- /**
- * Stat a closed file or directory - PHP streams API
- * @param string
- * @param int
- * @access private
- */
- public function url_stat($url, $flags)
- {
- $path = $this->initializeStream($url);
- return $this->_stream_stat($path);
- }
-
- /**
- * Open a directory in the .phar for reading - PHP streams API
- * @param string directory name
- * @access private
- */
- public function dir_opendir($path)
- {
- $info = parse_url($path);
- $path = !empty($info['path']) ?
- $info['host'] . $info['path'] : $info['host'] . '/';
- $path = $this->initializeStream('phar://' . $path);
- if (isset(self::$_manifest[$this->_archiveName][$path])) {
- trigger_error('Error: "' . $path . '" is a file, and cannot be opened with opendir',
- E_USER_ERROR);
- return false;
- }
- if ($path == false) {
- trigger_error('Error: Unknown phar in "' . $file . '"', E_USER_ERROR);
- return false;
- }
- $this->fp = @fopen($this->_archiveName, "rb");
- if (!$this->fp) {
- trigger_error('Error: cannot open phar "' . $this->_archiveName . '"');
- return false;
- }
- $this->_dirFiles = array();
- foreach (self::$_manifest[$this->_archiveName] as $file => $info) {
- if ($path == '/') {
- if (strpos($file, '/')) {
- $this->_dirFiles[array_shift($a = explode('/', $file))] = true;
- } else {
- $this->_dirFiles[$file] = true;
- }
- } elseif (strpos($file, $path) === 0) {
- $fname = substr($file, strlen($path) + 1);
- if (strpos($fname, '/')) {
- $this->_dirFiles[array_unshift($a = explode('/', $fname))] = true;
- } else {
- $this->_dirFiles[$fname] = true;
- }
- }
- }
- @fclose($this->fp);
- @uksort($this->_dirFiles, 'strnatcmp');
- return true;
- }
-
- /**
- * Read the next directory entry - PHP streams API
- * @access private
- */
- public function dir_readdir()
- {
- $ret = key($this->_dirFiles);
- @next($this->_dirFiles);
- if (!$ret) {
- return false;
- }
- return $ret;
- }
-
- /**
- * Close a directory handle opened with opendir() - PHP streams API
- * @access private
- */
- public function dir_closedir()
- {
- $this->_dirFiles = array();
- reset($this->_dirFiles);
- return true;
- }
-
- /**
- * Rewind to the first directory entry - PHP streams API
- * @access private
- */
- public function dir_rewinddir()
- {
- reset($this->_dirFiles);
- return true;
- }
-
- /**
- * API version of this class
- * @return string
- */
- public final function APIVersion()
- {
- return '0.8.0';
- }
-}}
-if (!class_exists('Phar')) {
- if (!in_array('phar', stream_get_wrappers())) {
- stream_wrapper_register('phar', 'PHP_Archive');
- }
- PHP_Archive::mapPhar(__FILE__, __COMPILER_HALT_OFFSET__);
-} else {
- Phar::mapPhar();
-}
-if (class_exists('PHP_Archive') && !in_array('phar', stream_get_wrappers())) {
- stream_wrapper_register('phar', 'PHP_Archive');
-}
-@ini_set('memory_limit', -1);
-
-require_once 'phar://install-pear-nozlib.phar/index.php';
-__HALT_COMPILER(); 
-
-
-
-
-
-
+<?php #PHP_ARCHIVE_HEADER-0.8.0
+error_reporting(E_ALL);
+if (function_exists('mb_internal_encoding')) {
+ mb_internal_encoding('ASCII');
+}
+if (!class_exists('PHP_Archive')) {/**
+ * PHP_Archive Class (implements .phar)
+ *
+ * @package PHP_Archive
+ * @category PHP
+ */
+/**
+ * Flag for GZ compression
+ */
+define('PHP_ARCHIVE_COMPRESSED', 1);
+/**
+ * PHP_Archive Class (implements .phar)
+ *
+ * PHAR files a singular archive from which an entire application can run.
+ * To use it, simply package it using {@see PHP_Archive_Creator} and use phar://
+ * URIs to your includes. i.e. require_once 'phar://config.php' will include config.php
+ * from the root of the PHAR file.
+ *
+ * Gz code borrowed from the excellent File_Archive package by Vincent Lascaux.
+ *
+ * @copyright Copyright David Shafik and Synaptic Media 2004. All rights reserved.
+ * @author Davey Shafik <davey@synapticmedia.net>
+ * @author Greg Beaver <cellog@php.net>
+ * @link http://www.synapticmedia.net Synaptic Media
+ * @version Id: Archive.php,v 1.33 2006/07/18 23:31:47 cellog Exp $
+ * @package PHP_Archive
+ * @category PHP
+ */
+
+class PHP_Archive
+{
+ /**
+ * Whether this archive is compressed with zlib
+ *
+ * @var bool
+ */
+ private $_compressed;
+ /**
+ * @var string Real path to the .phar archive
+ */
+ private $_archiveName = null;
+ /**
+ * Current file name in the phar
+ * @var string
+ */
+ protected $currentFilename = null;
+ /**
+ * Length of current file in the phar
+ * @var string
+ */
+ protected $internalFileLength = null;
+ /**
+ * Current file statistics (size, creation date, etc.)
+ * @var string
+ */
+ protected $currentStat = null;
+ /**
+ * @var resource|null Pointer to open .phar
+ */
+ protected $fp = null;
+ /**
+ * @var int Current Position of the pointer
+ */
+ protected $position = 0;
+
+ /**
+ * Map actual realpath of phars to meta-data about the phar
+ *
+ * Data is indexed by the alias that is used by internal files. In other
+ * words, if a file is included via:
+ * <code>
+ * require_once 'phar://PEAR.phar/PEAR/Installer.php';
+ * </code>
+ * then the alias is "PEAR.phar"
+ *
+ * Information stored is the actual file name, a boolean indicating whether
+ * this .phar is compressed with zlib, and the precise offset of internal files
+ * within the .phar, used with the {@link $_manifest} to load actual file contents
+ * @var array
+ */
+ private static $_pharMapping = array();
+ /**
+ * File listing for the .phar
+ *
+ * The manifest is indexed per phar.
+ *
+ * Files within the .phar are indexed by their relative path within the
+ * .phar. Each file has this information in its internal array
+ *
+ * - 0 = uncompressed file size
+ * - 1 = timestamp of when file was added to phar
+ * - 2 = offset of file within phar relative to internal file's start
+ * - 3 = compressed file size (actual size in the phar)
+ * @var array
+ */
+ private static $_manifest = array();
+ /**
+ * Absolute offset of internal files within the .phar, indexed by absolute
+ * path to the .phar
+ *
+ * @var array
+ */
+ private static $_fileStart = array();
+ /**
+ * file name of the phar
+ *
+ * @var string
+ */
+ private $_basename;
+
+ /**
+ * Map a full real file path to an alias used to refer to the .phar
+ *
+ * This function can only be called from the initialization of the .phar itself.
+ * Any attempt to call from outside the .phar or to re-alias the .phar will fail
+ * as a security measure.
+ * @param string $file full realpath() filepath, like /path/to/go-pear.phar
+ * @param string $alias alias used in opening a file within the phar
+ * like phar://go-pear.phar/file
+ * @param bool $compressed determines whether to attempt zlib uncompression
+ * on accessing internal files
+ * @param int $dataoffset the value of __COMPILER_HALT_OFFSET__
+ */
+ public static final function mapPhar($file, $dataoffset)
+ {
+ $file = realpath($file);
+ // this ensures that this is safe
+ if (!in_array($file, get_included_files())) {
+ die('SECURITY ERROR: PHP_Archive::mapPhar can only be called from within ' .
+ 'the phar that initiates it');
+ }
+ if (!is_array(self::$_pharMapping)) {
+ self::$_pharMapping = array();
+ }
+ if (!isset(self::$_manifest[$file])) {
+ $fp = fopen($file, 'rb');
+ // seek to __HALT_COMPILER_OFFSET__
+ fseek($fp, $dataoffset);
+ $manifest_length = unpack('Vlen', fread($fp, 4));
+ $manifest = '';
+ $last = '1';
+ while (strlen($last) && strlen($manifest) < $manifest_length['len']) {
+ $read = 8192;
+ if ($manifest_length['len'] - strlen($manifest) < 8192) {
+ $read = $manifest_length['len'] - strlen($manifest);
+ }
+ $last = fread($fp, $read);
+ $manifest .= $last;
+ }
+ if (strlen($manifest) < $manifest_length['len']) {
+ die('ERROR: manifest length read was "' . strlen($manifest) .'" should be "' .
+ $manifest_length['len'] . '"');
+ }
+ $info = self::_unserializeManifest($manifest);
+ if (!$info) {
+ die; // error declared in unserializeManifest
+ }
+ $alias = $info['alias'];
+ self::$_manifest[$file] = $info['manifest'];
+ $compressed = $info['compressed'];
+ self::$_fileStart[$file] = ftell($fp);
+ fclose($fp);
+ }
+ if ($compressed) {
+ if (!function_exists('gzinflate')) {
+ die('Error: zlib extension is not enabled - gzinflate() function needed' .
+ ' for compressed .phars');
+ }
+ }
+ if (isset(self::$_pharMapping[$alias])) {
+ die('ERROR: PHP_Archive::mapPhar has already been called for alias "' .
+ $alias . '" cannot re-alias to "' . $file . '"');
+ }
+ self::$_pharMapping[$alias] = array($file, $compressed, $dataoffset);
+ }
+
+ /**
+ * @param string
+ */
+ private static function processFile($path)
+ {
+ if ($path == '.') {
+ return '';
+ }
+ $std = str_replace("\\", "/", $path);
+ while ($std != ($std = ereg_replace("[^\/:?]+/\.\./", "", $std))) ;
+ $std = str_replace("/./", "", $std);
+ if (strlen($std) > 1 && $std[0] == '/') {
+ $std = substr($std, 1);
+ }
+ if (strncmp($std, "./", 2) == 0) {
+ return substr($std, 2);
+ } else {
+ return $std;
+ }
+ }
+
+ /**
+ * Seek in the master archive to a matching file or directory
+ * @param string
+ */
+ protected function selectFile($path, $allowdirs = true)
+ {
+ $std = self::processFile($path);
+ if (isset(self::$_manifest[$this->_archiveName][$path])) {
+ $this->_setCurrentFile($path);
+ return true;
+ }
+ if (!$allowdirs) {
+ return 'Error: "' . $path . '" is not a file in phar "' . $this->_basename . '"';
+ }
+ foreach (self::$_manifest[$this->_archiveName] as $file => $info) {
+ if (empty($std) ||
+ //$std is a directory
+ strncmp($std.'/', $path, strlen($std)+1) == 0) {
+ $this->currentFilename = $this->internalFileLength = $this->currentStat = null;
+ return true;
+ }
+ }
+ return 'Error: "' . $path . '" not found in phar "' . $this->_basename . '"';
+ }
+
+ private function _setCurrentFile($path)
+ {
+ $this->currentStat = array(
+ 2 => 0100444, // file mode, readable by all, writeable by none
+ 4 => 0, // uid
+ 5 => 0, // gid
+ 7 => self::$_manifest[$this->_archiveName][$path][0], // size
+ 9 => self::$_manifest[$this->_archiveName][$path][1], // creation time
+ );
+ $this->currentFilename = $path;
+ $this->internalFileLength = self::$_manifest[$this->_archiveName][$path][2];
+ // seek to offset of file header within the .phar
+ if (is_resource(@$this->fp)) {
+ fseek($this->fp, self::$_fileStart[$this->_archiveName] + self::$_manifest[$this->_archiveName][$path][5]);
+ }
+ }
+
+ /**
+ * Seek to a file within the master archive, and extract its contents
+ * @param string
+ * @return array|string an array containing an error message string is returned
+ * upon error, otherwise the file contents are returned
+ */
+ public function extractFile($path)
+ {
+ $this->fp = @fopen($this->_archiveName, "rb");
+ if (!$this->fp) {
+ return array('Error: cannot open phar "' . $this->_archiveName . '"');
+ }
+ if (($e = $this->selectFile($path, false)) === true) {
+ $data = '';
+ $count = $this->internalFileLength;
+ while ($count) {
+ if ($count < 8192) {
+ $data .= @fread($this->fp, $count);
+ $count = 0;
+ } else {
+ $count -= 8192;
+ $data .= @fread($this->fp, 8192);
+ }
+ }
+ @fclose($this->fp);
+ if (self::$_manifest[$this->_archiveName][$path][4] & PHP_ARCHIVE_COMPRESSED) {
+ $data = gzinflate($data);
+ }
+ if (!isset(self::$_manifest[$this->_archiveName][$path]['ok'])) {
+ if (strlen($data) != $this->currentStat[7]) {
+ return array("Not valid internal .phar file (size error {$size} != " .
+ $this->currentStat[7] . ")");
+ }
+ if (self::$_manifest[$this->_archiveName][$path][3] != crc32($data)) {
+ return array("Not valid internal .phar file (checksum error)");
+ }
+ self::$_manifest[$this->_archiveName][$path]['ok'] = true;
+ }
+ return $data;
+ } else {
+ @fclose($this->fp);
+ return array($e);
+ }
+ }
+
+ /**
+ * Locate the .phar archive in the include_path and detect the file to open within
+ * the archive.
+ *
+ * Possible parameters are phar://filename_within_phar.ext or
+ * phar://pharname.phar/filename_within_phar.ext
+ *
+ * phar://filename_within_phar.ext will simply use the last .phar opened.
+ * @param string a file within the archive
+ * @return string the filename within the .phar to retrieve
+ */
+ public function initializeStream($file)
+ {
+ $info = parse_url($file);
+ if (!isset($info['host']) || !count(self::$_pharMapping)) {
+ // malformed internal file
+ return false;
+ }
+ if (!isset($info['path'])) {
+ // last opened phar is requested
+ $info['path'] = $info['host'];
+ $info['host'] = '';
+ } elseif (strlen($info['path']) > 1) {
+ $info['path'] = substr($info['path'], 1);
+ }
+ if (isset(self::$_pharMapping[$info['host']])) {
+ $this->_basename = $info['host'];
+ $this->_archiveName = self::$_pharMapping[$info['host']][0];
+ $this->_compressed = self::$_pharMapping[$info['host']][1];
+ } else {
+ // no such phar has been included, or last opened phar is requested
+ $pharinfo = end(self::$_pharMapping);
+ $this->_basename = key(self::$_pharMapping);
+ $this->_archiveName = $pharinfo[0];
+ $this->_compressed = $pharinfo[1];
+ }
+ $file = $info['path'];
+ return $file;
+ }
+
+ /**
+ * extract the manifest into an internal array
+ *
+ * @param string $manifest
+ * @return false|array
+ */
+ private static function _unserializeManifest($manifest)
+ {
+ // retrieve the number of files in the manifest
+ $info = unpack('V', substr($manifest, 0, 4));
+ $apiver = substr($manifest, 4, 2);
+ $apiver = bin2hex($apiver);
+ $apiver_dots = hexdec($apiver[0]) . '.' . hexdec($apiver[1]) . '.' . hexdec($apiver[2]);
+ $majorcompat = hexdec($apiver[0]);
+ $calcapi = explode('.', '0.8.0');
+ if ($calcapi[0] != $majorcompat) {
+ trigger_error('Phar is incompatible API version ' . $apiver_dots . ', but ' .
+ 'PHP_Archive is API version 0.8.0');
+ return false;
+ }
+ if ($calcapi[0] === '0') {
+ if ('0.8.0' != $apiver_dots) {
+ trigger_error('Phar is API version ' . $apiver_dots .
+ ', but PHP_Archive is API version 0.8.0', E_USER_ERROR);
+ return false;
+ }
+ }
+ $ret = array('compressed' => $apiver[3]);
+ $aliaslen = unpack('V', substr($manifest, 6, 4));
+ $ret['alias'] = substr($manifest, 10, $aliaslen[1]);
+ $manifest = substr($manifest, 10 + $aliaslen[1]);
+ $offset = 0;
+ $start = 0;
+ for ($i = 0; $i < $info[1]; $i++) {
+ // length of the file name
+ $len = unpack('V', substr($manifest, $start, 4));
+ $start += 4;
+ // file name
+ $savepath = substr($manifest, $start, $len[1]);
+ $start += $len[1];
+ // retrieve manifest data:
+ // 0 = uncompressed file size
+ // 1 = timestamp of when file was added to phar
+ // 2 = compressed filesize
+ // 3 = crc32
+ // 4 = flags
+ $ret['manifest'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ce', substr($manifest, $start, 17)));
+ $ret['manifest'][$savepath][5] = $offset;
+ $offset += $ret['manifest'][$savepath][2];
+ $start += 17;
+ }
+ return $ret;
+ }
+
+ /**
+ * Open the requested file - PHP streams API
+ *
+ * @param string $file String provided by the Stream wrapper
+ * @access private
+ */
+ public function stream_open($file)
+ {
+ return $this->_streamOpen($file);
+ }
+
+ /**
+ * @param string filename to opne, or directory name
+ * @param bool if true, a directory will be matched, otherwise only files
+ * will be matched
+ * @uses trigger_error()
+ * @return bool success of opening
+ * @access private
+ */
+ private function _streamOpen($file, $searchForDir = false)
+ {
+ $path = $this->initializeStream($file);
+ if (!$path) {
+ trigger_error('Error: Unknown phar in "' . $file . '"', E_USER_ERROR);
+ }
+ if (is_array($this->file = $this->extractFile($path))) {
+ trigger_error($this->file[0], E_USER_ERROR);
+ return false;
+ }
+ if ($path != $this->currentFilename) {
+ if (!$searchForDir) {
+ trigger_error("Cannot open '$file', is a directory", E_USER_ERROR);
+ return false;
+ } else {
+ $this->file = '';
+ return true;
+ }
+ }
+
+ if (!is_null($this->file) && $this->file !== false) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Read the data - PHP streams API
+ *
+ * @param int
+ * @access private
+ */
+ public function stream_read($count)
+ {
+ $ret = substr($this->file, $this->position, $count);
+ $this->position += strlen($ret);
+ return $ret;
+ }
+
+ /**
+ * Whether we've hit the end of the file - PHP streams API
+ * @access private
+ */
+ function stream_eof()
+ {
+ return $this->position >= $this->currentStat[7];
+ }
+
+ /**
+ * For seeking the stream - PHP streams API
+ * @param int
+ * @param SEEK_SET|SEEK_CUR|SEEK_END
+ * @access private
+ */
+ public function stream_seek($pos, $whence)
+ {
+ switch ($whence) {
+ case SEEK_SET:
+ if ($pos < 0) {
+ return false;
+ }
+ $this->position = $pos;
+ break;
+ case SEEK_CUR:
+ if ($pos + $this->currentStat[7] < 0) {
+ return false;
+ }
+ $this->position += $pos;
+ break;
+ case SEEK_END:
+ if ($pos + $this->currentStat[7] < 0) {
+ return false;
+ }
+ $this->position = $pos + $this->currentStat[7];
+ default:
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The current position in the stream - PHP streams API
+ * @access private
+ */
+ public function stream_tell()
+ {
+ return $this->position;
+ }
+
+ /**
+ * The result of an fstat call, returns mod time from creation, and file size -
+ * PHP streams API
+ * @uses _stream_stat()
+ * @access private
+ */
+ public function stream_stat()
+ {
+ return $this->_stream_stat();
+ }
+
+ /**
+ * Retrieve statistics on a file or directory within the .phar
+ * @param string file/directory to stat
+ * @access private
+ */
+ public function _stream_stat($file = null)
+ {
+ $std = $file ? self::processFile($file) : $this->currentFilename;
+ if ($file) {
+ if (isset(self::$_manifest[$this->_archiveName][$file])) {
+ $this->_setCurrentFile($file);
+ $isdir = false;
+ } else {
+ $isdir = true;
+ }
+ } else {
+ $isdir = false; // open streams must be files
+ }
+ $mode = $isdir ? 0040444 : 0100444;
+ // 040000 = dir, 010000 = file
+ // everything is readable, nothing is writeable
+ return array(
+ 0, 0, $mode, 0, 0, 0, 0, 0, 0, 0, 0, 0, // non-associative indices
+ 'dev' => 0, 'ino' => 0,
+ 'mode' => $mode,
+ 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'blksize' => 0, 'blocks' => 0,
+ 'size' => $this->currentStat[7],
+ 'atime' => $this->currentStat[9],
+ 'mtime' => $this->currentStat[9],
+ 'ctime' => $this->currentStat[9],
+ );
+ }
+
+ /**
+ * Stat a closed file or directory - PHP streams API
+ * @param string
+ * @param int
+ * @access private
+ */
+ public function url_stat($url, $flags)
+ {
+ $path = $this->initializeStream($url);
+ return $this->_stream_stat($path);
+ }
+
+ /**
+ * Open a directory in the .phar for reading - PHP streams API
+ * @param string directory name
+ * @access private
+ */
+ public function dir_opendir($path)
+ {
+ $info = parse_url($path);
+ $path = !empty($info['path']) ?
+ $info['host'] . $info['path'] : $info['host'] . '/';
+ $path = $this->initializeStream('phar://' . $path);
+ if (isset(self::$_manifest[$this->_archiveName][$path])) {
+ trigger_error('Error: "' . $path . '" is a file, and cannot be opened with opendir',
+ E_USER_ERROR);
+ return false;
+ }
+ if ($path == false) {
+ trigger_error('Error: Unknown phar in "' . $file . '"', E_USER_ERROR);
+ return false;
+ }
+ $this->fp = @fopen($this->_archiveName, "rb");
+ if (!$this->fp) {
+ trigger_error('Error: cannot open phar "' . $this->_archiveName . '"');
+ return false;
+ }
+ $this->_dirFiles = array();
+ foreach (self::$_manifest[$this->_archiveName] as $file => $info) {
+ if ($path == '/') {
+ if (strpos($file, '/')) {
+ $a = explode('/', $file);
+ $this->_dirFiles[array_shift($a)] = true;
+ } else {
+ $this->_dirFiles[$file] = true;
+ }
+ } elseif (strpos($file, $path) === 0) {
+ $fname = substr($file, strlen($path) + 1);
+ if (strpos($fname, '/')) {
+ $a = explode('/', $fname);
+ $this->_dirFiles[array_shift($a)] = true;
+ } elseif (strlen($file) != strlen($path)) {
+ // if the two match exactly, the path searched for was
+ // not a directory, but was a file.
+ $this->_dirFiles[$fname] = true;
+ }
+ }
+ }
+ @fclose($this->fp);
+ @uksort($this->_dirFiles, 'strnatcmp');
+ return true;
+ }
+
+ /**
+ * Read the next directory entry - PHP streams API
+ * @access private
+ */
+ public function dir_readdir()
+ {
+ $ret = key($this->_dirFiles);
+ @next($this->_dirFiles);
+ if (!$ret) {
+ return false;
+ }
+ return $ret;
+ }
+
+ /**
+ * Close a directory handle opened with opendir() - PHP streams API
+ * @access private
+ */
+ public function dir_closedir()
+ {
+ $this->_dirFiles = array();
+ reset($this->_dirFiles);
+ return true;
+ }
+
+ /**
+ * Rewind to the first directory entry - PHP streams API
+ * @access private
+ */
+ public function dir_rewinddir()
+ {
+ reset($this->_dirFiles);
+ return true;
+ }
+
+ /**
+ * API version of this class
+ * @return string
+ */
+ public final function APIVersion()
+ {
+ return '0.8.0';
+ }
+}}
+if (!class_exists('Phar')) {
+ if (!in_array('phar', stream_get_wrappers())) {
+ stream_wrapper_register('phar', 'PHP_Archive');
+ }
+ PHP_Archive::mapPhar(__FILE__, __COMPILER_HALT_OFFSET__);
+} else {
+ Phar::mapPhar();
+}
+if (class_exists('PHP_Archive') && !in_array('phar', stream_get_wrappers())) {
+ stream_wrapper_register('phar', 'PHP_Archive');
+}
+@ini_set('memory_limit', -1);
+
+require_once 'phar://install-pear-nozlib.phar/index.php';
+__HALT_COMPILER();¡
+
+
+
+
+
+
/* vim: set ts=4 sw=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
@@ -661,7 +679,7 @@ __HALT_COMPILER(); 
// | Author: Vincent Blavet <vincent@phpconcept.net> |
// +----------------------------------------------------------------------+
//
-// $Id: Tar.php,v 1.29 2005/03/17 21:02:31 vblavet Exp $
+// $Id: Tar.php,v 1.22.2.1 2006/05/25 22:00:05 cellog Exp $
require_once 'phar://install-pear-nozlib.phar/PEAR.php';
@@ -672,7 +690,7 @@ define ('ARCHIVE_TAR_ATT_SEPARATOR', 90001);
* Creates a (compressed) Tar archive
*
* @author Vincent Blavet <vincent@phpconcept.net>
-* @version $Revision: 1.29 $
+* @version $Revision: 1.22.2.1 $
* @package Archive
*/
class Archive_Tar extends PEAR
@@ -5323,7 +5341,7 @@ class Console_Getopt {
?>
-/* $Id: install-pear.php,v 1.26 2006/01/02 15:29:03 cellog Exp $ */
+/* $Id: install-pear.php,v 1.27 2006/08/13 21:11:48 cellog Exp $ */
error_reporting(E_ALL);
$pear_dir = dirname(__FILE__);
@@ -5354,7 +5372,7 @@ if (!$a) {
$force = false;
$install_files = array('Archive_Tar' => 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.1.tar',
'Console_Getopt' => 'phar://install-pear-nozlib.phar/Console_Getopt-1.2.tar',
-'PEAR' => 'phar://install-pear-nozlib.phar/PEAR-1.4.9.tar',
+'PEAR' => 'phar://install-pear-nozlib.phar/PEAR-1.4.11.tar',
);
array_shift($argv);
$debug = false;
@@ -5451,11 +5469,16 @@ $pkg = new PEAR_PackageFile($config, $debug);
foreach ($install_files as $package => $instfile) {
$info = $pkg->fromAnyFile($instfile, PEAR_VALIDATE_INSTALLING);
- $new_ver = $info->getVersion();
if (PEAR::isError($info)) {
+ if (is_array($info->getUserInfo())) {
+ foreach ($info->getUserInfo() as $err) {
+ $ui->outputData(sprintf("[PEAR] %s: %s", $package, $err['message']));
+ }
+ }
$ui->outputData(sprintf("[PEAR] %s: %s", $package, $info->getMessage()));
continue;
}
+ $new_ver = $info->getVersion();
$downloaderpackage = new PEAR_Downloader_Package($installer);
$err = $downloaderpackage->initialize($instfile);
if (PEAR::isError($err)) {
@@ -5543,7 +5566,7 @@ foreach ($install_files as $package => $instfile) {
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Guess.php,v 1.20 2005/10/26 19:33:03 cellog Exp $
+ * @version CVS: $Id: Guess.php,v 1.20.2.1 2006/06/16 11:41:16 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since PEAR 0.1
*/
@@ -5620,7 +5643,7 @@ foreach ($install_files as $package => $instfile) {
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -5729,10 +5752,12 @@ class OS_Guess
return $glibc; // no need to run this multiple times
}
include_once "phar://install-pear-nozlib.phar/System.php";
- if (!file_exists('/usr/bin/cpp') || !is_executable('/usr/bin/cpp')) {
+ if (!@file_exists('/usr/bin/cpp') || !@is_executable('/usr/bin/cpp')) {
// Use glibc's <features.h> header file to
// get major and minor version number:
- if ($features_file = @fopen('/usr/include/features.h', 'rb') ) {
+ if (@file_exists('/usr/include/features.h') &&
+ @is_readable('/usr/include/features.h')) {
+ $features_file = fopen('/usr/include/features.h', 'rb');
while (!feof($features_file)) {
$line = fgets($features_file, 8192);
if (!$line || (strpos($line, '#define') === false)) {
@@ -5868,8 +5893,8 @@ class OS_Guess
* End:
*/
?>
-package.xml
-<package packagerversion="1.4.9" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
+package2.xml
+<package packagerversion="1.4.11" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>PEAR</name>
<channel>pear.php.net</channel>
<summary>PEAR Base System</summary>
@@ -5908,22 +5933,22 @@ package.xml
<active>yes</active>
</lead>
<lead>
+ <name>Pierre-Alain Joye</name>
+ <user>pajoye</user>
+ <email>pajoye@pearfr.org</email>
+ <active>yes</active>
+ </lead>
+ <lead>
<name>Stig Bakken</name>
<user>ssb</user>
<email>stig@php.net</email>
- <active>yes</active>
+ <active>no</active>
</lead>
<lead>
<name>Tomas V.V.Cox</name>
<user>cox</user>
<email>cox@idecnet.com</email>
- <active>yes</active>
- </lead>
- <lead>
- <name>Pierre-Alain Joye</name>
- <user>pajoye</user>
- <email>pajoye@pearfr.org</email>
- <active>yes</active>
+ <active>no</active>
</lead>
<helper>
<name>Tim Jackson</name>
@@ -5935,7 +5960,7 @@ package.xml
<name>Bertrand Gugger</name>
<user>toggg</user>
<email>toggg@php.net</email>
- <active>yes</active>
+ <active>no</active>
</helper>
<helper>
<name>Martin Jansen</name>
@@ -5943,10 +5968,10 @@ package.xml
<email>mj@php.net</email>
<active>no</active>
</helper>
- <date>2006-03-22</date>
- <time>23:52:54</time>
+ <date>2006-08-16</date>
+ <time>12:15:15</time>
<version>
- <release>1.4.9</release>
+ <release>1.4.11</release>
<api>1.4.2</api>
</version>
<stability>
@@ -5954,112 +5979,109 @@ package.xml
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
- <notes>CRITICAL BUGFIX RELEASE
-users upgrading from PEAR 1.3.x cannot upgrade to 1.4.8
-users who use --packagingroot may find that installation fails
-* fix Bug #7093: if pear channel does not exist, it cannot be retrieved
-* fix Bug #7165: warnings in pear
-* fix Bug #7075: PEAR_PackageFile_v2 :: setLogger failed on autodetection</notes>
+ <notes>minor bugfix release
+* fix the conflicts detection for the web frontend (before 0.5.0)
+* fix warnings in the list-all command</notes>
<contents>
<dir name="/">
- <file md5sum="64153f3054d39f0f1d0102fa3f5b35a3" name="OS/Guess.php" role="php">
+ <file md5sum="b309a1eb31b2826cd1cec229fb352eb0" name="OS/Guess.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="8c7e266a63d74cf96f9acb88d8f3383b" name="PEAR/ChannelFile/Parser.php" role="php">
+ <file md5sum="28016a108b34962267f86ccc1d70d852" name="PEAR/ChannelFile/Parser.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="4a11a3c4bc2c2f338c183b332def156b" name="PEAR/Command/Auth.xml" role="php" />
- <file md5sum="369704305c09c243ec79e44fedee642a" name="PEAR/Command/Auth.php" role="php">
+ <file md5sum="20a596c843275e8607c0e1fdc7953e64" name="PEAR/Command/Auth.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="73602fd7f051eaf8d37452d0e3063bdb" name="PEAR/Command/Build.xml" role="php" />
- <file md5sum="fc8dfcbf203a0ffcfdb99b810bc9f830" name="PEAR/Command/Build.php" role="php">
+ <file md5sum="bf340957761207ff4408b560cba982e1" name="PEAR/Command/Build.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="14ed4bd2028f26ac984a0db8c91fd5fd" name="PEAR/Command/Channels.xml" role="php" />
- <file md5sum="7f4c5dad5c5e65f8a540cb35914c7b2e" name="PEAR/Command/Channels.php" role="php">
+ <file md5sum="d5586c3708924122c9383738315f6539" name="PEAR/Command/Channels.xml" role="php" />
+ <file md5sum="f68e6ae36ed4dd9e3b4cd2a8d67e1227" name="PEAR/Command/Channels.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="75159b905c8db019cec524cdcea28c33" name="PEAR/Command/Common.php" role="php">
+ <file md5sum="0033cb00b42b118df88c0daaacbfe1d3" name="PEAR/Command/Common.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="91f189cb9423b5e87ee0abc5ea1a2be3" name="PEAR/Command/Config.xml" role="php" />
- <file md5sum="429bfebc20e70ddf7a7ab5a8ee7b2de8" name="PEAR/Command/Config.php" role="php">
+ <file md5sum="12df978b3560fc1e846ecbd5e367240c" name="PEAR/Command/Config.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="516da3eb7ebbecfbfb4188408a1983b2" name="PEAR/Command/Install.xml" role="php" />
- <file md5sum="bbd5b352db1cb8e348ae3d8606adb33a" name="PEAR/Command/Install.php" role="php">
+ <file md5sum="aa6ea8b7087130a518fcbb401f3369c6" name="PEAR/Command/Install.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="5cb62a04c0a268f4edd64a49a3895c92" name="PEAR/Command/Mirror.xml" role="php" />
- <file md5sum="acbfc57a7ed9d3167f7491e3e8853cb4" name="PEAR/Command/Mirror.php" role="php">
+ <file md5sum="d35b596f8c060eb666797cd2f0f61643" name="PEAR/Command/Mirror.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="23250b3cd9fae3475b1af03350cc05dc" name="PEAR/Command/Package.xml" role="php" />
- <file md5sum="69d812c4c7dddf1cbfcd527c783a0db2" name="PEAR/Command/Package.php" role="php">
+ <file md5sum="bbf88f26cd10b1caa76d5eec474f093f" name="PEAR/Command/Package.xml" role="php" />
+ <file md5sum="ed3d49a880913827d7c3a1beacb5531c" name="PEAR/Command/Package.php" role="php">
<tasks:replace from="@DATA-DIR@" to="data_dir" type="pear-config" />
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="35817866283227237796b32d32dac44d" name="PEAR/Command/Pickle.xml" role="php" />
- <file md5sum="4fd62cc0bbc33d3e5f5d0b07fbdfa950" name="PEAR/Command/Pickle.php" role="php">
+ <file md5sum="dea2b4d9388a9511e59548c61f60251a" name="PEAR/Command/Pickle.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="e7fc652e4b5266bbac1c23140de01598" name="PEAR/Command/Registry.xml" role="php" />
- <file md5sum="37125dee4259ccaac350730ee90bd943" name="PEAR/Command/Registry.php" role="php">
+ <file md5sum="2f8013f7a0c1e2f2ba7ca3113135015d" name="PEAR/Command/Registry.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="d57b54857aba5b6ff2fe528cbf522b00" name="PEAR/Command/Remote.xml" role="php" />
- <file md5sum="7a0814e3158cd4212145a69417b658dd" name="PEAR/Command/Remote.php" role="php">
+ <file md5sum="ad00e67d39dc0d15c5ed9cbd26992ec9" name="PEAR/Command/Remote.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="f5072ed4032dc28fac20f526f03520f8" name="PEAR/Command/Test.xml" role="php" />
- <file md5sum="2736a481b20b6e656cbfa1fc8e8a1744" name="PEAR/Command/Test.php" role="php">
+ <file md5sum="a537a76b067ccdac893469fb95c1c9cc" name="PEAR/Command/Test.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="841f797b04fb0ae96fc12f9a308ed2b6" name="PEAR/Downloader/Package.php" role="php">
+ <file md5sum="9643b5ff1188628499cbbd6050e9cbab" name="PEAR/Downloader/Package.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
- <file md5sum="af599522077f71d4be9a1163c659d5cf" name="PEAR/Frontend/CLI.php" role="php">
+ <file md5sum="e0417ade6ffb4235c8f6fee2b9779a25" name="PEAR/Frontend/CLI.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="cd5807103ede23734e60356cd8bdd0f5" name="PEAR/Installer/Role/Common.php" role="php">
+ <file md5sum="80ac44ab528facdffacc2f2183d351cf" name="PEAR/Installer/Role/Common.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="a102cceaf8e9348965a856e2b5ae4e35" name="PEAR/Installer/Role/Data.xml" role="php" />
- <file md5sum="d83cab75511a3cf4c428f9d83f88f537" name="PEAR/Installer/Role/Data.php" role="php">
+ <file md5sum="594fe03ab037716e90f01036b238dac9" name="PEAR/Installer/Role/Data.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="5755c03e061dd14ab04a8662a860af13" name="PEAR/Installer/Role/Doc.xml" role="php" />
- <file md5sum="ab0fd8ccf2ea680e196f7dd82358b00b" name="PEAR/Installer/Role/Doc.php" role="php">
+ <file md5sum="691537b382e6c38b1da2797ce38a0950" name="PEAR/Installer/Role/Doc.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="2752669b1ccf927c4c71db68ac046095" name="PEAR/Installer/Role/Ext.xml" role="php" />
- <file md5sum="a56ffbb2031fb7effa9ecdbe43d79dc0" name="PEAR/Installer/Role/Ext.php" role="php">
+ <file md5sum="0e3823a9702ca20530761c0f9b7cd678" name="PEAR/Installer/Role/Ext.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="8997db19129f121be2d5fffb92f4075a" name="PEAR/Installer/Role/Php.xml" role="php" />
- <file md5sum="e52b84b0a716084dd41e9d8ba3a97cc2" name="PEAR/Installer/Role/Php.php" role="php">
+ <file md5sum="99a73d79d2647c5b573c7e929d476fb7" name="PEAR/Installer/Role/Php.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="a146c5985d669938c633bfef60692db4" name="PEAR/Installer/Role/Script.xml" role="php" />
- <file md5sum="2a5220d3d9e77a4bbeeaa593ed287581" name="PEAR/Installer/Role/Script.php" role="php">
+ <file md5sum="f9d6d3999088c48ce4638d938e7ab158" name="PEAR/Installer/Role/Script.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="ad0f719669cb90e76048394896c51136" name="PEAR/Installer/Role/Src.xml" role="php" />
- <file md5sum="e8c64f25150d20614524d82589d29111" name="PEAR/Installer/Role/Src.php" role="php">
+ <file md5sum="70626b32b828aae617853372287098f2" name="PEAR/Installer/Role/Src.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="dc2f729ae9356540c91131b3b94caddf" name="PEAR/Installer/Role/Test.xml" role="php" />
- <file md5sum="7ae6b8336e4732ffa594b804acc5f0de" name="PEAR/Installer/Role/Test.php" role="php">
+ <file md5sum="7e5652e079b75f15b8ea1541fde125e6" name="PEAR/Installer/Role/Test.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="6c51d65895cf5b71a8385b247dbd0189" name="PEAR/Installer/Role.php" role="php">
+ <file md5sum="4640fe2a15a082b57361bf7522d3b0fa" name="PEAR/Installer/Role.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="db40e2b0c033f3565af6c135e28a512b" name="PEAR/PackageFile/Generator/v1.php" role="php">
+ <file md5sum="786d5cb198bc0ff160c202519c20201e" name="PEAR/PackageFile/Generator/v1.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
- <file md5sum="b79890e413dfa78cf37cd626fe0774b1" name="PEAR/PackageFile/Generator/v2.php" role="php">
+ <file md5sum="1c4afb91b1dd8f310f42b5f5531a0dea" name="PEAR/PackageFile/Generator/v2.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
<file md5sum="ea3c85eac9d81f6ac0d445219b882c8b" name="PEAR/PackageFile/Parser/v1.php" role="php">
@@ -6068,116 +6090,116 @@ users who use --packagingroot may find that installation fails
<file md5sum="a173a2ff92d2a93d7153b101da34cf18" name="PEAR/PackageFile/Parser/v2.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="13129c54d393a8e3018571106572b521" name="PEAR/PackageFile/v2/rw.php" role="php">
+ <file md5sum="2656bd7b445c1885072ad2a25e8dfd0e" name="PEAR/PackageFile/v2/rw.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="9953c60c0861398ccfe958dfc8b4f7cd" name="PEAR/PackageFile/v2/Validator.php" role="php">
+ <file md5sum="5b702d0d25f40e889b9bd205b655fb16" name="PEAR/PackageFile/v2/Validator.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="33f622302e817fa6ed2ce4285df45012" name="PEAR/PackageFile/v1.php" role="php">
+ <file md5sum="30d4ddc15dfc592389411d99a2dd3b37" name="PEAR/PackageFile/v1.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="6cc1e92726f8e6bca9760fc406404bcc" name="PEAR/PackageFile/v2.php" role="php">
+ <file md5sum="2a36cf4ff04777f950c9afd2aad468a1" name="PEAR/PackageFile/v2.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="d8f321b01d6bfe1e039aeee0e8c4eb55" name="PEAR/REST/10.php" role="php">
+ <file md5sum="8b309d72a3c773429dea666696d9888e" name="PEAR/REST/10.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="ee95643e89c0a755daaba7c450b9053c" name="PEAR/REST/11.php" role="php">
+ <file md5sum="08fee3e5c8443e5ebafc17bb13959b62" name="PEAR/REST/11.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="e4ec4c2e865fe0d863ec537117a83529" name="PEAR/Task/Postinstallscript/rw.php" role="php">
+ <file md5sum="311c875b56dcda3f8848c22d1fc3d0f8" name="PEAR/Task/Postinstallscript/rw.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="4de8267715f6a5d137af80e2f813d62b" name="PEAR/Task/Replace/rw.php" role="php">
+ <file md5sum="09eb8d30ef25a47f1975a2447264f645" name="PEAR/Task/Replace/rw.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="78f2b48aaf9aa4fafe7a4810b8c97d74" name="PEAR/Task/Unixeol/rw.php" role="php">
+ <file md5sum="b9afa2dcef500ac15885e01647f454b5" name="PEAR/Task/Unixeol/rw.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="a11f251093545db4cd8c5f0684a7b3a3" name="PEAR/Task/Windowseol/rw.php" role="php">
+ <file md5sum="631e7a866fc9921e0b9f2d45b68a1687" name="PEAR/Task/Windowseol/rw.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="a56c5f9161b46b299cef23f16491dc8b" name="PEAR/Task/Common.php" role="php">
+ <file md5sum="1f0757906fc64708103e19bac2b3a4d5" name="PEAR/Task/Common.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="0a1629801eeecedaf1c6d07ac8cdcdf3" name="PEAR/Task/Postinstallscript.php" role="php">
+ <file md5sum="5815d0ea19cd0a4f00cb1e8e2e9eb163" name="PEAR/Task/Postinstallscript.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="bf45b4b62b86b854a07552d9ebf32091" name="PEAR/Task/Replace.php" role="php">
+ <file md5sum="0cba8e6997e694aa4452a0041aaa4228" name="PEAR/Task/Replace.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="6641fe2f91c4f102b0af4182f6180ce5" name="PEAR/Task/Unixeol.php" role="php">
+ <file md5sum="d33a1fb9258fbbc780b2d07d81d3af46" name="PEAR/Task/Unixeol.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="943192d2194c5c1187d336fe0245019b" name="PEAR/Task/Windowseol.php" role="php">
+ <file md5sum="4f8233e21872e0fcd63efa556d63a3fc" name="PEAR/Task/Windowseol.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="eb608fe901b0d752aea41ee221351c47" name="PEAR/Validator/PECL.php" role="php">
+ <file md5sum="16fba26b50c17e2752c9ad82f96f102c" name="PEAR/Validator/PECL.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="61be98ca654ca4e19bba431fa4dc1bc1" name="PEAR/Autoloader.php" role="php">
+ <file md5sum="5ce65e09af7eb738c639141838c6f26a" name="PEAR/Autoloader.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="29369a600bc560a4bac1c2a441b76eca" name="PEAR/Builder.php" role="php">
+ <file md5sum="ece2de8def8f8dd7f665b00e6694cc07" name="PEAR/Builder.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
- <file md5sum="b50c43adb5045b4016730dd4d4839a02" name="PEAR/ChannelFile.php" role="php">
+ <file md5sum="d6f16bff9405077e918a8f7be9e31fcf" name="PEAR/ChannelFile.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="4e79a801b34389864e77232ce37ba548" name="PEAR/Command.php" role="php">
+ <file md5sum="7a6a51d4986f04e15e53fbe96fae6a9b" name="PEAR/Command.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="63325bcbd4b3c11478a75d120f123c33" name="PEAR/Common.php" role="php">
+ <file md5sum="d24d08cc90e7d3fd03277806ac016b34" name="PEAR/Common.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="fc42ca3c5e2c1d647ce59f23e9ff90b1" name="PEAR/Config.php" role="php">
+ <file md5sum="50af115a5d8fa85ee5f3068d172292d1" name="PEAR/Config.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="f42d5ae2639dd67b90b890ac2b0e6e56" name="PEAR/Dependency.php" role="php" />
- <file md5sum="32a0bc84ac0cd679a2cd4a85de1c0239" name="PEAR/DependencyDB.php" role="php">
+ <file md5sum="23082dcb6a8a754c9a2fd093a81cfde5" name="PEAR/DependencyDB.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="9038786e6a01295351662fb6c19b518b" name="PEAR/Dependency2.php" role="php">
+ <file md5sum="82befcf59d8a42ab9283134649179ebc" name="PEAR/Dependency2.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
- <file md5sum="7c9489f7f7b7b6c77902bcb913a14794" name="PEAR/Downloader.php" role="php">
+ <file md5sum="15764f5cf89d436c9c5fa06d4652a912" name="PEAR/Downloader.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="40e4900bf7437e8a3f4659d8816cb967" name="PEAR/ErrorStack.php" role="php">
+ <file md5sum="594630ac0ef25c775ef31d1c9bb3c8e6" name="PEAR/ErrorStack.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="cdc1bdbb9b624a971844f2cdd03215d0" name="PEAR/Exception.php" role="php">
+ <file md5sum="985799a0d417427029cff74f1c7e94d6" name="PEAR/Exception.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="42f26287b2e3a78e3def7d2079117a87" name="PEAR/Frontend.php" role="php">
+ <file md5sum="e6692dee75572336cb7b4ebea6699312" name="PEAR/Frontend.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="49fc3714f093cbd5fcd1130dbf5349e5" name="PEAR/Installer.php" role="php">
+ <file md5sum="16871c2327ab0a6372a64ec4a91308cd" name="PEAR/Installer.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="cddbfc6594e973b223a027bfff9d7529" name="PEAR/PackageFile.php" role="php">
+ <file md5sum="7fce4e17c75790a7800dd61a6e2a1314" name="PEAR/PackageFile.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info" />
</file>
- <file md5sum="a3c6c802ce887f63c1494d010a5020f8" name="PEAR/Packager.php" role="php">
+ <file md5sum="89fbe13ab1e56bb98e2f026669a8a749" name="PEAR/Packager.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="8ee992a2e56afed8bed5d0832434ea21" name="PEAR/Registry.php" role="php">
+ <file md5sum="c008052d80ba8bf49a80b6f4a224ff78" name="PEAR/Registry.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="73269d1eb0735ae699cf1825ec3445fc" name="PEAR/Remote.php" role="php">
+ <file md5sum="b9df405a9c72526de21053d305251eec" name="PEAR/Remote.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="268906e90d4661aaff2445106303ad31" name="PEAR/REST.php" role="php">
+ <file md5sum="882d0d90865afc47d746e54748ded42a" name="PEAR/REST.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="fa5a6b0916fb819dae2400f7b8685859" name="PEAR/RunTest.php" role="php">
+ <file md5sum="dd390ae06a1284fd54e5ac5e7efe87e2" name="PEAR/RunTest.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="0703200ee14f5ae595f419963f1acb49" name="PEAR/Validate.php" role="php">
+ <file md5sum="f15a4b531bd9750a17639a4201f9abbc" name="PEAR/Validate.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="740304a1ee87a803cc2eea78c7da726d" name="PEAR/XMLParser.php" role="php">
+ <file md5sum="4708bbff52de958814b6ac2e22070e56" name="PEAR/XMLParser.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file baseinstalldir="/" md5sum="000e0141cccb734d87df52d4c5cb110b" name="scripts/pear.bat" role="script">
@@ -6232,10 +6254,10 @@ users who use --packagingroot may find that installation fails
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
</file>
<file md5sum="ca444da9174e05f8a0dc71d8ee47900f" name="package.dtd" role="data" />
- <file md5sum="06b49e789f39426ba4498a578e6a370c" name="PEAR.php" role="php">
+ <file md5sum="5b404cc7109d0772fb757707e4c8fa56" name="PEAR.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
- <file md5sum="947f419a1bba9a6a8bd3d5a0f967c6b8" name="System.php" role="php">
+ <file md5sum="280dd4d725a486ffff1605aa16c77a6e" name="System.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file md5sum="acd010e3bc43c0f72df584acde7b9158" name="template.spec" role="data" />
@@ -6266,7 +6288,6 @@ users who use --packagingroot may find that installation fails
<name>PEAR_Frontend_Web</name>
<channel>pear.php.net</channel>
<max>0.5.0</max>
- <exclude>0.5.0</exclude>
<conflicts />
</package>
<package>
@@ -6294,7 +6315,7 @@ users who use --packagingroot may find that installation fails
<package>
<name>PEAR_Frontend_Web</name>
<channel>pear.php.net</channel>
- <min>0.5.0</min>
+ <min>0.5.1</min>
</package>
</group>
<group hint="PEAR&apos;s PHP-GTK-based installer" name="gtkinstaller">
@@ -6308,6 +6329,7 @@ users who use --packagingroot may find that installation fails
<package>
<name>PEAR_Frontend_Gtk2</name>
<channel>pear.php.net</channel>
+ <min>0.1.2</min>
</package>
</group>
</dependencies>
@@ -6342,6 +6364,32 @@ users who use --packagingroot may find that installation fails
</phprelease>
<changelog>
<release>
+ <date>2006-07-18</date>
+ <version>
+ <release>1.4.10</release>
+ <api>1.4.2</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <license uri="http://www.php.net/license">PHP License</license>
+ <notes>bugfix release
+* fix Bug #7579: cannot convert package 1.0 to 2.0 with PFM 1.6.0
+* fix Bug #7640: Check invalid date format
+* fix Bug #7726: &lt;uri&gt; dependency is broken
+* fix Bug #7830: Warning in package-dependencies command when a dir is used
+* fix Bug #7842: package-dependencies wrong type display with package 1.0
+* fix Bug #8230: pear help channel-discover shows wrong text
+* fix many open_basedir issues
+* fix an issue in the better state detection
+* fix typo in pickle command that would allow pickling of non-PECL package.xml
+* implement Request #7090: PEAR_Downloader mustn&apos;t contact pear server
+ when installing local package file
+* implement Request #7844: download_dir and temp_dir configuration option
+* check pearinstaller dependency prior to validating package.xml 2.0</notes>
+ </release>
+ <release>
<version>
<release>1.4.0</release>
<api>1.4.0</api>
@@ -6605,9 +6653,27 @@ caused crashes in many places due to improper error handling
* fix Bug #7015: install a package.tgz with unknown channel, fatal error in PEAR/Registry.php
* fix Bug #7020: tests/PEAR_Registry/api1_1/test_getChannelValidator.phpt crashes PEAR</notes>
</release>
+ <release>
+ <version>
+ <release>1.4.9</release>
+ <api>1.4.2</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2006-03-29</date>
+ <license uri="http://www.php.net/license/3_0.txt">PHP License</license>
+ <notes>CRITICAL BUGFIX RELEASE
+users upgrading from PEAR 1.3.x cannot upgrade to 1.4.8
+users who use --packagingroot may find that installation fails
+* fix Bug #7093: if pear channel does not exist, it cannot be retrieved
+* fix Bug #7165: warnings in pear
+* fix Bug #7075: PEAR_PackageFile_v2 :: setLogger failed on autodetection</notes>
+ </release>
</changelog>
</package>
-
+
/**
* The OS_Guess class
*
@@ -6625,7 +6691,7 @@ caused crashes in many places due to improper error handling
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Guess.php,v 1.20 2005/10/26 19:33:03 cellog Exp $
+ * @version CVS: $Id: Guess.php,v 1.20.2.1 2006/06/16 11:41:16 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since PEAR 0.1
*/
@@ -6702,7 +6768,7 @@ caused crashes in many places due to improper error handling
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -6811,10 +6877,12 @@ class OS_Guess
return $glibc; // no need to run this multiple times
}
include_once "System.php";
- if (!file_exists('/usr/bin/cpp') || !is_executable('/usr/bin/cpp')) {
+ if (!@file_exists('/usr/bin/cpp') || !@is_executable('/usr/bin/cpp')) {
// Use glibc's <features.h> header file to
// get major and minor version number:
- if ($features_file = @fopen('/usr/include/features.h', 'rb') ) {
+ if (@file_exists('/usr/include/features.h') &&
+ @is_readable('/usr/include/features.h')) {
+ $features_file = fopen('/usr/include/features.h', 'rb');
while (!feof($features_file)) {
$line = fgets($features_file, 8192);
if (!$line || (strpos($line, '#define') === false)) {
@@ -6950,7 +7018,7 @@ class OS_Guess
* End:
*/
?>
-
+
/**
* PEAR_ChannelFile_Parser for parsing channel.xml
*
@@ -6984,7 +7052,7 @@ require_once 'PEAR/ChannelFile.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -7022,7 +7090,7 @@ class PEAR_ChannelFile_Parser extends PEAR_XMLParser
return $ret;
}
}
-?>
+?>
<login>
<summary>Connects and authenticates to remote server</summary>
<shortcut>li</shortcut>
@@ -7046,7 +7114,7 @@ Logs out from the remote server. This command does not actually
connect to the remote server, it only deletes the stored username and
password from your user configuration.</doc>
</logout>
-</commands>
+</commands>
/**
* PEAR_Command_Auth (login, logout commands)
*
@@ -7084,7 +7152,7 @@ require_once 'PEAR/Config.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -7231,7 +7299,7 @@ password from your user configuration.',
// }}}
}
-?>
+?>
<build>
<summary>Build an Extension From C Source</summary>
<function>doBuild</function>
@@ -7240,7 +7308,7 @@ password from your user configuration.',
<doc>[package.xml]
Builds one or more extensions contained in a package.</doc>
</build>
-</commands>
+</commands>
/**
* PEAR_Command_Auth (build command)
*
@@ -7279,7 +7347,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -7344,7 +7412,7 @@ Builds one or more extensions contained in a package.'
// }}}
}
-
+
<list-channels>
<summary>List Available Channels</summary>
<function>doList</function>
@@ -7432,11 +7500,12 @@ alias.
<function>doDiscover</function>
<shortcut>di</shortcut>
<options />
- <doc>&lt;package&gt;
-List the files in an installed package.
+ <doc>[&lt;channel.xml&gt;|&lt;channel name&gt;]
+Initialize a Channel from its server and create the local channel.xml.
</doc>
</channel-discover>
-</commands>
+</commands>
+
// /* vim: set expandtab tabstop=4 shiftwidth=4: */
/**
* PEAR_Command_Channels (list-channels, update-channels, channel-delete, channel-add,
@@ -7456,7 +7525,7 @@ List the files in an installed package.
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Channels.php,v 1.44 2006/03/02 18:14:13 cellog Exp $
+ * @version CVS: $Id: Channels.php,v 1.44.2.1 2006/07/17 18:24:10 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -7474,7 +7543,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -7570,8 +7639,8 @@ alias.
'function' => 'doDiscover',
'shortcut' => 'di',
'options' => array(),
- 'doc' => '<package>
-List the files in an installed package.
+ 'doc' => '[<channel.xml>|<channel name>]
+Initialize a Channel from its server and creates the local channel.xml.
'
),
);
@@ -8216,7 +8285,7 @@ List the files in an installed package.
}
}
?>
-
+
/**
* PEAR_Command_Common base class
*
@@ -8234,7 +8303,7 @@ List the files in an installed package.
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Common.php,v 1.32 2006/03/02 16:39:14 pajoye Exp $
+ * @version CVS: $Id: Common.php,v 1.32.2.1 2006/06/08 22:27:11 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -8253,7 +8322,7 @@ require_once 'PEAR.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -8292,7 +8361,7 @@ class PEAR_Command_Common extends PEAR
var $_deps_type_trans = array(
'pkg' => 'package',
- 'extension' => 'extension',
+ 'ext' => 'extension',
'php' => 'PHP',
'prog' => 'external program',
'ldlib' => 'external library for linking',
@@ -8495,7 +8564,7 @@ class PEAR_Command_Common extends PEAR
}
?>
-
+
<config-show>
<summary>Show All Settings</summary>
<function>doConfigShow</function>
@@ -8586,7 +8655,7 @@ PEAR installation (using the --remoteconfig option of install, upgrade,
and uninstall).
</doc>
</config-create>
-</commands>
+</commands>
/**
* PEAR_Command_Config (config-show, config-get, config-set, config-help, config-create commands)
*
@@ -8604,7 +8673,7 @@ and uninstall).
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Config.php,v 1.51 2006/03/02 13:32:38 pajoye Exp $
+ * @version CVS: $Id: Config.php,v 1.51.2.1 2006/06/04 12:11:39 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -8623,7 +8692,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -8836,7 +8905,7 @@ and uninstall).
$failmsg .= "config-set expects 2 or 3 parameters";
return PEAR::raiseError($failmsg);
}
- if ($error = $this->_checkLayer(@$params[2])) {
+ if (isset($params[2]) && $error = $this->_checkLayer($params[2])) {
$failmsg .= $error;
return PEAR::raiseError("config-set:$failmsg");
}
@@ -9004,7 +9073,7 @@ and uninstall).
}
?>
-
+
<install>
<summary>Install Package</summary>
<function>doInstall</function>
@@ -9257,7 +9326,7 @@ package if needed.
Run post-installation scripts in package &lt;package&gt;, if any exist.
</doc>
</run-scripts>
-</commands>
+</commands>
/**
* PEAR_Command_Install (install, upgrade, upgrade-all, uninstall, bundle, run-scripts commands)
*
@@ -9295,7 +9364,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -10030,7 +10099,7 @@ Run post-installation scripts in package <package>, if any exist.
}
}
?>
-
+
<download-all>
<summary>Downloads each available package from the default channel</summary>
<function>doDownloadAll</function>
@@ -10047,7 +10116,7 @@ Requests a list of available packages from the default channel ({config default_
and downloads them to current working directory. Note: only
packages within preferred_state ({config preferred_state}) will be downloaded</doc>
</download-all>
-</commands>
+</commands>
/**
* PEAR_Command_Mirror (download-all command)
*
@@ -10082,7 +10151,7 @@ require_once 'PEAR/Command/Common.php';
* @author Alexander Merz <alexmerz@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.2.0
*/
@@ -10200,7 +10269,7 @@ packages within preferred_state ({config preferred_state}) will be downloaded'
// }}}
}
-
+
<package>
<summary>Build Package</summary>
<function>doPackage</function>
@@ -10335,7 +10404,7 @@ use the &quot;slide&quot; option to move the release tag.
<shortcut>pd</shortcut>
<options />
<doc>
-List all depencies the package has.</doc>
+List all dependencies the package has.</doc>
</package-dependencies>
<sign>
<summary>Sign a package distribution file</summary>
@@ -10393,7 +10462,8 @@ This is not the most intelligent conversion, and should only be
used for automated conversion or learning the format.
</doc>
</convert>
-</commands>
+</commands>
+
/**
* PEAR_Command_Package (package, package-validate, cvsdiff, cvstag, package-dependencies,
* sign, makerpm, convert commands)
@@ -10413,7 +10483,7 @@ used for automated conversion or learning the format.
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Package.php,v 1.119 2006/03/02 18:14:13 cellog Exp $
+ * @version CVS: $Id: Package.php,v 1.119.2.1 2006/06/07 23:39:22 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -10580,7 +10650,7 @@ release), pass them as additional parameters.
'shortcut' => 'pd',
'options' => array(),
'doc' => '
-List all depencies the package has.'
+List all dependencies the package has.'
),
'sign' => array(
'summary' => 'Sign a package distribution file',
@@ -11557,7 +11627,7 @@ used for automated conversion or learning the format.
}
?>
-
+
<pickle>
<summary>Build PECL Package</summary>
<function>doPackage</function>
@@ -11596,7 +11666,7 @@ will cause pickle to fail, and output an error message. If your package2.xml
uses any of these features, you are best off using PEAR_PackageFileManager to
generate both package.xml.</doc>
</pickle>
-</commands>
+</commands>
/**
* PEAR_Command_Pickle (pickle command)
*
@@ -11613,7 +11683,7 @@ generate both package.xml.</doc>
* @author Greg Beaver <cellog@php.net>
* @copyright 2005-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Pickle.php,v 1.5 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: Pickle.php,v 1.5.2.1 2006/05/10 03:25:15 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.1
*/
@@ -11631,7 +11701,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 2005-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.1
*/
@@ -11754,7 +11824,7 @@ generate both package.xml.
require_once 'PEAR/PackageFile/v1.php';
$pf = new PEAR_PackageFile_v1;
$pf->setConfig($this->config);
- if (is_array($pf2->getPackageType() != 'extsrc')) {
+ if ($pf2->getPackageType() != 'extsrc') {
return $this->raiseError('Cannot safely convert "' . $packagexml .
'", is not an extension source package. Using a PEAR_PackageFileManager-based ' .
'script is an option');
@@ -11972,7 +12042,7 @@ generate both package.xml.
}
?>
-
+
<list>
<summary>List Installed Packages In The Default Channel</summary>
<function>doList</function>
@@ -12025,7 +12095,7 @@ Displays information about a package. The package argument may be a
local package file, an URL to a package file, or the name of an
installed package.</doc>
</info>
-</commands>
+</commands>
/**
* PEAR_Command_Registry (list, list-files, shell-test, info commands)
*
@@ -12062,7 +12132,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -13022,7 +13092,7 @@ installed package.'
}
?>
-
+
<remote-info>
<summary>Information About Remote Packages</summary>
<function>doRemoteInfo</function>
@@ -13113,7 +13183,7 @@ Clear the XML-RPC/REST cache. See also the cache_ttl configuration
parameter.
</doc>
</clear-cache>
-</commands>
+</commands>
/**
* PEAR_Command_Remote (remote-info, list-upgrades, remote-list, search, list-all, download,
* clear-cache commands)
@@ -13132,7 +13202,7 @@ parameter.
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Remote.php,v 1.90.2.2 2006/03/23 05:45:17 cellog Exp $
+ * @version CVS: $Id: Remote.php,v 1.90.2.3 2006/06/04 12:27:55 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -13152,7 +13222,7 @@ require_once 'PEAR/REST.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -13647,7 +13717,7 @@ parameter.
function doListUpgrades($command, $options, $params)
{
require_once 'PEAR/Common.php';
- if (isset($params[0]) && !PEAR_Common::betterStates($params[0])) {
+ if (isset($params[0]) && !is_array(PEAR_Common::betterStates($params[0]))) {
return $this->raiseError($params[0] . ' is not a valid state (stable/beta/alpha/devel/etc.) try "pear help list-upgrades"');
}
$savechannel = $channel = $this->config->get('default_channel');
@@ -13783,7 +13853,7 @@ parameter.
}
?>
-
+
<run-tests>
<summary>Run Regression Tests</summary>
<function>doRunTests</function>
@@ -13822,7 +13892,7 @@ parameter.
<doc>[testfile|dir ...]
Run regression tests with PHP&apos;s regression testing script (run-tests.php).</doc>
</run-tests>
-</commands>
+</commands>
/**
* PEAR_Command_Test (run-tests)
*
@@ -13861,7 +13931,7 @@ require_once 'PEAR/Command/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -14097,7 +14167,7 @@ Run regression tests with PHP\'s regression testing script (run-tests.php).',
}
?>
-
+
/**
* PEAR_Downloader_Package
*
@@ -14114,7 +14184,7 @@ Run regression tests with PHP\'s regression testing script (run-tests.php).',
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Package.php,v 1.91 2006/01/23 19:05:52 cellog Exp $
+ * @version CVS: $Id: Package.php,v 1.91.2.1 2006/05/25 22:00:05 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -14148,7 +14218,7 @@ define('PEAR_DOWNLOADER_PACKAGE_STATE', -1003);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -15109,8 +15179,10 @@ class PEAR_Downloader_Package
}
} else {
if (isset($param['uri'])) {
- $param['channel'] = '__uri';
- $param['package'] = $param['dep']['name'];
+ if ($this->getChannel() != '__uri') {
+ return false;
+ }
+ return $param['uri'] == $this->getURI();
}
$package = isset($param['package']) ? $param['package'] :
$param['info']->getPackage();
@@ -15818,7 +15890,7 @@ class PEAR_Downloader_Package
}
}
?>
-
+
/**
* PEAR_Frontend_CLI
*
@@ -15853,7 +15925,7 @@ require_once 'PEAR/Frontend.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -16560,7 +16632,7 @@ class PEAR_Frontend_CLI extends PEAR_Frontend
}
?>
-
+
/**
* Base class for all installation roles.
*
@@ -16592,7 +16664,7 @@ class PEAR_Frontend_CLI extends PEAR_Frontend
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -16739,7 +16811,7 @@ class PEAR_Installer_Role_Common
return $roleInfo['phpextension'];
}
}
-?>
+?>
<releasetypes>php</releasetypes>
<releasetypes>extsrc</releasetypes>
<releasetypes>extbin</releasetypes>
@@ -16751,7 +16823,7 @@ class PEAR_Installer_Role_Common
<executable />
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Data
*
@@ -16779,12 +16851,12 @@ class PEAR_Installer_Role_Common
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {}
-?>
+?>
<releasetypes>php</releasetypes>
<releasetypes>extsrc</releasetypes>
<releasetypes>extbin</releasetypes>
@@ -16796,7 +16868,7 @@ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {}
<executable />
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Doc
*
@@ -16824,12 +16896,12 @@ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {}
-?>
+?>
<releasetypes>extbin</releasetypes>
<installable>1</installable>
<locationconfig>ext_dir</locationconfig>
@@ -16839,7 +16911,7 @@ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {}
<executable />
<phpextension>1</phpextension>
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Ext
*
@@ -16867,12 +16939,12 @@ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {}
-?>
+?>
<releasetypes>php</releasetypes>
<releasetypes>extsrc</releasetypes>
<releasetypes>extbin</releasetypes>
@@ -16884,7 +16956,7 @@ class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {}
<executable />
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Php
*
@@ -16912,12 +16984,12 @@ class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {}
-?>
+?>
<releasetypes>php</releasetypes>
<releasetypes>extsrc</releasetypes>
<releasetypes>extbin</releasetypes>
@@ -16929,7 +17001,7 @@ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {}
<executable>1</executable>
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Script
*
@@ -16957,12 +17029,12 @@ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {}
-?>
+?>
<releasetypes>extsrc</releasetypes>
<installable />
<locationconfig />
@@ -16972,7 +17044,7 @@ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {}
<executable />
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Src
*
@@ -17000,7 +17072,7 @@ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -17011,7 +17083,7 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common
$installer->source_files++;
}
}
-?>
+?>
<releasetypes>php</releasetypes>
<releasetypes>extsrc</releasetypes>
<releasetypes>extbin</releasetypes>
@@ -17023,7 +17095,7 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common
<executable />
<phpextension />
<config_vars />
-</role>
+</role>
/**
* PEAR_Installer_Role_Test
*
@@ -17051,12 +17123,12 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {}
-?>
+?>
/**
* PEAR_Installer_Role
*
@@ -17090,7 +17162,7 @@ require_once 'PEAR/XMLParser.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -17304,7 +17376,7 @@ class PEAR_Installer_Role
}
}
?>
-
+
/**
* package.xml generation class, package.xml version 1.0
*
@@ -17321,7 +17393,7 @@ class PEAR_Installer_Role
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: v1.php,v 1.70 2006/01/06 04:47:37 cellog Exp $
+ * @version CVS: $Id: v1.php,v 1.70.2.1 2006/05/10 02:55:06 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -17341,7 +17413,7 @@ require_once 'PEAR/PackageFile/v2.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -17358,7 +17430,7 @@ class PEAR_PackageFile_Generator_v1
function getPackagerVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
/**
@@ -17512,7 +17584,7 @@ class PEAR_PackageFile_Generator_v1
);
$ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n";
- $ret .= "<package version=\"1.0\" packagerversion=\"1.4.9\">\n" .
+ $ret .= "<package version=\"1.0\" packagerversion=\"1.4.11\">\n" .
" <name>$pkginfo[package]</name>";
if (isset($pkginfo['extends'])) {
$ret .= "\n<extends>$pkginfo[extends]</extends>";
@@ -17986,7 +18058,9 @@ class PEAR_PackageFile_Generator_v1
}
$ret = new $class;
$ret->setConfig($this->_packagefile->_config);
- $ret->setLogger($this->_packagefile->_logger);
+ if (isset($this->_packagefile->_logger) && is_object($this->_packagefile->_logger)) {
+ $ret->setLogger($this->_packagefile->_logger);
+ }
$ret->fromArray($arr);
return $ret;
}
@@ -18570,7 +18644,7 @@ class PEAR_PackageFile_Generator_v1
return $ret;
}
}
-?>
+?>
/**
* package.xml generation class, package.xml version 2.0
*
@@ -18607,7 +18681,7 @@ require_once 'System.php';
* @author Stephan Schmidt (original XML_Serializer code)
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -18686,7 +18760,7 @@ http://pear.php.net/dtd/package-2.0.xsd',
*/
function getPackagerVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
/**
@@ -18930,7 +19004,7 @@ http://pear.php.net/dtd/package-2.0.xsd',
}
$this->options['beautifyFilelist'] = true;
}
- $arr['attribs']['packagerversion'] = '1.4.9';
+ $arr['attribs']['packagerversion'] = '1.4.11';
if ($this->serialize($arr, $options)) {
return $this->_serializedData . "\n";
}
@@ -20102,7 +20176,7 @@ class PEAR_PackageFile_Generator_v2_XML_Util {
return PEAR::raiseError($msg, $code);
}
}
-?>
+?>
/**
* package.xml parsing class, package.xml version 1.0
*
@@ -20562,7 +20636,7 @@ class PEAR_PackageFile_Parser_v1
// }}}
}
-?>
+?>
/**
* package.xml parsing class, package.xml version 2.0
*
@@ -20676,7 +20750,7 @@ class PEAR_PackageFile_Parser_v2 extends PEAR_XMLParser
return $ret;
}
}
-?>
+?>
/**
* PEAR_PackageFile_v2, package.xml version 2.0, read/write version
*
@@ -20707,7 +20781,7 @@ require_once 'PEAR/PackageFile/v2.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a8
*/
@@ -22232,7 +22306,7 @@ class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2
unset($this->_packageInfo['changelog']);
}
}
-?>
+?>
//
// +----------------------------------------------------------------------+
// | PHP Version 5 |
@@ -22251,7 +22325,7 @@ class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2
// | |
// +----------------------------------------------------------------------+
//
-// $Id: Validator.php,v 1.86 2006/03/02 18:14:13 cellog Exp $
+// $Id: Validator.php,v 1.86.2.1 2006/05/10 02:55:06 cellog Exp $
/**
* Private validation class used by PEAR_PackageFile_v2 - do not use directly, its
* sole purpose is to split up the PEAR/PackageFile/v2.php file to make it smaller
@@ -22337,6 +22411,15 @@ class PEAR_PackageFile_v2_Validator
'*changelog',
);
$test = $this->_packageInfo;
+ if (isset($test['dependencies']) &&
+ isset($test['dependencies']['required']) &&
+ isset($test['dependencies']['required']['pearinstaller']) &&
+ isset($test['dependencies']['required']['pearinstaller']['min']) &&
+ version_compare('1.4.11',
+ $test['dependencies']['required']['pearinstaller']['min'], '<')) {
+ $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']);
+ return false;
+ }
// ignore post-installation array fields
if (array_key_exists('filelist', $test)) {
unset($test['filelist']);
@@ -23504,6 +23587,14 @@ class PEAR_PackageFile_v2_Validator
return in_array($role, PEAR_Installer_Role::getValidRoles($this->_pf->getPackageType()));
}
+ function _pearVersionTooLow($version)
+ {
+ $this->_stack->push(__FUNCTION__, 'error',
+ array('version' => $version),
+ 'This package.xml requires PEAR version %version% to parse properly, we are ' .
+ 'version 1.4.11');
+ }
+
function _invalidTagOrder($oktags, $actual, $root)
{
$this->_stack->push(__FUNCTION__, 'error',
@@ -24213,7 +24304,7 @@ class PEAR_PackageFile_v2_Validator
return $providesret;
}
}
-?>
+?>
/**
* PEAR_PackageFile_v1, package.xml version 1.0
*
@@ -24496,7 +24587,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME', 52);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -25813,7 +25904,7 @@ class PEAR_PackageFile_v1
// }}}
}
?>
-
+
/**
* PEAR_PackageFile_v2, package.xml version 2.0
*
@@ -25844,7 +25935,7 @@ require_once 'PEAR/ErrorStack.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -27821,7 +27912,7 @@ class PEAR_PackageFile_v2
}
}
?>
-
+
/**
* PEAR_REST_10
*
@@ -27856,7 +27947,7 @@ require_once 'PEAR/REST.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a12
*/
@@ -28444,7 +28535,7 @@ class PEAR_REST_10
return array_slice($states, $i + 1);
}
}
-?>
+?>
/**
* PEAR_REST_11 - implement faster list-all/remote-list command
*
@@ -28461,7 +28552,7 @@ class PEAR_REST_10
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: 11.php,v 1.4 2006/01/06 04:47:37 cellog Exp $
+ * @version CVS: $Id: 11.php,v 1.4.2.3 2006/08/15 21:25:12 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.3
*/
@@ -28479,7 +28570,7 @@ require_once 'PEAR/REST.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.3
*/
@@ -28502,7 +28593,7 @@ class PEAR_REST_11
return $categorylist;
}
$ret = array();
- if (!is_array($categorylist['c'])) {
+ if (!is_array($categorylist['c']) || !isset($categorylist['c'][0])) {
$categorylist['c'] = array($categorylist['c']);
}
PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
@@ -28589,9 +28680,11 @@ class PEAR_REST_11
}
}
$d = false;
- foreach ($packageinfo['deps'] as $dep) {
- if ($dep['v'] == $latest) {
- $d = unserialize($dep['d']);
+ if (isset($packageinfo['deps']) && is_array($packageinfo['deps'])) {
+ foreach ($packageinfo['deps'] as $dep) {
+ if ($dep['v'] == $latest) {
+ $d = unserialize($dep['d']);
+ }
}
}
if ($d) {
@@ -28650,7 +28743,8 @@ class PEAR_REST_11
return array_slice($states, $i + 1);
}
}
-?>
+?>
+
/**
* <tasks:postinstallscript> - read/write version
*
@@ -28682,7 +28776,7 @@ require_once 'PEAR/Task/Postinstallscript.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a10
*/
@@ -28825,7 +28919,7 @@ class PEAR_Task_Postinstallscript_rw extends PEAR_Task_Postinstallscript
);
}
}
-?>
+?>
/**
* <tasks:replace> - read/write version
*
@@ -28857,7 +28951,7 @@ require_once 'PEAR/Task/Replace.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a10
*/
@@ -28891,7 +28985,7 @@ class PEAR_Task_Replace_rw extends PEAR_Task_Replace
return $this->_params;
}
}
-?>
+?>
/**
* <tasks:unixeol> - read/write version
*
@@ -28923,7 +29017,7 @@ require_once 'PEAR/Task/Unixeol.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a10
*/
@@ -28952,7 +29046,7 @@ class PEAR_Task_Unixeol_rw extends PEAR_Task_Unixeol
return '';
}
}
-?>
+?>
/**
* <tasks:windowseol> - read/write version
*
@@ -28984,7 +29078,7 @@ require_once 'PEAR/Task/Windowseol.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a10
*/
@@ -29013,7 +29107,7 @@ class PEAR_Task_Windowseol_rw extends PEAR_Task_Windowseol
return '';
}
}
-?>
+?>
/**
* PEAR_Task_Common, base class for installer tasks
*
@@ -29068,7 +29162,7 @@ define('PEAR_TASK_PACKAGEANDINSTALL', 3);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
* @abstract
@@ -29220,7 +29314,7 @@ class PEAR_Task_Common
return PEAR::raiseError($msg, $code);
}
}
-?>
+?>
/**
* <tasks:postinstallscript>
*
@@ -29255,7 +29349,7 @@ require_once 'PEAR/Task/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -29548,7 +29642,7 @@ class PEAR_Task_Postinstallscript extends PEAR_Task_Common
{
}
}
-?>
+?>
/**
* <tasks:replace>
*
@@ -29580,7 +29674,7 @@ require_once 'PEAR/Task/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -29729,7 +29823,7 @@ class PEAR_Task_Replace extends PEAR_Task_Common
return $contents;
}
}
-?>
+?>
/**
* <tasks:unixeol>
*
@@ -29761,7 +29855,7 @@ require_once 'PEAR/Task/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -29811,7 +29905,7 @@ class PEAR_Task_Unixeol extends PEAR_Task_Common
return preg_replace("/\r\n|\n\r|\r|\n/", "\n", $contents);
}
}
-?>
+?>
/**
* <tasks:windowseol>
*
@@ -29843,7 +29937,7 @@ require_once 'PEAR/Task/Common.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -29893,7 +29987,7 @@ class PEAR_Task_Windowseol extends PEAR_Task_Common
return preg_replace("/\r\n|\n\r|\r|\n/", "\r\n", $contents);
}
}
-?>
+?>
/**
* Channel Validator for the pecl.php.net channel
*
@@ -29919,7 +30013,7 @@ require_once 'PEAR/Validate.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a5
*/
@@ -29954,7 +30048,7 @@ class PEAR_Validator_PECL extends PEAR_Validate
return $ret;
}
}
-?>
+?>
/**
* Class auto-loader
*
@@ -30006,7 +30100,7 @@ require_once "PEAR.php";
* @author Stig Bakken <ssb@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader
* @since File available since Release 0.1
* @deprecated File deprecated in Release 1.4.0a1
@@ -30177,7 +30271,7 @@ class PEAR_Autoloader extends PEAR
overload("PEAR_Autoloader");
?>
-
+
/**
* PEAR_Builder for building PHP extensions (PECL packages)
*
@@ -30214,7 +30308,7 @@ require_once 'PEAR/PackageFile.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since PHP 4.0.2
* @see http://pear.php.net/manual/en/core.ppm.pear-builder.php
@@ -30510,7 +30604,7 @@ class PEAR_Builder extends PEAR_Common
if (!@chdir($build_dir)) {
return $this->raiseError("could not chdir to $build_dir");
}
- putenv('PHP_PEAR_VERSION=1.4.9');
+ putenv('PHP_PEAR_VERSION=1.4.11');
foreach ($to_run as $cmd) {
$err = $this->_runCommand($cmd, $callback);
if (PEAR::isError($err)) {
@@ -30632,7 +30726,7 @@ class PEAR_Builder extends PEAR_Common
}
?>
-
+
/**
* PEAR_ChannelFile, the channel handling class
*
@@ -30786,7 +30880,7 @@ $GLOBALS['_PEAR_CHANNELS_MIRROR_TYPES'] = array('server');
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -32247,7 +32341,7 @@ class PEAR_ChannelFile {
}
}
?>
-
+
/**
* PEAR_Command, command pattern class
*
@@ -32265,7 +32359,7 @@ class PEAR_ChannelFile {
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Command.php,v 1.36 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: Command.php,v 1.36.2.1 2006/06/16 13:01:59 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -32343,7 +32437,7 @@ $GLOBALS['_PEAR_Command_objects'] = array();
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -32480,6 +32574,11 @@ class PEAR_Command
if ($dir === null) {
$dir = dirname(__FILE__) . '/Command';
}
+
+ if (!@is_dir($dir)) {
+ return PEAR::raiseError("registerCommands: opendir($dir) '$dir' does not exist or is not a directory");
+ }
+
$dp = @opendir($dir);
if (empty($dp)) {
return PEAR::raiseError("registerCommands: opendir($dir) failed");
@@ -32654,7 +32753,7 @@ class PEAR_Command
}
?>
-
+
/**
* PEAR_Common, the base class for the PEAR Installer
*
@@ -32784,7 +32883,7 @@ $GLOBALS['_PEAR_Common_script_phases'] = array('pre-install', 'post-install', 'p
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
* @deprecated This class will disappear, and its components will be spread
@@ -33782,7 +33881,7 @@ class PEAR_Common extends PEAR
}
require_once 'PEAR/Config.php';
require_once 'PEAR/PackageFile.php';
-?>
+?>
/**
* PEAR_Config, customized configuration handling for the PEAR Installer
*
@@ -33800,7 +33899,7 @@ require_once 'PEAR/PackageFile.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Config.php,v 1.124 2006/03/02 18:14:12 cellog Exp $
+ * @version CVS: $Id: Config.php,v 1.124.2.3 2006/07/15 00:38:27 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -33922,6 +34021,15 @@ if (getenv('PHP_PEAR_TEST_DIR')) {
$PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'tests');
}
+// Default for temp_dir
+if (getenv('PHP_PEAR_TEMP_DIR')) {
+ define('PEAR_CONFIG_DEFAULT_TEMP_DIR', getenv('PHP_PEAR_TEMP_DIR'));
+} else {
+ define('PEAR_CONFIG_DEFAULT_TEMP_DIR',
+ System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' .
+ DIRECTORY_SEPARATOR . 'temp');
+}
+
// Default for cache_dir
if (getenv('PHP_PEAR_CACHE_DIR')) {
define('PEAR_CONFIG_DEFAULT_CACHE_DIR', getenv('PHP_PEAR_CACHE_DIR'));
@@ -33931,6 +34039,15 @@ if (getenv('PHP_PEAR_CACHE_DIR')) {
DIRECTORY_SEPARATOR . 'cache');
}
+// Default for download_dir
+if (getenv('PHP_PEAR_DOWNLOAD_DIR')) {
+ define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR', getenv('PHP_PEAR_DOWNLOAD_DIR'));
+} else {
+ define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR',
+ System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' .
+ DIRECTORY_SEPARATOR . 'download');
+}
+
// Default for php_bin
if (getenv('PHP_PEAR_PHP_BIN')) {
define('PEAR_CONFIG_DEFAULT_PHP_BIN', getenv('PHP_PEAR_PHP_BIN'));
@@ -34000,7 +34117,7 @@ if (getenv('PHP_PEAR_SIG_KEYDIR')) {
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -34196,6 +34313,20 @@ class PEAR_Config extends PEAR
'prompt' => 'PEAR Installer cache directory',
'group' => 'File Locations (Advanced)',
),
+ 'temp_dir' => array(
+ 'type' => 'directory',
+ 'default' => PEAR_CONFIG_DEFAULT_TEMP_DIR,
+ 'doc' => 'directory which is used for all temp files',
+ 'prompt' => 'PEAR Installer temp directory',
+ 'group' => 'File Locations (Advanced)',
+ ),
+ 'download_dir' => array(
+ 'type' => 'directory',
+ 'default' => PEAR_CONFIG_DEFAULT_CACHE_DIR,
+ 'doc' => 'directory which is used for all downloaded files',
+ 'prompt' => 'PEAR Installer download directory',
+ 'group' => 'File Locations (Advanced)',
+ ),
'php_bin' => array(
'type' => 'file',
'default' => PEAR_CONFIG_DEFAULT_PHP_BIN,
@@ -35848,7 +35979,7 @@ class PEAR_Config extends PEAR
}
?>
-
+
//
// +----------------------------------------------------------------------+
// | PHP Version 5 |
@@ -36343,7 +36474,7 @@ class PEAR_Dependency
// }}}
}
?>
-
+
/**
* PEAR_DependencyDB, advanced installed packages dependency database
*
@@ -36361,7 +36492,7 @@ class PEAR_Dependency
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: DependencyDB.php,v 1.30 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: DependencyDB.php,v 1.30.2.1 2006/05/25 22:00:05 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -36380,7 +36511,7 @@ require_once 'PEAR/Config.php';
* @author Tomas V.V.Cox <cox@idec.net.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -36635,16 +36766,36 @@ class PEAR_DependencyDB
return false;
}
foreach ($this->_cache['dependencies'][$channel][$package] as $info) {
+ if (isset($info['dep']['uri'])) {
+ if (is_object($child)) {
+ if ($info['dep']['uri'] == $child->getURI()) {
+ return true;
+ }
+ } elseif (isset($child['uri'])) {
+ if ($info['dep']['uri'] == $child['uri']) {
+ return true;
+ }
+ }
+ return false;
+ }
if (strtolower($info['dep']['channel']) == strtolower($depchannel) &&
strtolower($info['dep']['name']) == strtolower($deppackage)) {
return true;
}
}
foreach ($this->_cache['dependencies'][$channel][$package] as $info) {
- if ($this->_dependsOn(array(
- 'channel' => $info['dep']['channel'],
- 'package' => $info['dep']['name']), $child, $checked)) {
- return true;
+ if (isset($info['dep']['uri'])) {
+ if ($this->_dependsOn(array(
+ 'uri' => $info['dep']['uri'],
+ 'package' => $info['dep']['name']), $child, $checked)) {
+ return true;
+ }
+ } else {
+ if ($this->_dependsOn(array(
+ 'channel' => $info['dep']['channel'],
+ 'package' => $info['dep']['name']), $child, $checked)) {
+ return true;
+ }
}
}
return false;
@@ -36997,7 +37148,7 @@ class PEAR_DependencyDB
}
}
}
-?>
+?>
/**
* PEAR_Dependency2, advanced dependency validation
*
@@ -37036,7 +37187,7 @@ require_once 'PEAR/Validate.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -37524,7 +37675,7 @@ class PEAR_Dependency2
*/
function getPEARVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
function validatePearinstallerDependency($dep)
@@ -38198,7 +38349,7 @@ class PEAR_Dependency2
$this->_currentPackage, true)));
}
}
-?>
+?>
/**
* PEAR_Downloader, the PEAR Installer's download utility class
*
@@ -38218,7 +38369,7 @@ class PEAR_Dependency2
* @author Martin Jansen <mj@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Downloader.php,v 1.99 2006/03/02 18:14:13 cellog Exp $
+ * @version CVS: $Id: Downloader.php,v 1.99.2.2 2006/06/16 12:35:12 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.3.0
*/
@@ -38245,7 +38396,7 @@ define('PEAR_INSTALLER_ERROR_NO_PREF_STATE', 2);
* @author Martin Jansen <mj@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.3.0
*/
@@ -38332,7 +38483,7 @@ class PEAR_Downloader extends PEAR_Common
* @access private
*/
var $_errorStack = array();
-
+
/**
* @var boolean
* @access private
@@ -38493,29 +38644,37 @@ class PEAR_Downloader extends PEAR_Common
$this->pushError('Package "' . $param . '" is not valid',
PEAR_INSTALLER_SKIPPED);
} else {
- if ($params[$i] && !isset($channelschecked[$params[$i]->getChannel()]) &&
- !isset($this->_options['offline'])) {
- $channelschecked[$params[$i]->getChannel()] = true;
- PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
- if (!class_exists('System')) {
- require_once 'System.php';
- }
- $curchannel = &$this->_registry->getChannel($params[$i]->getChannel());
- if (PEAR::isError($curchannel)) {
- PEAR::staticPopErrorHandling();
- return $this->raiseError($curchannel);
+ do {
+ if ($params[$i] && $params[$i]->getType() == 'local') {
+ // bug #7090
+ // skip channel.xml check for local packages
+ break;
}
- $a = $this->downloadHttp('http://' . $params[$i]->getChannel() .
- '/channel.xml', $this->ui,
- System::mktemp(array('-d')), null, $curchannel->lastModified());
- PEAR::staticPopErrorHandling();
- if (PEAR::isError($a) || !$a) {
- continue;
+ if ($params[$i] && !isset($channelschecked[$params[$i]->getChannel()]) &&
+ !isset($this->_options['offline'])) {
+ $channelschecked[$params[$i]->getChannel()] = true;
+ PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
+ if (!class_exists('System')) {
+ require_once 'System.php';
+ }
+ $curchannel = &$this->_registry->getChannel($params[$i]->getChannel());
+ if (PEAR::isError($curchannel)) {
+ PEAR::staticPopErrorHandling();
+ return $this->raiseError($curchannel);
+ }
+ $a = $this->downloadHttp('http://' . $params[$i]->getChannel() .
+ '/channel.xml', $this->ui,
+ System::mktemp(array('-t' . $this->getDownloadDir())), null, $curchannel->lastModified());
+
+ PEAR::staticPopErrorHandling();
+ if (PEAR::isError($a) || !$a) {
+ break;
+ }
+ $this->log(0, 'WARNING: channel "' . $params[$i]->getChannel() . '" has ' .
+ 'updated its protocols, use "channel-update ' . $params[$i]->getChannel() .
+ '" to update');
}
- $this->log(0, 'WARNING: channel "' . $params[$i]->getChannel() . '" has ' .
- 'updated its protocols, use "channel-update ' . $params[$i]->getChannel() .
- '" to update');
- }
+ } while (false);
if ($params[$i] && !isset($this->_options['downloadonly'])) {
if (isset($this->_options['packagingroot'])) {
$checkdir = $this->_prependPath(
@@ -39043,33 +39202,62 @@ class PEAR_Downloader extends PEAR_Common
{
$xsdversion = isset($dep['rel']) ? '1.0' : '2.0';
$curchannel = $this->config->get('default_channel');
- if (isset($dep['channel'])) {
- $remotechannel = $dep['channel'];
+ if (isset($dep['uri'])) {
+ $xsdversion = '2.0';
+ $chan = &$this->_registry->getChannel('__uri');
+ if (PEAR::isError($chan)) {
+ return $chan;
+ }
+ $version = $this->_registry->packageInfo($dep['name'], 'version', '__uri');
+ $this->configSet('default_channel', '__uri');
} else {
- $remotechannel = 'pear.php.net';
- }
- if (!$this->_registry->channelExists($remotechannel)) {
- do {
- if ($this->config->get('auto_discover')) {
- if ($this->discover($remotechannel)) {
- break;
+ if (isset($dep['channel'])) {
+ $remotechannel = $dep['channel'];
+ } else {
+ $remotechannel = 'pear.php.net';
+ }
+ if (!$this->_registry->channelExists($remotechannel)) {
+ do {
+ if ($this->config->get('auto_discover')) {
+ if ($this->discover($remotechannel)) {
+ break;
+ }
}
- }
- return PEAR::raiseError('Unknown remote channel: ' . $remotechannel);
- } while (false);
+ return PEAR::raiseError('Unknown remote channel: ' . $remotechannel);
+ } while (false);
+ }
+ $chan = &$this->_registry->getChannel($remotechannel);
+ if (PEAR::isError($chan)) {
+ return $chan;
+ }
+ $version = $this->_registry->packageInfo($dep['name'], 'version',
+ $remotechannel);
+ $this->configSet('default_channel', $remotechannel);
}
- $this->configSet('default_channel', $remotechannel);
$state = isset($parr['state']) ? $parr['state'] : $this->config->get('preferred_state');
if (isset($parr['state']) && isset($parr['version'])) {
unset($parr['state']);
}
- $chan = &$this->_registry->getChannel($remotechannel);
- if (PEAR::isError($chan)) {
- return $chan;
- }
- $version = $this->_registry->packageInfo($dep['name'], 'version',
- $remotechannel);
- if ($chan->supportsREST($this->config->get('preferred_mirror')) &&
+ if (isset($dep['uri'])) {
+ $info = &$this->newDownloaderPackage($this);
+ PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
+ $err = $info->initialize($dep);
+ PEAR::staticPopErrorHandling();
+ if (!$err) {
+ // skip parameters that were missed by preferred_state
+ return PEAR::raiseError('Cannot initialize dependency');
+ }
+ if (PEAR::isError($err)) {
+ if (!isset($this->_options['soft'])) {
+ $this->log(0, $err->getMessage());
+ }
+ if (is_object($info)) {
+ $param = $info->getChannel() . '/' . $info->getPackage();
+ }
+ return PEAR::raiseError('Package "' . $param . '" is not valid');
+ }
+ return $info;
+ } elseif ($chan->supportsREST($this->config->get('preferred_mirror')) &&
$base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) {
$rest = &$this->config->getREST('1.0', $this->_options);
$url = $rest->getDepDownloadURL($base, $xsdversion, $dep, $parr,
@@ -39126,7 +39314,7 @@ class PEAR_Downloader extends PEAR_Common
} else {
$url = $this->_remote->call('package.getDepDownloadURL', $xsdversion, $dep, $parr, $state);
}
- if ($parr['channel'] != $curchannel) {
+ if ($this->config->get('default_channel') != $curchannel) {
$this->configSet('default_channel', $curchannel);
}
if (!is_array($url)) {
@@ -39284,7 +39472,7 @@ class PEAR_Downloader extends PEAR_Common
*/
function sortPkgDeps(&$packages, $uninstall = false)
{
- $uninstall ?
+ $uninstall ?
$this->sortPackagesForUninstall($packages) :
$this->sortPackagesForInstall($packages);
}
@@ -39527,7 +39715,7 @@ class PEAR_Downloader extends PEAR_Common
$config = &PEAR_Config::singleton();
}
$proxy_host = $proxy_port = $proxy_user = $proxy_pass = '';
- if ($config->get('http_proxy')&&
+ if ($config->get('http_proxy')&&
$proxy = parse_url($config->get('http_proxy'))) {
$proxy_host = @$proxy['host'];
if (isset($proxy['scheme']) && $proxy['scheme'] == 'https') {
@@ -39595,7 +39783,7 @@ class PEAR_Downloader extends PEAR_Common
$ifmodifiedsince = ($lastmodified ? "If-Modified-Since: $lastmodified\r\n" : '');
}
$request .= "Host: $host:$port\r\n" . $ifmodifiedsince .
- "User-Agent: PEAR/1.4.9/PHP/" . PHP_VERSION . "\r\n";
+ "User-Agent: PEAR/1.4.11/PHP/" . PHP_VERSION . "\r\n";
if (isset($this)) { // only pass in authentication for non-static calls
$username = $config->get('username');
$password = $config->get('password');
@@ -39708,7 +39896,7 @@ class PEAR_Downloader extends PEAR_Common
// }}}
?>
-
+
/**
* Error Stack Implementation
*
@@ -39842,7 +40030,7 @@ define('PEAR_ERRORSTACK_ERR_OBJTOSTRING', 2);
* $local_stack = new PEAR_ErrorStack('MyPackage');
* </code>
* @author Greg Beaver <cellog@php.net>
- * @version 1.4.9
+ * @version 1.4.11
* @package PEAR_ErrorStack
* @category Debugging
* @copyright 2004-2006 Greg Beaver
@@ -40678,7 +40866,7 @@ class PEAR_ErrorStack {
$stack = &PEAR_ErrorStack::singleton('PEAR_ErrorStack');
$stack->pushCallback(array('PEAR_ErrorStack', '_handleError'));
?>
-
+
/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */
/**
* PEAR_Exception
@@ -40775,7 +40963,7 @@ $stack->pushCallback(array('PEAR_ErrorStack', '_handleError'));
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.3.3
*
@@ -41053,7 +41241,7 @@ class PEAR_Exception extends Exception
}
}
-?>
+?>
/**
* PEAR_Frontend, the singleton-based frontend for user input/output
*
@@ -41097,7 +41285,7 @@ $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = null;
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -41238,7 +41426,7 @@ class PEAR_Frontend extends PEAR
{
}
}
-?>
+?>
/**
* PEAR_Installer
*
@@ -41282,7 +41470,7 @@ define('PEAR_INSTALLER_NOBINARY', -240);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -42829,7 +43017,7 @@ if (!function_exists("md5_file")) {
}
// }}}
-?>
+?>
/**
* PEAR_PackageFile, package.xml parsing utility class
*
@@ -42846,7 +43034,7 @@ if (!function_exists("md5_file")) {
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: PackageFile.php,v 1.33 2006/02/09 22:39:32 cellog Exp $
+ * @version CVS: $Id: PackageFile.php,v 1.33.2.1 2006/06/08 00:04:13 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -42872,7 +43060,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -43235,6 +43423,11 @@ class PEAR_PackageFile
*/
function &fromAnyFile($info, $state)
{
+ if (is_dir($info)) {
+ $info = PEAR::raiseError("'$info' is a directory, a file is expected");
+ return $info;
+ }
+
$fp = false;
if (is_string($info) && strlen($info) < 255 &&
(file_exists($info) || ($fp = @fopen($info, 'r')))) {
@@ -43264,7 +43457,8 @@ class PEAR_PackageFile
}
}
-?>
+?>
+
/**
* PEAR_Packager for generating releases
*
@@ -43303,7 +43497,7 @@ require_once 'System.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -43466,7 +43660,7 @@ if (!function_exists('md5_file')) {
// }}}
?>
-
+
/**
* PEAR_Registry
*
@@ -43511,7 +43705,7 @@ define('PEAR_REGISTRY_ERROR_CHANNEL_FILE', -6);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -45627,7 +45821,7 @@ class PEAR_Registry extends PEAR
}
?>
-
+
/**
* PEAR_Remote
*
@@ -45669,7 +45863,7 @@ require_once 'PEAR/Config.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -46146,7 +46340,7 @@ class PEAR_Remote extends PEAR
}
?>
-
+
/**
* PEAR_REST
*
@@ -46182,7 +46376,7 @@ require_once 'PEAR/XMLParser.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -46471,7 +46665,7 @@ class PEAR_REST
$ifmodifiedsince = ($lastmodified ? "If-Modified-Since: $lastmodified\r\n" : '');
}
$request .= "Host: $host:$port\r\n" . $ifmodifiedsince .
- "User-Agent: PEAR/1.4.9/PHP/" . PHP_VERSION . "\r\n";
+ "User-Agent: PEAR/1.4.11/PHP/" . PHP_VERSION . "\r\n";
$username = $this->config->get('username');
$password = $this->config->get('password');
if ($username && $password) {
@@ -46543,7 +46737,7 @@ class PEAR_REST
}
}
?>
-
+
/**
* PEAR_RunTest
*
@@ -46589,7 +46783,7 @@ putenv("PHP_PEAR_RUNTESTS=1");
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.3.3
*/
@@ -46952,7 +47146,7 @@ $text
}
?>
-
+
/**
* PEAR_Validate
*
@@ -46969,7 +47163,7 @@ $text
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Validate.php,v 1.46 2006/01/23 17:16:35 cellog Exp $
+ * @version CVS: $Id: Validate.php,v 1.46.2.3 2006/07/17 17:49:37 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -46992,7 +47186,7 @@ require_once 'PEAR/Validator/PECL.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -47399,17 +47593,16 @@ class PEAR_Validate
{
if ($this->_state == PEAR_VALIDATE_NORMAL ||
$this->_state == PEAR_VALIDATE_PACKAGING) {
- if (!preg_match('/\d\d\d\d\-\d\d\-\d\d/',
- $this->_packagexml->getDate())) {
- $this->_addFailure('date', 'invalid release date "' .
- $this->_packagexml->getDate() . '"');
- return false;
- }
- if (strtotime($this->_packagexml->getDate()) == -1) {
+ if (!preg_match('/(\d\d\d\d)\-(\d\d)\-(\d\d)/',
+ $this->_packagexml->getDate(), $res) ||
+ count($res) < 4
+ || !checkdate($res[2], $res[3], $res[1])
+ ) {
$this->_addFailure('date', 'invalid release date "' .
$this->_packagexml->getDate() . '"');
return false;
}
+
if ($this->_state == PEAR_VALIDATE_PACKAGING &&
$this->_packagexml->getDate() != date('Y-m-d')) {
$this->_addWarning('date', 'Release Date "' .
@@ -47582,7 +47775,8 @@ class PEAR_Validate
return true;
}
}
-?>
+?>
+
/**
* PEAR_FTP
*
@@ -47613,7 +47807,7 @@ class PEAR_Validate
* @author Stephan Schmidt (original XML_Unserializer code)
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -47842,7 +48036,7 @@ class PEAR_XMLParser
$this->_dataStack[$this->_depth] .= $cdata;
}
}
-?>
+?>
REM ----------------------------------------------------------------------
REM PHP version 5
@@ -47956,7 +48150,7 @@ GOTO END
:RUN
"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON
+@ECHO ON
REM ----------------------------------------------------------------------
REM PHP version 5
@@ -48070,7 +48264,7 @@ GOTO END
:RUN
"%PHP_PEAR_PHP_BIN%" -C -d memory_limit="-1" -d safe_mode=0 -d open_basedir="" -d output_buffering=1 -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON
+@ECHO ON
REM ----------------------------------------------------------------------
REM PHP version 5
@@ -48184,7 +48378,7 @@ GOTO END
:RUN
"%PHP_PEAR_PHP_BIN%" -C -n -d output_buffering=1 -d safe_mode=0 -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\peclcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON
+@ECHO ON
# first find which PHP binary to use
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
@@ -48212,7 +48406,7 @@ else
fi
exec $PHP -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 $INCDIR/pearcmd.php "$@"
-
+
# first find which PHP binary to use
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
@@ -48240,7 +48434,7 @@ else
fi
exec $PHP -d memory_limit="-1" -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 $INCDIR/pearcmd.php "$@"
-
+
# first find which PHP binary to use
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
@@ -48268,7 +48462,7 @@ else
fi
exec $PHP -C -n -q $INCARG -d output_buffering=1 -d safe_mode=0 $INCDIR/peclcmd.php "$@"
-
+
//
// +----------------------------------------------------------------------+
// | PHP Version 5 |
@@ -48705,7 +48899,7 @@ function error_handler($errno, $errmsg, $file, $line, $vars) {
// vim600:syn=php
?>
-
+
//
// +----------------------------------------------------------------------+
// | PHP Version 5 |
@@ -48750,7 +48944,7 @@ require_once 'pearcmd.php';
// vim600:syn=php
?>
-
+
$Id: package.dtd,v 1.38 2005/11/12 02:23:07 cellog Exp $
This is the PEAR package description, version 1.0.
@@ -48853,7 +49047,7 @@ require_once 'pearcmd.php';
to CDATA #REQUIRED>
-
+
/**
* PEAR, the PHP Extension and Application Repository
*
@@ -48948,7 +49142,7 @@ $GLOBALS['_PEAR_error_handler_stack'] = array();
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @see PEAR_Error
* @since Class available since PHP 4.0.2
@@ -49663,7 +49857,7 @@ function _PEAR_call_destructors()
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/manual/en/core.pear.pear-error.php
* @see PEAR::raiseError(), PEAR::throwError()
* @since Class available since PHP 4.0.2
@@ -49954,7 +50148,7 @@ class PEAR_Error
* End:
*/
?>
-
+
/**
* File/Directory manipulation
*
@@ -49971,7 +50165,7 @@ class PEAR_Error
* @author Tomas V.V.Cox <cox@idecnet.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: System.php,v 1.53 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: System.php,v 1.53.2.1 2006/06/16 13:55:16 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -50011,7 +50205,7 @@ $GLOBALS['_System_temp_files'] = array();
* @author Tomas V.V. Cox <cox@idecnet.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
-* @version Release: 1.4.9
+* @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 0.1
*/
@@ -50447,7 +50641,7 @@ class System
foreach ($exe_suffixes as $suff) {
foreach ($path_elements as $dir) {
$file = $dir . DIRECTORY_SEPARATOR . $program . $suff;
- if ($pear_is_executable($file)) {
+ if (@$pear_is_executable($file)) {
return $file;
}
}
@@ -50541,7 +50735,7 @@ class System
}
}
?>
-
+
Name: @rpm_package@
Version: @version@
Release: 1
@@ -50613,7 +50807,639 @@ cp -p package@package2xml@.xml %{buildroot}@rpm_xml_dir@/@package@.xml
%defattr(-,root,root)
%doc @doc_files@
/
-
+
+<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
+<package version="1.0" packagerversion="1.4.11">
+ <name>PEAR</name>
+ <summary>PEAR Base System</summary>
+ <description>The PEAR package contains:
+ * the PEAR installer, for creating, distributing
+ and installing packages
+ * the beta-quality PEAR_Exception PHP5 error handling mechanism
+ * the beta-quality PEAR_ErrorStack advanced error handling mechanism
+ * the PEAR_Error error handling mechanism
+ * the OS_Guess class for retrieving info about the OS
+ where PHP is running on
+ * the System class for quick handling of common operations
+ with files and directories
+ * the PEAR base class
+
+ New features in a nutshell:
+ * full support for channels
+ * pre-download dependency validation
+ * new package.xml 2.0 format allows tremendous flexibility while maintaining BC
+ * support for optional dependency groups and limited support for sub-packaging
+ * robust dependency support
+ * full dependency validation on uninstall
+ * remote install for hosts with only ftp access - no more problems with
+ restricted host installation
+ * full support for mirroring
+ * support for bundling several packages into a single tarball
+ * support for static dependencies on a url-based package
+ * support for custom file roles and installation tasks
+
+ NOTE: users of PEAR_Frontend_Web/PEAR_Frontend_Gtk must upgrade their installations
+ to the latest version, or PEAR will not upgrade properly
+ </description>
+ <maintainers>
+ <maintainer>
+ <user>cellog</user>
+ <name>Greg Beaver</name>
+ <email>cellog@php.net</email>
+ <role>lead</role>
+ </maintainer>
+ <maintainer>
+ <user>ssb</user>
+ <name>Stig Bakken</name>
+ <email>stig@php.net</email>
+ <role>lead</role>
+ </maintainer>
+ <maintainer>
+ <user>cox</user>
+ <name>Tomas V.V.Cox</name>
+ <email>cox@idecnet.com</email>
+ <role>lead</role>
+ </maintainer>
+ <maintainer>
+ <user>pajoye</user>
+ <name>Pierre-Alain Joye</name>
+ <email>pajoye@pearfr.org</email>
+ <role>lead</role>
+ </maintainer>
+ <maintainer>
+ <user>timj</user>
+ <name>Tim Jackson</name>
+ <email>timj@php.net</email>
+ <role>helper</role>
+ </maintainer>
+ <maintainer>
+ <user>toggg</user>
+ <name>Bertrand Gugger</name>
+ <email>toggg@php.net</email>
+ <role>helper</role>
+ </maintainer>
+ <maintainer>
+ <user>mj</user>
+ <name>Martin Jansen</name>
+ <email>mj@php.net</email>
+ <role>helper</role>
+ </maintainer>
+ </maintainers>
+ <release>
+ <version>1.4.11</version>
+ <date>2006-08-16</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>minor bugfix release
+* fix the conflicts detection for the web frontend (before 0.5.0)
+* fix warnings in the list-all command
+ </notes>
+ <deps>
+ <dep type="php" rel="ge" version="4.2"/>
+ <dep type="pkg" rel="ge" version="1.3.3">PEAR</dep>
+ <dep type="pkg" rel="ge" version="1.3.1">Archive_Tar</dep>
+ <dep type="pkg" rel="ge" version="1.2">Console_Getopt</dep>
+ <dep type="pkg" rel="ge" version="1.4.0" optional="yes">XML_RPC</dep>
+ <dep type="pkg" rel="ge" version="0.5.0" optional="yes">PEAR_Frontend_Web</dep>
+ <dep type="pkg" rel="ge" version="0.4.0" optional="yes">PEAR_Frontend_Gtk</dep>
+ <dep type="pkg" rel="ge" version="0.1.0" optional="yes">PEAR_Frontend_Gtk2</dep>
+ <dep type="ext" rel="has">xml</dep>
+ <dep type="ext" rel="has">pcre</dep>
+ </deps>
+ <provides type="class" name="OS_Guess" />
+ <provides type="class" name="System" />
+ <provides type="function" name="md5_file" />
+ <filelist>
+ <file role="php" name="OS/Guess.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/ChannelFile/Parser.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Auth.xml"/>
+ <file role="php" name="PEAR/Command/Auth.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Build.xml"/>
+ <file role="php" name="PEAR/Command/Build.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Channels.xml"/>
+ <file role="php" name="PEAR/Command/Channels.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Common.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Config.xml"/>
+ <file role="php" name="PEAR/Command/Config.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Install.xml"/>
+ <file role="php" name="PEAR/Command/Install.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Package.xml"/>
+ <file role="php" name="PEAR/Command/Package.php">
+ <replace from="@DATA-DIR@" to="data_dir" type="pear-config"/>
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Pickle.xml"/>
+ <file role="php" name="PEAR/Command/Pickle.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Registry.xml"/>
+ <file role="php" name="PEAR/Command/Registry.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Remote.xml"/>
+ <file role="php" name="PEAR/Command/Remote.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Mirror.xml"/>
+ <file role="php" name="PEAR/Command/Mirror.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command/Test.xml"/>
+ <file role="php" name="PEAR/Command/Test.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Downloader/Package.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Frontend/CLI.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Common.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Data.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Data.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Doc.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Doc.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Ext.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Ext.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Php.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Php.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Script.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Script.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Src.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Src.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role/Test.xml"/>
+ <file role="php" name="PEAR/Installer/Role/Test.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer/Role.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/Generator/v1.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/Generator/v2.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/Parser/v1.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/Parser/v2.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/v2/rw.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/v2/Validator.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/v1.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile/v2.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/REST/10.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/REST/11.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Postinstallscript/rw.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Replace/rw.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Unixeol/rw.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Windowseol/rw.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Common.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Postinstallscript.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Replace.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Unixeol.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Task/Windowseol.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Validator/PECL.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Autoloader.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Builder.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/ChannelFile.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Command.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Common.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Config.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Dependency.php"/>
+ <file role="php" name="PEAR/DependencyDB.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Dependency2.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Downloader.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/ErrorStack.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Exception.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Frontend.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Installer.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Packager.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/PackageFile.php">
+ <replace from="@PEAR-VER@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Registry.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Remote.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/REST.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/RunTest.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/Validate.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" name="PEAR/XMLParser.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="!windows" install-as="pear" name="scripts/pear.sh">
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@php_dir@" to="php_dir" type="pear-config"/>
+ <replace from="@pear_version@" to="version" type="package-info"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="!windows" install-as="peardev" name="scripts/peardev.sh">
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@php_dir@" to="php_dir" type="pear-config"/>
+ <replace from="@pear_version@" to="version" type="package-info"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="!windows" install-as="pecl" name="scripts/pecl.sh">
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@php_dir@" to="php_dir" type="pear-config"/>
+ <replace from="@pear_version@" to="version" type="package-info"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="windows" install-as="peardev.bat" name="scripts/peardev.bat">
+ <replace from="@bin_dir@" to="bin_dir" type="pear-config"/>
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="windows" install-as="pear.bat" name="scripts/pear.bat">
+ <replace from="@bin_dir@" to="bin_dir" type="pear-config"/>
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="script" baseinstalldir="/" platform="windows" install-as="pecl.bat" name="scripts/pecl.bat">
+ <replace from="@bin_dir@" to="bin_dir" type="pear-config"/>
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="php" baseinstalldir="/" install-as="pearcmd.php" name="scripts/pearcmd.php">
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@php_dir@" to="php_dir" type="pear-config"/>
+ <replace from="@pear_version@" to="version" type="package-info"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="php" baseinstalldir="/" install-as="peclcmd.php" name="scripts/peclcmd.php">
+ <replace from="@php_bin@" to="php_bin" type="pear-config"/>
+ <replace from="@php_dir@" to="php_dir" type="pear-config"/>
+ <replace from="@pear_version@" to="version" type="package-info"/>
+ <replace from="@include_path@" to="php_dir" type="pear-config"/>
+ </file>
+ <file role="data" baseinstalldir="/" name="package.dtd"/>
+ <file role="data" baseinstalldir="/" name="template.spec"/>
+ <file role="php" baseinstalldir="/" name="PEAR.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ <file role="php" baseinstalldir="/" name="System.php">
+ <replace from="@package_version@" to="version" type="package-info"/>
+ </file>
+ </filelist>
+ </release>
+ <changelog>
+ <release>
+ <version>1.4.0</version>
+ <date>2005-09-18</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>This is a major milestone release for PEAR. In addition to several killer features,
+every single element of PEAR has a regression test, and so stability is much higher
+than any previous PEAR release.
+New features in a nutshell:
+* full support for channels
+* pre-download dependency validation
+* new package.xml 2.0 format allows tremendous flexibility while maintaining BC
+* support for optional dependency groups and limited support for sub-packaging
+* robust dependency support
+* full dependency validation on uninstall
+* remote install for hosts with only ftp access - no more problems with
+ restricted host installation
+* full support for mirroring
+* support for bundling several packages into a single tarball
+* support for static dependencies on a url-based package
+* support for custom file roles and installation tasks
+NOTE: users of PEAR_Frontend_Web/PEAR_Frontend_Gtk must upgrade their installations
+to the latest version, or PEAR will not upgrade properly
+ </notes>
+ </release>
+ <release>
+ <version>1.4.1</version>
+ <date>2005-09-25</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>Major bugfix release. This is a recommended download for ALL PEAR users
+
+UPGRADING FROM 1.4.0 WILL CAUSE A SERIES OF NOTICES. IGNORE THEM.
+THIS IS CAUSED BY A BUG IN 1.4.0 THAT IS FIXED IN 1.4.1
+* fix prompt processing in post-install scripts
+* make dual package.xml equivalency stricter when using package.xml/package2.xml
+* fix critical error in validating bogus php dependencies of package.xml 1.0
+ This error has existed for every PEAR version, and allows dependencies like:
+ &lt;dep type=&quot;php&quot; rel=&quot;has&quot;&gt;4.3.0&lt;/dep&gt; to
+ slip through unnoticed
+* re-enable php-const replacements
+* PEAR_PackageFile_v2::getConfigureOptions() was missing!!
+* fix cvsdiff command
+* fix xml encoding issues finally
+* clean up package.xml 1.0 dir/file parsing
+* fix invalid PEAR_Config generation
+* change the user agent from PHP/phpversion to PEAR/pearversion/PHP/phpversion
+* don&apos;t use a bogus uri for licenses on running convert command
+* add &quot;pickle&quot; command for PECL packaging
+* add validation warning if the release date in package.xml is not today when packaging
+* implement progress bar for list-all/remote-list
+* fix Bug #5323: pear search returns odd version numbers
+* fix Bug #5428: pear cvstag package2.xml does not include the package.xml
+* fix Bug #5449: pear makerpm completely broken for package.xml 2.0
+* fix Bug #5462: raiseError method does not return by ref anymore
+* fix Bug #5465: pear install --offline fails to display error
+* fix Bug #5477: Bug in Downloader.php and Dependency2.php
+* fix Bug #5481: &quot;pear install PECLextension&quot; should display warning to use pecl command
+* fix Bug #5482: installation of PECL packages should say add extensions to php.ini
+* fix Bug #5483: pecl uninstall crack fatal error
+* fix Bug #5487: PECL: compiled files are not uninstalled via the uninstall command
+* fix Bug #5488: pecl uninstall package fails if package has a package.xml 1.0
+* fix Bug #5501: the commands list mentions XML-RPC
+* fix Bug #5509: addDependecyGroup does not validate group name
+* fix Bug #5513: PEAR 1.4 does not install non-pear.php.net packages
+ </notes>
+ </release>
+ <release>
+ <version>1.4.2</version>
+ <date>2005-10-08</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>Minor bugfix release
+* fix issues with API for adding tasks to package2.xml
+* fix Bug #5520: pecl pickle fails on pecl pickle fails on extension/package deps
+* fix Bug #5523: pecl pickle misses to put configureoptions into package.xml v1
+* fix Bug #5527: No need for cpp
+* fix Bug #5529: configure options in package.xml 2.0 will be ignored
+* fix Bug #5530: PEAR_PackageFile_v2-&gt;getConfigureOptions() API incompatible with v1
+* fix Bug #5531: adding of installconditions/binarypackage/configure options
+ to extsrc may fail
+* fix Bug #5550: PHP notices/warnings/errors are 1 file off in trace
+* fix Bug #5580: pear makerpm XML_sql2xml-0.3.2.tgz error
+* fix Bug #5619: pear makerpm produces invalid .spec dependancy code
+* fix Bug #5629: pear install http_download dies with bad error message
+ </notes>
+ </release>
+ <release>
+ <version>1.4.3</version>
+ <date>2005-11-03</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>MINOR SECURITY FIX release
+A security vulnerability has been discovered in all
+PEAR versions (1.0 to 1.4.2). This vulnerability has been fixed,
+and this is a recommended upgrade for all users.
+Run &quot;pear channel-update&quot; after upgrading for exponentially
+faster list-all/remote-list!!
+* fix installation of files named like &quot;.test&quot;
+* fix base class for writeable unixeol/windowseol classes
+* fix running of post-install scripts with empty or no paramgroup
+ in CLI frontend
+* fix validation of &lt;postinstallscript&gt;
+* fix writeable PEAR_Task_Postinstallscript_rw class
+* fix error in REST-based search command if searching through description
+ as well
+* silence warning on list-upgrades/upgrade-all if no releases exist at a channel
+* add checks for updated channel.xml in all remote commands
+* fix pecl script if safe_mode is enabled by default
+* implement SERIOUS improvement in list-all/remote-list speed. From 6 minutes
+ down to about 16-30 seconds
+* implement --loose option to avoid recommended version validation
+* implement Request #5527: alternative approach to determining glibc version
+* fix Bug #5717: analyzeSourceCode() fails to process certain
+ quote situations properly
+* fix Bug #5736: if registry can&apos;t lock registry or open filemap,
+ checkFileMap(), no error
+* fix Bug #5676: pear config-create broken
+* fix Bug #5683: Deadlock with (almost) circular dependency
+* fix Bug #5725: PHP5 warnings need improvement
+* fix Bug #5789: small typo
+* fix Bug #5810: internet should not be contacted on install if dependencies are installed
+ </notes>
+ </release>
+ <release>
+ <version>1.4.4</version>
+ <date>2005-11-04</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>* fix Bug #5865: doesn&apos;t work with PHP4.2.x
+ </notes>
+ </release>
+ <release>
+ <version>1.4.5</version>
+ <date>2005-11-21</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>* REALLY fix Bug #5865: doesn&apos;t work with PHP4.2.x
+* fix Bug #5854: if no installconditions match, no error is raised
+* fix Bug #5945: installer should auto-skip to the next channel on timeout
+* fix Bug #5947: Some package-info not handled by PEAR_PackageFile_v2
+* fix Bug #5948: Minor typo in PEAR_Validate
+* fix Bug #5958: strange error on mistyping
+* fix Bug #5959: patch: pear makerpm produces RPMs that do not uninstall/upgrade cleanly
+ </notes>
+ </release>
+ <release>
+ <version>1.4.6</version>
+ <date>2006-01-06</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>Minor bugfix release
+* fix problem with -options when using CGI version of PHP
+* fix Critical Bug #5999: support for baseinstalldir broken in package2.xml format
+* fix Bug #6034: date format bug
+* fix Bug #6040: PEAR_Frontend#setFrontendClass has no docblock;
+ PEAR_Frontend not documented
+* fix Bug #6044: PEAR_REST::retrieveCacheFirst doesn&apos;t return error codes
+* fix Bug #6047: pear makerpm fails to handle docs in root directory
+* fix Bug #6048: PEAR_Frontend::log parameters are wrong
+* fix Bug #6106: Notices by list-upgrades (caused by time-outs ?)
+* fix Bug #6145: Can&apos;t install PEAR with INSTALL_ROOT environment
+* fix Bug #6218: the &quot;pear&quot; command does nothing
+* fix Bug #6269: System::which() returns silliness if passed null
+* fix Bug #6322: Installer fails to follow redirects [patch by Bertrand Gugger]
+* fix Request #6119: Add PEAR_Frontend_Gtk2 support to PEAR
+ </notes>
+ </release>
+ <release>
+ <version>1.4.7</version>
+ <date>2006-02-27</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>Minor bugfix release
+* Prevent packaging of release candidate releases with versions like 1.0.0rc1
+ version_compare() only understands upper-case 1.0.0RC1
+* implement CLEAN section in .phpt tests
+* implement run-tests command for phpunit-based tests
+* implement Request #6039: setFrontendObject needed to allow objects passed
+* fix Bug #6075: unnecessary validation of maintainers can break PEAR_PFM
+* fix Bug #6076: optional is not set for conversion of package2.xml to &quot;has&quot; rel
+* fix Bug #6077: PEAR_PackageFile_Parser_v2 should return by reference
+* fix Bug #6273: pear download-all fails
+* fix Bug #6383: incomplete PEAR::Error message on addReplacement()
+* fix Bug #6445: PEAR::registerShutdownFunc doesn&apos;t work in static calls
+* fix Bug #6480: pear install --installroot option fails for pecl packages [timj]
+* fix Bug #6510: status active of a maintainer cannot be change
+* fix Bug #6537: wrong export compatible v1 dependencies list with exclude limit
+* fix Bug #6559: pear should ignore safemode/open_basedir
+* fix Bug #6576: PFM2 run in trouble with sessions
+* fix Bug #6579: PFM2 changelog and license with uri
+* fix Bug #6673: pear install --offline --packagingroot=/blah does not work
+* fix Bug #6674: --packagingroot always uses channel pear.php.net configuration
+* fix Bug #6675: postinstallscript validation fails
+* fix Bug #6690: channel with / will not allow upgrade
+* fix Bug #6692: Optional feature install message needs channel name
+* fix Bug #6716: &quot;pear install -r&quot; errors after install when
+ attempting &quot;pear list &lt;pkgname&gt;&quot;
+* fix Bug #6735: PEAR_PackageFile::fromTgzFile doesn&apos;t work with package.xml
+ not in root dir
+ </notes>
+ </release>
+ <release>
+ <version>1.4.8</version>
+ <date>2006-03-05</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>CRITICAL BUGFIX RELEASE
+
+Channels with &quot;-&quot; in their name were suddenly invalid, and
+caused crashes in many places due to improper error handling
+* fix Bug #6960: channels are not allowed to have &quot;-&quot; in their name
+* fix critical Bug #6969: PEAR list-upgrades crashes
+* fix Bug #6991: Class &apos;PEAR_PackageFile_v1&apos; not found in Registry.php at line 1657
+* fix Bug #7008: PEAR_Frontend::setFrontendObject doesn&apos;t set the object
+* fix Bug #7015: install a package.tgz with unknown channel, fatal error in PEAR/Registry.php
+* fix Bug #7020: tests/PEAR_Registry/api1_1/test_getChannelValidator.phpt crashes PEAR
+ </notes>
+ </release>
+ <release>
+ <version>1.4.9</version>
+ <date>2006-03-29</date>
+ <license>PHP License</license>
+ <state>stable</state>
+ <notes>CRITICAL BUGFIX RELEASE
+users upgrading from PEAR 1.3.x cannot upgrade to 1.4.8
+users who use --packagingroot may find that installation fails
+* fix Bug #7093: if pear channel does not exist, it cannot be retrieved
+* fix Bug #7165: warnings in pear
+* fix Bug #7075: PEAR_PackageFile_v2 :: setLogger failed on autodetection
+ </notes>
+ </release>
+ <release>
+ <version>1.4.10</version>
+ <date>2006-07-18</date>
+ <license>PHP License</license>
+ <state>beta</state>
+ <notes>bugfix release
+* fix Bug #7579: cannot convert package 1.0 to 2.0 with PFM 1.6.0
+* fix Bug #7640: Check invalid date format
+* fix Bug #7726: &lt;uri&gt; dependency is broken
+* fix Bug #7830: Warning in package-dependencies command when a dir is used
+* fix Bug #7842: package-dependencies wrong type display with package 1.0
+* fix Bug #8230: pear help channel-discover shows wrong text
+* fix many open_basedir issues
+* fix an issue in the better state detection
+* fix typo in pickle command that would allow pickling of non-PECL package.xml
+* implement Request #7090: PEAR_Downloader mustn&apos;t contact pear server
+ when installing local package file
+* implement Request #7844: download_dir and temp_dir configuration option
+* check pearinstaller dependency prior to validating package.xml 2.0
+ </notes>
+ </release>
+ </changelog>
+</package>
+
/**
* PEAR, the PHP Extension and Application Repository
*
@@ -53419,7 +54245,7 @@ class PEAR_ChannelFile_Parser extends PEAR_XMLParser
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Command.php,v 1.36 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: Command.php,v 1.36.2.1 2006/06/16 13:01:59 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -53634,6 +54460,11 @@ class PEAR_Command
if ($dir === null) {
$dir = dirname(__FILE__) . '/Command';
}
+
+ if (!@is_dir($dir)) {
+ return PEAR::raiseError("registerCommands: opendir($dir) '$dir' does not exist or is not a directory");
+ }
+
$dp = @opendir($dir);
if (empty($dp)) {
return PEAR::raiseError("registerCommands: opendir($dir) failed");
@@ -53826,7 +54657,7 @@ class PEAR_Command
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Common.php,v 1.32 2006/03/02 16:39:14 pajoye Exp $
+ * @version CVS: $Id: Common.php,v 1.32.2.1 2006/06/08 22:27:11 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -53884,7 +54715,7 @@ class PEAR_Command_Common extends PEAR
var $_deps_type_trans = array(
'pkg' => 'package',
- 'extension' => 'extension',
+ 'ext' => 'extension',
'php' => 'PHP',
'prog' => 'external program',
'ldlib' => 'external library for linking',
@@ -56259,7 +57090,7 @@ require_once 'phar://install-pear-nozlib.phar/PEAR/PackageFile.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Config.php,v 1.124 2006/03/02 18:14:12 cellog Exp $
+ * @version CVS: $Id: Config.php,v 1.124.2.3 2006/07/15 00:38:27 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -56381,6 +57212,15 @@ if (getenv('PHP_PEAR_TEST_DIR')) {
$PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'tests');
}
+// Default for temp_dir
+if (getenv('PHP_PEAR_TEMP_DIR')) {
+ define('PEAR_CONFIG_DEFAULT_TEMP_DIR', getenv('PHP_PEAR_TEMP_DIR'));
+} else {
+ define('PEAR_CONFIG_DEFAULT_TEMP_DIR',
+ System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' .
+ DIRECTORY_SEPARATOR . 'temp');
+}
+
// Default for cache_dir
if (getenv('PHP_PEAR_CACHE_DIR')) {
define('PEAR_CONFIG_DEFAULT_CACHE_DIR', getenv('PHP_PEAR_CACHE_DIR'));
@@ -56390,6 +57230,15 @@ if (getenv('PHP_PEAR_CACHE_DIR')) {
DIRECTORY_SEPARATOR . 'cache');
}
+// Default for download_dir
+if (getenv('PHP_PEAR_DOWNLOAD_DIR')) {
+ define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR', getenv('PHP_PEAR_DOWNLOAD_DIR'));
+} else {
+ define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR',
+ System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' .
+ DIRECTORY_SEPARATOR . 'download');
+}
+
// Default for php_bin
if (getenv('PHP_PEAR_PHP_BIN')) {
define('PEAR_CONFIG_DEFAULT_PHP_BIN', getenv('PHP_PEAR_PHP_BIN'));
@@ -56655,6 +57504,20 @@ class PEAR_Config extends PEAR
'prompt' => 'PEAR Installer cache directory',
'group' => 'File Locations (Advanced)',
),
+ 'temp_dir' => array(
+ 'type' => 'directory',
+ 'default' => PEAR_CONFIG_DEFAULT_TEMP_DIR,
+ 'doc' => 'directory which is used for all temp files',
+ 'prompt' => 'PEAR Installer temp directory',
+ 'group' => 'File Locations (Advanced)',
+ ),
+ 'download_dir' => array(
+ 'type' => 'directory',
+ 'default' => PEAR_CONFIG_DEFAULT_CACHE_DIR,
+ 'doc' => 'directory which is used for all downloaded files',
+ 'prompt' => 'PEAR Installer download directory',
+ 'group' => 'File Locations (Advanced)',
+ ),
'php_bin' => array(
'type' => 'file',
'default' => PEAR_CONFIG_DEFAULT_PHP_BIN,
@@ -58346,7 +59209,7 @@ require_once 'phar://install-pear-nozlib.phar/PEAR/Validate.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -58834,7 +59697,7 @@ class PEAR_Dependency2
*/
function getPEARVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
function validatePearinstallerDependency($dep)
@@ -59526,7 +60389,7 @@ class PEAR_Dependency2
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: DependencyDB.php,v 1.30 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: DependencyDB.php,v 1.30.2.1 2006/05/25 22:00:05 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -59800,16 +60663,36 @@ class PEAR_DependencyDB
return false;
}
foreach ($this->_cache['dependencies'][$channel][$package] as $info) {
+ if (isset($info['dep']['uri'])) {
+ if (is_object($child)) {
+ if ($info['dep']['uri'] == $child->getURI()) {
+ return true;
+ }
+ } elseif (isset($child['uri'])) {
+ if ($info['dep']['uri'] == $child['uri']) {
+ return true;
+ }
+ }
+ return false;
+ }
if (strtolower($info['dep']['channel']) == strtolower($depchannel) &&
strtolower($info['dep']['name']) == strtolower($deppackage)) {
return true;
}
}
foreach ($this->_cache['dependencies'][$channel][$package] as $info) {
- if ($this->_dependsOn(array(
- 'channel' => $info['dep']['channel'],
- 'package' => $info['dep']['name']), $child, $checked)) {
- return true;
+ if (isset($info['dep']['uri'])) {
+ if ($this->_dependsOn(array(
+ 'uri' => $info['dep']['uri'],
+ 'package' => $info['dep']['name']), $child, $checked)) {
+ return true;
+ }
+ } else {
+ if ($this->_dependsOn(array(
+ 'channel' => $info['dep']['channel'],
+ 'package' => $info['dep']['name']), $child, $checked)) {
+ return true;
+ }
}
}
return false;
@@ -60182,7 +61065,7 @@ class PEAR_DependencyDB
* @author Martin Jansen <mj@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Downloader.php,v 1.99 2006/03/02 18:14:13 cellog Exp $
+ * @version CVS: $Id: Downloader.php,v 1.99.2.2 2006/06/16 12:35:12 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.3.0
*/
@@ -60296,7 +61179,7 @@ class PEAR_Downloader extends PEAR_Common
* @access private
*/
var $_errorStack = array();
-
+
/**
* @var boolean
* @access private
@@ -60457,29 +61340,37 @@ class PEAR_Downloader extends PEAR_Common
$this->pushError('Package "' . $param . '" is not valid',
PEAR_INSTALLER_SKIPPED);
} else {
- if ($params[$i] && !isset($channelschecked[$params[$i]->getChannel()]) &&
- !isset($this->_options['offline'])) {
- $channelschecked[$params[$i]->getChannel()] = true;
- PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
- if (!class_exists('System')) {
- require_once 'phar://install-pear-nozlib.phar/System.php';
- }
- $curchannel = &$this->_registry->getChannel($params[$i]->getChannel());
- if (PEAR::isError($curchannel)) {
- PEAR::staticPopErrorHandling();
- return $this->raiseError($curchannel);
+ do {
+ if ($params[$i] && $params[$i]->getType() == 'local') {
+ // bug #7090
+ // skip channel.xml check for local packages
+ break;
}
- $a = $this->downloadHttp('http://' . $params[$i]->getChannel() .
- '/channel.xml', $this->ui,
- System::mktemp(array('-d')), null, $curchannel->lastModified());
- PEAR::staticPopErrorHandling();
- if (PEAR::isError($a) || !$a) {
- continue;
+ if ($params[$i] && !isset($channelschecked[$params[$i]->getChannel()]) &&
+ !isset($this->_options['offline'])) {
+ $channelschecked[$params[$i]->getChannel()] = true;
+ PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
+ if (!class_exists('System')) {
+ require_once 'phar://install-pear-nozlib.phar/System.php';
+ }
+ $curchannel = &$this->_registry->getChannel($params[$i]->getChannel());
+ if (PEAR::isError($curchannel)) {
+ PEAR::staticPopErrorHandling();
+ return $this->raiseError($curchannel);
+ }
+ $a = $this->downloadHttp('http://' . $params[$i]->getChannel() .
+ '/channel.xml', $this->ui,
+ System::mktemp(array('-t' . $this->getDownloadDir())), null, $curchannel->lastModified());
+
+ PEAR::staticPopErrorHandling();
+ if (PEAR::isError($a) || !$a) {
+ break;
+ }
+ $this->log(0, 'WARNING: channel "' . $params[$i]->getChannel() . '" has ' .
+ 'updated its protocols, use "channel-update ' . $params[$i]->getChannel() .
+ '" to update');
}
- $this->log(0, 'WARNING: channel "' . $params[$i]->getChannel() . '" has ' .
- 'updated its protocols, use "channel-update ' . $params[$i]->getChannel() .
- '" to update');
- }
+ } while (false);
if ($params[$i] && !isset($this->_options['downloadonly'])) {
if (isset($this->_options['packagingroot'])) {
$checkdir = $this->_prependPath(
@@ -61007,33 +61898,62 @@ class PEAR_Downloader extends PEAR_Common
{
$xsdversion = isset($dep['rel']) ? '1.0' : '2.0';
$curchannel = $this->config->get('default_channel');
- if (isset($dep['channel'])) {
- $remotechannel = $dep['channel'];
+ if (isset($dep['uri'])) {
+ $xsdversion = '2.0';
+ $chan = &$this->_registry->getChannel('__uri');
+ if (PEAR::isError($chan)) {
+ return $chan;
+ }
+ $version = $this->_registry->packageInfo($dep['name'], 'version', '__uri');
+ $this->configSet('default_channel', '__uri');
} else {
- $remotechannel = 'pear.php.net';
- }
- if (!$this->_registry->channelExists($remotechannel)) {
- do {
- if ($this->config->get('auto_discover')) {
- if ($this->discover($remotechannel)) {
- break;
+ if (isset($dep['channel'])) {
+ $remotechannel = $dep['channel'];
+ } else {
+ $remotechannel = 'pear.php.net';
+ }
+ if (!$this->_registry->channelExists($remotechannel)) {
+ do {
+ if ($this->config->get('auto_discover')) {
+ if ($this->discover($remotechannel)) {
+ break;
+ }
}
- }
- return PEAR::raiseError('Unknown remote channel: ' . $remotechannel);
- } while (false);
+ return PEAR::raiseError('Unknown remote channel: ' . $remotechannel);
+ } while (false);
+ }
+ $chan = &$this->_registry->getChannel($remotechannel);
+ if (PEAR::isError($chan)) {
+ return $chan;
+ }
+ $version = $this->_registry->packageInfo($dep['name'], 'version',
+ $remotechannel);
+ $this->configSet('default_channel', $remotechannel);
}
- $this->configSet('default_channel', $remotechannel);
$state = isset($parr['state']) ? $parr['state'] : $this->config->get('preferred_state');
if (isset($parr['state']) && isset($parr['version'])) {
unset($parr['state']);
}
- $chan = &$this->_registry->getChannel($remotechannel);
- if (PEAR::isError($chan)) {
- return $chan;
- }
- $version = $this->_registry->packageInfo($dep['name'], 'version',
- $remotechannel);
- if ($chan->supportsREST($this->config->get('preferred_mirror')) &&
+ if (isset($dep['uri'])) {
+ $info = &$this->newDownloaderPackage($this);
+ PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
+ $err = $info->initialize($dep);
+ PEAR::staticPopErrorHandling();
+ if (!$err) {
+ // skip parameters that were missed by preferred_state
+ return PEAR::raiseError('Cannot initialize dependency');
+ }
+ if (PEAR::isError($err)) {
+ if (!isset($this->_options['soft'])) {
+ $this->log(0, $err->getMessage());
+ }
+ if (is_object($info)) {
+ $param = $info->getChannel() . '/' . $info->getPackage();
+ }
+ return PEAR::raiseError('Package "' . $param . '" is not valid');
+ }
+ return $info;
+ } elseif ($chan->supportsREST($this->config->get('preferred_mirror')) &&
$base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) {
$rest = &$this->config->getREST('1.0', $this->_options);
$url = $rest->getDepDownloadURL($base, $xsdversion, $dep, $parr,
@@ -61090,7 +62010,7 @@ class PEAR_Downloader extends PEAR_Common
} else {
$url = $this->_remote->call('package.getDepDownloadURL', $xsdversion, $dep, $parr, $state);
}
- if ($parr['channel'] != $curchannel) {
+ if ($this->config->get('default_channel') != $curchannel) {
$this->configSet('default_channel', $curchannel);
}
if (!is_array($url)) {
@@ -61248,7 +62168,7 @@ class PEAR_Downloader extends PEAR_Common
*/
function sortPkgDeps(&$packages, $uninstall = false)
{
- $uninstall ?
+ $uninstall ?
$this->sortPackagesForUninstall($packages) :
$this->sortPackagesForInstall($packages);
}
@@ -61491,7 +62411,7 @@ class PEAR_Downloader extends PEAR_Common
$config = &PEAR_Config::singleton();
}
$proxy_host = $proxy_port = $proxy_user = $proxy_pass = '';
- if ($config->get('http_proxy')&&
+ if ($config->get('http_proxy')&&
$proxy = parse_url($config->get('http_proxy'))) {
$proxy_host = @$proxy['host'];
if (isset($proxy['scheme']) && $proxy['scheme'] == 'https') {
@@ -61689,7 +62609,7 @@ class PEAR_Downloader extends PEAR_Common
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Package.php,v 1.91 2006/01/23 19:05:52 cellog Exp $
+ * @version CVS: $Id: Package.php,v 1.91.2.1 2006/05/25 22:00:05 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -61723,7 +62643,7 @@ define('PEAR_DOWNLOADER_PACKAGE_STATE', -1003);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -62684,8 +63604,10 @@ class PEAR_Downloader_Package
}
} else {
if (isset($param['uri'])) {
- $param['channel'] = '__uri';
- $param['package'] = $param['dep']['name'];
+ if ($this->getChannel() != '__uri') {
+ return false;
+ }
+ return $param['uri'] == $this->getURI();
}
$package = isset($param['package']) ? $param['package'] :
$param['info']->getPackage();
@@ -67550,7 +68472,7 @@ class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {}
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: PackageFile.php,v 1.33 2006/02/09 22:39:32 cellog Exp $
+ * @version CVS: $Id: PackageFile.php,v 1.33.2.1 2006/06/08 00:04:13 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -67576,7 +68498,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2);
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -67939,6 +68861,11 @@ class PEAR_PackageFile
*/
function &fromAnyFile($info, $state)
{
+ if (is_dir($info)) {
+ $info = PEAR::raiseError("'$info' is a directory, a file is expected");
+ return $info;
+ }
+
$fp = false;
if (is_string($info) && strlen($info) < 255 &&
(file_exists($info) || ($fp = @fopen($info, 'r')))) {
@@ -67968,7 +68895,8 @@ class PEAR_PackageFile
}
}
-?><?php
+?>
+<?php
/**
* package.xml generation class, package.xml version 1.0
*
@@ -67985,7 +68913,7 @@ class PEAR_PackageFile
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: v1.php,v 1.70 2006/01/06 04:47:37 cellog Exp $
+ * @version CVS: $Id: v1.php,v 1.70.2.1 2006/05/10 02:55:06 cellog Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -68005,7 +68933,7 @@ require_once 'phar://install-pear-nozlib.phar/PEAR/PackageFile/v2.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -68022,7 +68950,7 @@ class PEAR_PackageFile_Generator_v1
function getPackagerVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
/**
@@ -68176,7 +69104,7 @@ class PEAR_PackageFile_Generator_v1
);
$ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n";
- $ret .= "<package version=\"1.0\" packagerversion=\"1.4.9\">\n" .
+ $ret .= "<package version=\"1.0\" packagerversion=\"1.4.11\">\n" .
" <name>$pkginfo[package]</name>";
if (isset($pkginfo['extends'])) {
$ret .= "\n<extends>$pkginfo[extends]</extends>";
@@ -68650,7 +69578,9 @@ class PEAR_PackageFile_Generator_v1
}
$ret = new $class;
$ret->setConfig($this->_packagefile->_config);
- $ret->setLogger($this->_packagefile->_logger);
+ if (isset($this->_packagefile->_logger) && is_object($this->_packagefile->_logger)) {
+ $ret->setLogger($this->_packagefile->_logger);
+ }
$ret->fromArray($arr);
return $ret;
}
@@ -69271,7 +70201,7 @@ require_once 'phar://install-pear-nozlib.phar/System.php';
* @author Stephan Schmidt (original XML_Serializer code)
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
@@ -69350,7 +70280,7 @@ http://pear.php.net/dtd/package-2.0.xsd',
*/
function getPackagerVersion()
{
- return '1.4.9';
+ return '1.4.11';
}
/**
@@ -69594,7 +70524,7 @@ http://pear.php.net/dtd/package-2.0.xsd',
}
$this->options['beautifyFilelist'] = true;
}
- $arr['attribs']['packagerversion'] = '1.4.9';
+ $arr['attribs']['packagerversion'] = '1.4.11';
if ($this->serialize($arr, $options)) {
return $this->_serializedData . "\n";
}
@@ -74979,7 +75909,7 @@ require_once 'phar://install-pear-nozlib.phar/PEAR/PackageFile/v2.php';
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.4.9
+ * @version Release: 1.4.11
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a8
*/
@@ -76523,7 +77453,7 @@ class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2
// | |
// +----------------------------------------------------------------------+
//
-// $Id: Validator.php,v 1.86 2006/03/02 18:14:13 cellog Exp $
+// $Id: Validator.php,v 1.86.2.1 2006/05/10 02:55:06 cellog Exp $
/**
* Private validation class used by PEAR_PackageFile_v2 - do not use directly, its
* sole purpose is to split up the PEAR/PackageFile/v2.php file to make it smaller
@@ -76609,6 +77539,15 @@ class PEAR_PackageFile_v2_Validator
'*changelog',
);
$test = $this->_packageInfo;
+ if (isset($test['dependencies']) &&
+ isset($test['dependencies']['required']) &&
+ isset($test['dependencies']['required']['pearinstaller']) &&
+ isset($test['dependencies']['required']['pearinstaller']['min']) &&
+ version_compare('1.4.11',
+ $test['dependencies']['required']['pearinstaller']['min'], '<')) {
+ $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']);
+ return false;
+ }
// ignore post-installation array fields
if (array_key_exists('filelist', $test)) {
unset($test['filelist']);
@@ -77776,6 +78715,14 @@ class PEAR_PackageFile_v2_Validator
return in_array($role, PEAR_Installer_Role::getValidRoles($this->_pf->getPackageType()));
}
+ function _pearVersionTooLow($version)
+ {
+ $this->_stack->push(__FUNCTION__, 'error',
+ array('version' => $version),
+ 'This package.xml requires PEAR version %version% to parse properly, we are ' .
+ 'version 1.4.11');
+ }
+
function _invalidTagOrder($oktags, $actual, $root)
{
$this->_stack->push(__FUNCTION__, 'error',
@@ -83445,7 +84392,7 @@ class PEAR_Task_Windowseol_rw extends PEAR_Task_Windowseol
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Validate.php,v 1.46 2006/01/23 17:16:35 cellog Exp $
+ * @version CVS: $Id: Validate.php,v 1.46.2.3 2006/07/17 17:49:37 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
@@ -83875,17 +84822,16 @@ class PEAR_Validate
{
if ($this->_state == PEAR_VALIDATE_NORMAL ||
$this->_state == PEAR_VALIDATE_PACKAGING) {
- if (!preg_match('/\d\d\d\d\-\d\d\-\d\d/',
- $this->_packagexml->getDate())) {
- $this->_addFailure('date', 'invalid release date "' .
- $this->_packagexml->getDate() . '"');
- return false;
- }
- if (strtotime($this->_packagexml->getDate()) == -1) {
+ if (!preg_match('/(\d\d\d\d)\-(\d\d)\-(\d\d)/',
+ $this->_packagexml->getDate(), $res) ||
+ count($res) < 4
+ || !checkdate($res[2], $res[3], $res[1])
+ ) {
$this->_addFailure('date', 'invalid release date "' .
$this->_packagexml->getDate() . '"');
return false;
}
+
if ($this->_state == PEAR_VALIDATE_PACKAGING &&
$this->_packagexml->getDate() != date('Y-m-d')) {
$this->_addWarning('date', 'Release Date "' .
@@ -84058,7 +85004,8 @@ class PEAR_Validate
return true;
}
}
-?><?php
+?>
+<?php
/**
* Channel Validator for the pecl.php.net channel
*
@@ -84396,7 +85343,7 @@ class PEAR_XMLParser
* @author Tomas V.V.Cox <cox@idecnet.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: System.php,v 1.53 2006/01/06 04:47:36 cellog Exp $
+ * @version CVS: $Id: System.php,v 1.53.2.1 2006/06/16 13:55:16 pajoye Exp $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -84872,7 +85819,7 @@ class System
foreach ($exe_suffixes as $suff) {
foreach ($path_elements as $dir) {
$file = $dir . DIRECTORY_SEPARATOR . $program . $suff;
- if ($pear_is_executable($file)) {
+ if (@$pear_is_executable($file)) {
return $file;
}
}