All pastes #955028 Raw Edit

Something

public text v1 · immutable
#955028 ·published 2008-03-24 08:53 UTC
rendered paste body
<?php
/**
 * Generates package.xml for use with the PEAR installer
 *
 * After generation the package.xml do the following:
 *
 * $ pear package package.xml
 *
 * and you got yourself a PEAR package :)
 *
 * PHP version 5
 *
 * @category Application
 * @package  SkipCheckIn
 * @author   Lars Olesen <lars@legestue.net>
 * @license  Creative Commons Attribution-Share Alike 3.0 License
 * @version  @package-version@
 * @see      http://cvs.php.net/viewvc.cgi/pearweb/package.php?revision=1.136&view=markup
 */

$version   = '0.2.0';
$stability = 'alpha';
$notes     = '
* Bugfix release
';

$web_files = array(
    'index.php',
    'intraface.common.php',
    'mail_queue.php',
    'server.php',
    'skipcheckin.css',
    'graphics/background.gif',
    'graphics/box_gradient.gif',
    'graphics/calendar.png',
    'graphics/header.jpg',
    'graphics/skyscraper.png',
    'file/index.php',
    'robots.txt',
    'javascript/skipcheckin.js',
    'javascript/add_passenger_field.js',
    'javascript/show_return_date.js',
    'javascript/window_on_load.js',
    'javascript/airfields.js',
    'javascript/secondary_destination.js',
    'javascript/jscalendar/calendar_stripped.js',
    'javascript/jscalendar/calendar.js',
    'javascript/jscalendar/calendar-skipcheckin.css',
    'javascript/jscalendar/img.gif',
    'javascript/jscalendar/menuarrow2.gif',
    'javascript/jscalendar/menuarrow.gif',
    'javascript/jscalendar/lang/calendar-en.js',
    'javascript/jscalendar/skins/aqua/active-bg.gif',
    'javascript/jscalendar/skins/aqua/dark-bg.gif',
    'javascript/jscalendar/skins/aqua/hover-bg.gif',
    'javascript/jscalendar/skins/aqua/menuarrow.gif',
    'javascript/jscalendar/skins/aqua/normal-bg.gif',
    'javascript/jscalendar/skins/aqua/rowhover-bg.gif',
    'javascript/jscalendar/skins/aqua/status-bg.gif',
    'javascript/jscalendar/skins/aqua/theme.css',
    'javascript/jscalendar/skins/aqua/title-bg.gif',
    'javascript/jscalendar/skins/aqua/today-bg.gif');

error_reporting(E_ALL);
require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$pfm = new PEAR_PackageFileManager2();
$pfm->setOptions(array(
        'baseinstalldir'    => '/',
        'filelistgenerator' => 'file',
        'packagedirectory'  => dirname(__FILE__),
        'packagefile'       => 'package.xml',
        'ignore'            => array(
            'generate_package_xml.php',
            '*.tgz',
            '.project',
            // is in subdirs but that wont work
            'generate_database_xml.php',
            'config.skipcheckin.php',
            'rights.skipcheckin.php',
            'Thumbs.db',
            'setup.php'
        ),
        'exceptions'        => array(
            'skipcheckin.php' => 'php',
            'web/sql/skipcheckin_schema.xml' => 'data'
        ),
        'simpleoutput'      => true,
        'dir_roles' => array(
            'web' => 'web',
            'src' => 'php',
            'sql' => 'data'
        )
    ));

$pfm->setPackage('SkipCheckIn');
$pfm->setSummary('SkipCheckIn is a web application for posting and reserving flights.');
$pfm->setDescription('SkipCheckIn is a web application for posting and resering flights.');
$pfm->setUri('http://localhost/');
$pfm->setLicense('Creative Commons Attribution-Share Alike 3.0 License', 'http://creativecommons.org/licenses/by-sa/3.0/legalcode');
$pfm->addMaintainer('lead', 'lsolesen', 'Lars Olesen', 'lars@legestue.net');

$pfm->setPackageType('php');
$pfm->setAPIVersion($version);
$pfm->setReleaseVersion($version);
$pfm->setAPIStability($stability);
$pfm->setReleaseStability($stability);
$pfm->setNotes($notes);
$pfm->addRelease();

$pfm->resetUsesRole();
$pfm->addUsesRole('web', 'Role_Web', 'pearified.com');
$pfm->addPackageDepWithChannel('required', 'Role_Web', 'pearified.com', '1.1.1');

