cvs: php4 / configure.in /pear Makefile.in /pear/scripts phptar.in

From: Date: Sun, 19 Aug 2001 00:34:08 +0000
Subject: cvs: php4 / configure.in /pear Makefile.in /pear/scripts phptar.in
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-571@lists.php.net to get a copy of this message
ssb Sat Aug 18 20:34:08 2001 EDT Added files: /php4/pear/scripts phptar.in Modified files: /php4 configure.in /php4/pear Makefile.in Log: Added "phptar" command as proof that the Archive_Tar class works. # Great work, Vincent! Index: php4/configure.in diff -u php4/configure.in:1.270 php4/configure.in:1.271 --- php4/configure.in:1.270 Sat Aug 18 14:14:22 2001 +++ php4/configure.in Sat Aug 18 20:34:07 2001 @@ -1,4 +1,4 @@ -dnl ## $Id: configure.in,v 1.270 2001/08/18 18:14:22 sniper Exp $ -*- sh -*- +dnl ## $Id: configure.in,v 1.271 2001/08/19 00:34:07 ssb Exp $ -*- sh -*- dnl ## Process this file with autoconf to produce a configure script. divert(1) @@ -923,7 +923,7 @@ $php_shtool mkdir -p pear/scripts ALL_OUTPUT_FILES="php4.spec Zend/Makefile main/build-defs.h \ pear/scripts/pear pear/scripts/phpize pear/scripts/php-config \ -pear/scripts/pearize TSRM/Makefile $PHP_OUTPUT_FILES" +pear/scripts/pearize pear/scripts/phptar TSRM/Makefile $PHP_OUTPUT_FILES" AC_OUTPUT($ALL_OUTPUT_FILES, [], [ Index: php4/pear/Makefile.in diff -u php4/pear/Makefile.in:1.84 php4/pear/Makefile.in:1.85 --- php4/pear/Makefile.in:1.84 Fri Aug 17 04:51:09 2001 +++ php4/pear/Makefile.in Sat Aug 18 20:34:08 2001 @@ -138,7 +138,7 @@ dynlib.m4 \ acinclude.m4 -bin_SCRIPTS = phpize php-config pear pearize +bin_SCRIPTS = phpize php-config pear pearize phptar install-build: $(mkinstalldirs) $(INSTALL_ROOT)$(phpbuilddir) $(INSTALL_ROOT)$(bindir) && \ @@ -182,6 +182,9 @@ scripts/phpize: scripts/phpize.in $(top_builddir)/config.status (cd ..;CONFIG_FILES=pear/scripts/phpize CONFIG_HEADERS= $(top_builddir)/config.status) + +scripts/phptar: scripts/phptar.in $(top_builddir)/config.status + (cd ..;CONFIG_FILES=pear/scripts/phptar CONFIG_HEADERS= $(top_builddir)/config.status) scripts/pearize: scripts/pearize.in $(top_builddir)/config.status (cd ..;CONFIG_FILES=pear/scripts/pearize CONFIG_HEADERS= $(top_builddir)/config.status) Index: php4/pear/scripts/phptar.in +++ php4/pear/scripts/phptar.in #!@prefix@/bin/php -Cq <?php // -*- PHP -*- // {{{ setup define('S_IFDIR', 0040000); // Directory define('S_IFCHR', 0020000); // Character device define('S_IFBLK', 0060000); // Block device define('S_IFREG', 0100000); // Regular file define('S_IFIFO', 0010000); // FIFO define('S_IFLNK', 0120000); // Symbolic link define('S_IFSOCK', 0140000); // Socket require_once "PEAR.php"; require_once "Experimental/Archive/Tar.php"; require_once "Console/Getopt.php"; // }}} // {{{ options $verbose = false; $op_create = false; $op_list = false; $op_extract = false; $use_gzip = false; $file = ''; $progname = basename(array_shift($argv)); $options = Console_Getopt::getopt($argv, "h?ctxvzf:"); if (PEAR::isError($options)) { usage($options); } $opts = $options[0]; foreach ($opts as $opt) { switch ($opt[0]) { case 'v': { $verbose = true; break; } case 'c': { $op_create = true; break; } case 't': { $op_list = true; break; } case 'x': { $op_extract = true; break; } case 'z': { $use_gzip = true; break; } case 'f': { $file = $opt[1]; break; } case 'h': case '?': { usage(); break; } } } if ($op_create + $op_list + $op_extract > 1) { usage("Only one of -c, -t and -x can be specified at once!"); } if ($op_create + $op_list + $op_extract == 0) { usage("Please specify either -c, -t or -x!"); } if (empty($file)) { if ($op_create) { $file = "php://stdout"; } else { $file = "php://stdin"; } } // }}} $tar = new Archive_Tar($file, $use_gzip); $tar->setErrorHandling(PEAR_ERROR_DIE, "$progname error: %s\n"); if ($op_create) { do_create($tar, $options[1]); $tar->create($options[1]); } elseif ($op_list) { do_list($tar, $verbose); } elseif ($op_extract) { do_extract($tar); } // {{{ getrwx() function getrwx($bits) { $str = ''; $str .= ($bits & 4) ? 'r' : '-'; $str .= ($bits & 2) ? 'w' : '-'; $str .= ($bits & 1) ? 'x' : '-'; return $str; } // }}} // {{{ getfiletype() function getfiletype($bits) { static $map = array( '-' => S_IFREG, 'd' => S_IFDIR, 'l' => S_IFLNK, 'c' => S_IFCHR, 'b' => S_IFBLK, 'p' => S_IFIFO, 's' => S_IFSOCK, ); foreach ($map as $char => $mask) { if ($bits & $mask) { return $char; } } } // }}} // {{{ getuser() function getuser($uid) { static $cache = array(); if (isset($cache[$uid])) { return $cache[$uid]; } if (function_exists("posix_getpwuid")) { if (is_array($user = @posix_getpwuid($uid))) { $cache[$uid] = $user['name']; return $user['name']; } } $cache[$uid] = $uid; return $uid; } // }}} // {{{ getgroup() function getgroup($gid) { static $cache = array(); if (isset($cache[$gid])) { return $cache[$gid]; } if (function_exists("posix_getgrgid")) { if (is_array($group = @posix_getgrgid($gid))) { $cache[$gid] = $group['name']; return $group['name']; } } $cache[$gid] = $gid; return $gid; } // }}} // {{{ do_create() function do_create(&$tar, &$files) { $tar->create($files); } // }}} // {{{ do_list() function do_list(&$tar, $verbose) { static $rwx = array(4 => 'r', 2 => 'w', 1 => 'x'); $files = $tar->listContent(); if (is_array($files) && sizeof($files) > 0) { foreach ($files as $file) { if ($verbose) { $fm = (int)$file['mode']; $mode = sprintf('%s%s%s%s', getfiletype($fm), getrwx(($fm >> 6) & 7), getrwx(($fm >> 3) & 7), getrwx($fm & 7)); $owner = getuser($file['uid']) . '/' . getgroup($file['gid']); printf("%10s %-11s %7d %s %s\n", $mode, $owner, $file['size'], date('Y-m-d H:i:s', $file['mtime']), $file['filename']); } else { printf("%s\n", $file['filename']); } } } } // }}} // {{{ do_extract() function do_extract(&$tar, $destdir = ".") { $tar->extract($destdir); } // }}} // {{{ usage() function usage($errormsg = '') { global $progname; $fp = fopen("php://stderr", "w"); if ($errormsg) { if (PEAR::isError($errormsg)) { fwrite($fp, $errormsg->getMessage() . "\n"); } else { fwrite($fp, "$errormsg\n"); } } fwrite($fp, "$progname [-h|-?] {-c|-t|-x} [-z] [-v] [-f file] [file(s)...] Options: -h, -? Show this screen -c Create archive -t List archive -x Extract archive -z Run input/output through gzip -f file Use <file> as input or output (default is stdin/stdout) "); fclose($fp); exit; } // }}} ?>

« previous php.pear.cvs (#571) next »