gwynne Sat Nov 8 20:21:14 2008 UTC Modified files: /SVNROOT run-conversion.php Log: functionalize running commands, code formatting, special-case php-src to copy TSRM/ZendEngine2, make systems repo
http://cvs.php.net/viewvc.cgi/SVNROOT/run-conversion.php?r1=1.20&r2=1.21&diff_format=u Index: SVNROOT/run-conversion.php diff -u SVNROOT/run-conversion.php:1.20 SVNROOT/run-conversion.php:1.21 --- SVNROOT/run-conversion.php:1.20 Sat Nov 8 06:07:24 2008 +++ SVNROOT/run-conversion.php Sat Nov 8 20:21:14 2008 @@ -6,7 +6,7 @@ // ----------------------------------------------------------------------------------------------------------------------------- // Constants -$version = substr('$Revision: 1.20 $', strlen('$Revision: '), -2); +$version = substr('$Revision: 1.21 $', strlen('$Revision: '), -2); $passes = array( 'processcvs', // Process CVS modules @@ -57,6 +57,17 @@ return array_filter($results, 'scandir_is_meta'); } +function run_command($command) +{ + v(2, "Running '{$command}'..."); + exec($command, $output, $exitstatus); + if ($exitstatus != 0) { + error("\nAn error occurred. Exit status was {$exitstatus}. Output:\n" . implode("\n", $output) . "\n"); + } + v(2, " done.\n"); + return $output; +} + // ----------------------------------------------------------------------------------------------------------------------------- // Commandline options $cmdline_parser = new Console_CommandLine(array( @@ -163,7 +174,8 @@ $modprefix = $moduleName . '/'; foreach(scandir_no_meta($cvspath) as $module) { if (!is_dir($cvspath . $module) || - count(scandir($cvspath . $module)) == 2 || $module == 'Attic' || ($moduleName == 'pecl' && $module == 'libextractor') || + count(scandir($cvspath . $module)) == 2 || $module == 'Attic' || + ($moduleName == 'pecl' && $module == 'libextractor') || ($moduleName == 'pear' && in_array($module, array('HTML_QuickForm_ComboBox', 'Services_Compete', 'XML_HTMLSax3')))) { continue; // empty dir } @@ -180,6 +192,22 @@ EOEXTRA; } } else { + if ($moduleName == 'php-src') { + // We special-case php-src so we can move TSRM and ZendEngine2 into it easily. Ugh. + $command = 'exec cp -Rpv ' . escapeshellarg($GLOBALS['options']['cvsroot'] . DIRECTORY_SEPARATOR . 'php-src') . + escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'php-src') . + ' > ' . escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'cp-output'); + run_command($command); + $command = 'exec cp -Rpv ' . escapeshellarg($GLOBALS['options']['cvsroot'] . DIRECTORY_SEPARATOR . 'ZendEngine2') . + escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'php-src/') . + ' >> ' . escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'cp-output'); + run_command($command); + $command = 'exec cp -Rpv ' . escapeshellarg($GLOBALS['options']['cvsroot'] . DIRECTORY_SEPARATOR . 'TSRM') . + escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'php-src/') . + ' >> ' . escapeshellarg($GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'cp-output'); + run_command($command); + $cvspath = $GLOBALS['temp_path'] . DIRECTORY_SEPARATOR . 'php-src'; + } $this->optionsFileContents .= <<<EOEXTRA run_options.add_project( '{$cvspath}', @@ -273,12 +301,7 @@ } $command = "exec svnadmin create " . escapeshellarg($this->svnRepositoryPath) . " 2>&1"; v(1, "Creating SVN repository for '{$this->repositoryName}' in {$this->svnRepositoryPath}...\n"); - v(2, "Running: '{$command}'..."); - exec($command, $output, $exitstatus); - if ($exitstatus != 0) { - error("\nAn error occurred. Exit status was {$exitstatus}. Output:\n" . implode("\n", $output) . "\n", $exitstatus); - } - v(2, " done.\n"); + run_command($command); } public function importCVSModules() @@ -287,7 +310,7 @@ error("SVN repository at {$this->svnRepositoryPath} doesn't exist or isn't writable.\n"); } - if (trim(system('svnlook youngest ' . escapeshellarg($this->svnRepositoryPath))) != 0) { + if (trim(end(run_command('svnlook youngest ' . escapeshellarg($this->svnRepositoryPath)))) != 0) { return; // Repo isn't empty } @@ -303,13 +326,7 @@ private function executeSVNCommand($cmd) { $realCommand = "exec svn {$cmd} 2>&1"; - v(2, "Running: '{$realCommand}'..."); - exec($realCommand, $output, $exitstatus); - if ($exitstatus != 0) { - error("\nAn error occurred. Exit status was {$exitstatus}. Output:\n" . implode("\n", $output) . "\n", $exitstatus); - } - v(2, " done.\n"); - return $output; + return run_command($realCommand); } private function mkdirPath($path, $message) @@ -394,7 +411,7 @@ $repoList['phd'] = new Repository('phd'); $repoList['pear1'] = new Repository('pear'); $repoList['gd'] = new Repository('gd'); - // $repoList['other'] = new Repository('other'); + $repoList['systems'] = new Repository('systems'); $cvs_modules = scandir_no_meta($options['cvsroot']); foreach ($cvs_modules as $cvs_module) { @@ -406,11 +423,14 @@ continue; } if (in_array($cvs_module, array('smarty', 'smarty-web', 'php4.fubar', 'php4.unused', 'peardoc.backup', 'php3', 'phpfi', 'livedocs', - 'Zend', 'functable', 'dialin', 'docstuff', 'jpgraph', 'phpoc_de', 'phpdoc-fa_IR', 'lxr', 'portal', 'pres', 'embed', 'imapd', 'SVNROOT'))) { + 'Zend', 'functable', 'dialin', 'docstuff', 'jpgraph', 'phpoc_de', 'phpdoc-fa_IR', 'lxr', 'portal', 'pres', 'embed', 'imapd', + 'ZendEngine2', 'TSRM'))) { continue; + } else if (in_array($cvs_module, array('systems', 'SVNROOT'))) { + $repoList['systems']->addCVSModule($cvs_module); } else if (in_array($cvs_module, array('php-gtk', 'php-gtk-doc', 'old-php-gtk-modules'))) { $repoList['gtk']->addCVSModule($cvs_module); - } else if (in_array($cvs_module, array('TSRM', 'ZendAPI', 'ZendEngine2', 'php-src', 'pecl', 'pecl4win', 'php-objc', 'php-lang', + } else if (in_array($cvs_module, array('ZendAPI', 'php-src', 'pecl', 'pecl4win', 'php-objc', 'php-lang', 'win-installer', 'bindlib_w32', 'zlib', 'pdo-specs', 'php-internals-win', 'fastcgi-isapi'))) { $repoList['src']->addCVSModule($cvs_module, $cvs_module == 'pecl'); } else if ($cvs_module == 'phd') { @@ -419,12 +439,10 @@ $repoList['gd']->addCVSModule($cvs_module); } else if (in_array($cvs_module, array('pear', 'pearbot', 'pear-core', 'peardoc'))) { $repoList['pear1']->addCVSModule($cvs_module, $cvs_module == 'pear'); - } else if (substr($cvs_module, -3) == "web" || in_array($cvs_module, array('pres2', 'presentations', 'bugtracker', 'systems'))) { + } else if (substr($cvs_module, -3) == "web" || in_array($cvs_module, array('pres2', 'presentations', 'bugtracker'))) { $repoList['web']->addCVSModule($cvs_module); } else if (strncmp($cvs_module, "phpdoc", 6) == 0) { $repoList['doc']->addCVSModule($cvs_module); - } else { - // $repoList['other']->addCVSModule($cvs_module); } } @@ -521,12 +539,7 @@ } if (!file_exists($GLOBALS['options']['svnroot'] . DIRECTORY_SEPARATOR . 'svn.users')) { $command = 'htpasswd -bcm ' . escapeshellarg($GLOBALS['options']['svnroot'] . DIRECTORY_SEPARATOR . 'svn.users') . ' svnread svnread'; - v(2, "Executing '{$command}'..."); - exec($command, $output, $exitstatus); - if ($exitstatus != 0) { - error("\nAn error occurred. Exit status was {$exitstatus}. Output:\n" . implode("\n", $output) . "\n"); - } - v(2, " done.\n"); + run_command($command); } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php