$pfm->clearDeps();
$pfm->setPhpDep('5.1.2');
$pfm->setPearinstallerDep('1.5.0');
$pfm->addPackageDepWithChannel('required', 'LiveUser', 'pear.php.net', '0.16.12');
$pfm->addPackageDepWithChannel('required', 'LiveUser_Admin', 'pear.php.net', '0.3.9');
$pfm->addPackageDepWithChannel('required', 'HTML_QuickForm', 'pear.php.net', '3.2.7');
$pfm->addPackageDepWithChannel('required', 'HTML_QuickForm_advmultiselect', 'pear.php.net', '1.3.1');
$pfm->addPackageDepWithChannel('required', 'HTML_Table', 'pear.php.net', '1.7.5');
$pfm->addPackageDepWithChannel('required', 'HTML_Ajax', 'pear.php.net', '0.5.0');
$pfm->addPackageDepWithChannel('required', 'Date', 'pear.php.net', '1.4.7');
$pfm->addPackageDepWithChannel('required', 'MDB2', 'pear.php.net', '2.3.0');
$pfm->addPackageDepWithChannel('required', 'MDB2_Driver_mysql', 'pear.php.net', '1.3.0');
$pfm->addPackageDepWithChannel('required', 'MDB2_Schema', 'pear.php.net', '0.7.1');
$pfm->addPackageDepWithChannel('required', 'Log', 'pear.php.net', '1.9.10');
$pfm->addPackageDepWithChannel('required', 'Cache_Lite', 'pear.php.net', '1.7.2');
$pfm->addPackageDepWithChannel('required', 'Config', 'pear.php.net', '1.10.9');
$pfm->addPackageDepWithChannel('required', 'Savant3', 'savant.pearified.com', '3.0.0');
$pfm->addPackageDepWithChannel('required', 'Structures_DataGrid', 'pear.php.net', '0.8.2');
$pfm->addPackageDepWithChannel('required', 'Structures_DataGrid_DataSource_MDB2', 'pear.php.net', '0.1.8');
$pfm->addPackageDepWithChannel('required', 'Structures_DataGrid_Renderer_HTMLTable', 'pear.php.net', '0.1.1');
$pfm->addPackageDepWithChannel('required', 'Mail', 'pear.php.net', '1.1.14');
$pfm->addPackageDepWithChannel('required', 'Mail_Queue', 'pear.php.net', '1.2.1');
$pfm->addPackageDepWithChannel('required', 'Config', 'pear.php.net', '1.0.0');
$pfm->addPackageDepWithChannel('required', 'Ilib_FileHandler', 'public.intraface.dk', '0.1.1');
$pfm->addPackageDepWithChannel('required', 'Ilib_Structures_Phone_CountryPrefix', 'public.intraface.dk', '0.1.0');

$post_install_script = $pfm->initPostinstallScript('skipcheckin.php');
$post_install_script->addParamGroup('setup',
    array($post_install_script->getParam('driver', 'Driver', 'string', 'mysql'),
          $post_install_script->getParam('user', 'User', 'string', 'root'),
          $post_install_script->getParam('password', 'Password', 'string', ''),
          $post_install_script->getParam('host', 'Host', 'string', 'localhost'),
          $post_install_script->getParam('database', 'Database', 'string', 'test'),
          $post_install_script->getParam('administrator_email', 'Administrator e-mail', 'string', ''),
          $post_install_script->getParam('path_upload', 'Path for file upload', 'string', ''),
          $post_install_script->getParam('path_www', 'Path for document root', 'string', ''),
          $post_install_script->getParam('databaseModify', 'Modify database', 'string', 'yes'),
          $post_install_script->getParam('rightsCreate', 'Create rights', 'string', 'yes'),
          $post_install_script->getParam('importAirfields', 'Import airfields', 'string', 'yes'),

    ),
    'Setup');

$pfm->addPostInstallTask($post_install_script, 'skipcheckin.php');

$pfm->addGlobalReplacement('package-info', '@package-version@', 'version');
$pfm->addReplacement('skipcheckin.php', 'pear-config', '@php-dir@', 'php_dir');
$pfm->addReplacement('skipcheckin.php', 'pear-config', '@web-dir@', 'web_dir');
$pfm->addReplacement('skipcheckin.php', 'pear-config', '@data-dir@', 'data_dir');
$pfm->addReplacement('skipcheckin.php', 'package-info', '@version@', 'version');

foreach ($web_files AS $file) {
    $pfm->addInstallAs('src/web/' . $file, $file);
}

$pfm->generateContents();

if (isset($_GET['make']) || (isset($_SERVER['argv']) && @$_SERVER['argv'][1] == 'make')) {
    if ($pfm->writePackageFile()) {
        exit('package file written');
    } else {
        exit('cannot write');
    }
} else {
    $pfm->debugPackageFile();
}
?>