Re: re-formatting CREDITS file
| From: | Greg Beaver | Date: | Fri, 05 Jun 2009 23:21:07 +0000 |
| Subject: | Re: re-formatting CREDITS file | ||
| References: | 1 2 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-6457@lists.php.net to get a copy of this message | ||
Christopher Jones wrote:
>
> Greg Beaver wrote:
> > However, the current format of the CREDITS file only contains names.
> > Would it be possible for people to standardize the format of this file?
>
> Sure, if it makes packaging easier and is forgiving.
>
> Will there be an equivalent to the "package-validate" option?
Yes, although it may not be necessary any longer. Here's the sum total
of steps necessary to create a PECL release using PEAR:
make install (for PHP, which installs PEAR)
copy someone else's package.xml, edit the necessary fields, add files by
hand
pecl package-validate (as necessary)
pecl package
edit package.xml, add files, update version/stability
pecl package
Here is the same workflow with pyrus (currently)
make install
download pyrus.phar
php pyrus.phar setup-development <-- this step downloads and installs
PEAR2_Pyrus_Developer, which contains the extensions for developers
create README, CREDITS, RELEASE-0.1.0
php pyrus.phar pickle extname
create RELEASE-1.0.0RC1
php pyrus.phar pickle extname
Obviously, if pyrus were to be distributed with PHP, the steps would
eliminate the download of pyrus.phar, and possibly the installation of
developer tools, although that is unlikely. By default, pyrus is
intended to have only tools for consumers of PEAR and PECL packages, but
makes it very easy to set up developer platforms.
The "pickle" command is smart, so it sets stability to "alpha" for
versions < 1.0.0, recognizes 1.0.0b1 as a beta, 1.0.0a1 as an alpha,
1.0.0RC1 as a beta with stable API (API freeze = stable API) and
versions >= 1.0.0 as stable.
This is brand new code, and changes are welcome. One addition I am
considering is the ability to specify a customize script that would be
passed a variable named $package which represents the package. Thus,
one could do:
<?php
$package->configureoptions['blah']->prompt('set The Blah value');
$package->license['uri'] = 'http://foo.example.com';
$package->dependencies['required']->extension['pecl.php.net/something']->save();
?>
to set up a dependency, configureoption and change the license URI.
> > The best would be:
> >
> > Full Name [handle] <email@example.com> (role)
>
> Will you accept an empty handle e.g "[]"?
>
> There are some very long gone contributers to OCI8 who appear in the
> CREDITS file but not in package.xml (I don't know why). It would seem
> silly to display them in the pecl.php.net/oci8 "maintainers" section.
You can currently comment them out like:
;; former contributors: Blah Blah Blah
> > The README file should contain summary as first line, description as
> the
> > rest of the file, and RELEASE-X.Y.Z should contain the release notes
> > (and X.Y.Z should be the version, pickle uses the newest version).
>
> Does it cope with "RC" or development state (alpha, beta) suffixes?
>
> Can you give us a link to Pyrus doc/notes? Will the current 'pecl'
> command be able to install bundles created with Pyrus?
The documentation is not yet written, I've been focusing 100% on the
code first, but that will be forthcoming. Yes, packages created with
Pyrus will be compatible with PEAR versions > 1.4.8. The pickle command
is explicitly designed to create a package that can be uploaded directly
to pecl.php.net. The biggest changes in Pyrus are for PEAR-based
packages, pecl packages are pretty similar.
I'll be back with more questions and information, but for now, one can
download and play with a pre-release near-to-alpha Pyrus at the (minimal
and unfinished) http://pear2.php.net
Thanks,
Greg