<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://mirmodynamics.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Mirmo Dynamics - Tag - chiara</title>
  <link>http://mirmodynamics.com/</link>
  <atom:link href="http://mirmodynamics.com/feed/tag/chiara/rss2" rel="self" type="application/rss+xml"/>
  <description>Rien de grand ne se fit jamais sans enthousiasme.</description>
  <language>en</language>
  <pubDate>Wed, 03 Dec 2008 17:01:33 +0100</pubDate>
  <copyright>2003-2008 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Mini Howto: Serveur et Packages PEAR</title>
    <link>http://mirmodynamics.com/post/2007/03/02/Mini-Howto%3A-Serveur-et-Packages-PEAR</link>
    <guid isPermaLink="false">urn:md5:a4af0a22fcb4f4e307699e4207bc6406</guid>
    <pubDate>Fri, 02 Mar 2007 12:11:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>chiara</category><category>doc</category><category>howto</category><category>package</category><category>pear</category><category>php</category>    
    <description>    &lt;p&gt;Pour installer le serveur &lt;acronym&gt;PEAR&lt;/acronym&gt;, c'est simple:&lt;/p&gt;


&lt;pre&gt;pear channel-discover pear.chiaraquartet.net
pear install chiara/Chiara_PEAR_Server
pear run-scripts Chiara_PEAR_Server&lt;/pre&gt;


&lt;p&gt;Ensuite on répond aux question, et c'est automagique.&lt;/p&gt;


&lt;p&gt;Après, pour créer des packages, ça se corse. Tout d'abord, on a besoin de &lt;code&gt;PEAR_PackageFileManager&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;pear install PEAR_PackageFileManager&lt;/pre&gt;


&lt;p&gt;Ensuite, le but est de générer les &lt;code&gt;package.xml&lt;/code&gt; qui vont bien. Voilà comment j'ai procédé pour le package &lt;code&gt;Zend&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;mkdir -p ~/pear/zend/src &amp;amp;&amp;amp; cd ~/pear/zend
wget http://framework.zend.com/download/tgz -O - | tar xzC ~
mv ~/ZendFramework-0.8.0/library/Zend* src/
php ./mkpkg.php make
cd src &amp;amp;&amp;amp; pear package&lt;/pre&gt;


&lt;p&gt;Ceux qui ont bien suivi auront noté que &lt;code&gt;mkpkg.php&lt;/code&gt; est sorti un peu de l'espace :-) Vous trouverez son contenu à la fin du billet.&lt;/p&gt;


&lt;p&gt;Pour résumer, on créé un répertoire de travail (&lt;code&gt;~/pear/zend/&lt;/code&gt;), dans lequel on créé un répertoire &lt;code&gt;src&lt;/code&gt;, qui contiendra tous les fichiers du package, puis le script &lt;code&gt;mkpkg.php&lt;/code&gt; se charge 1) d'analyser le contenu de &lt;code&gt;src&lt;/code&gt;, et 2) de créer le &lt;code&gt;package.xml&lt;/code&gt; qui va bien, selon les instructions qui lui sont fournies.&lt;/p&gt;


&lt;p&gt;Nous disposons désormais  d'un package &lt;code&gt;Zend-0.8.0.tgz&lt;/code&gt; dans &lt;code&gt;~/pear/zend/src&lt;/code&gt;, que nous n'avons plus qu'a uploader via l'interface d'administration du serveur &lt;acronym&gt;PEAR&lt;/acronym&gt; précédemment installé :-)&lt;/p&gt;


&lt;p&gt;Le fichier &lt;code&gt;mkpkg.php&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?php

require_once('PEAR/PackageFileManager2.php');

PEAR::setErrorHandling(PEAR_ERROR_DIE);

$packagexml = new PEAR_PackageFileManager2;

$e = $packagexml-&amp;gt;setOptions(array(
    'baseinstalldir' =&amp;gt; '/',
    'packagedirectory' =&amp;gt; dirname(__FILE__).'/src',
));

$packagexml-&amp;gt;setPackage('Zend');
$packagexml-&amp;gt;setSummary('Zend Framework');
$packagexml-&amp;gt;setDescription('The Zend\'s PHP Framework');
$packagexml-&amp;gt;setChannel('pear.phpmafia.net');
$packagexml-&amp;gt;setAPIVersion('0.8.0');
$packagexml-&amp;gt;setReleaseVersion('0.8.0');
$packagexml-&amp;gt;setReleaseStability('devel');
$packagexml-&amp;gt;setAPIStability('devel');
$packagexml-&amp;gt;setNotes(&amp;quot;Still a preview release&amp;quot;);
$packagexml-&amp;gt;setPackageType('php'); // this is a PEAR-style php script package
$packagexml-&amp;gt;addRelease(); // set up a release section
$packagexml-&amp;gt;setPhpDep('5.1.2');
$packagexml-&amp;gt;setPearinstallerDep('1.4.0a12');
$packagexml-&amp;gt;addMaintainer('lead', 'ash', 'Geoffrey Bachelet', 'geoffrey+pear@zubrowka.org');
$packagexml-&amp;gt;setLicense('New BSD License', 'http://framework.zend.com/license/new-bsd');
$packagexml-&amp;gt;generateContents(); // create the &amp;lt;contents&amp;gt; tag

$pkg = &amp;amp;$packagexml-&amp;gt;exportCompatiblePackageFile1(); // get a PEAR_PackageFile object

if (isset($_GET['make']) || (isset($_SERVER['argv']) &amp;amp;&amp;amp; @$_SERVER['argv'][1] == 'make')) {
    $pkg-&amp;gt;writePackageFile();
    $packagexml-&amp;gt;writePackageFile();
} else {
    $pkg-&amp;gt;debugPackageFile();
    $packagexml-&amp;gt;debugPackageFile();
}

?&amp;gt;
&lt;/pre&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2007/03/02/Mini-Howto%3A-Serveur-et-Packages-PEAR#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2007/03/02/Mini-Howto%3A-Serveur-et-Packages-PEAR#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/751</wfw:commentRss>
      </item>
    
</channel>
</rss>