On Thu, Aug 18, 2011 at 01:40:11PM -0500, Peter Karman wrote:
> Chris Hostetter wrote on 08/18/2011 01:32 PM:
> 
> > Alternately: Apache Lucy could continue to opperate
> > exactly as was done with 0.2.0 and 0.2.1, but the guidelines for 
> > downstream packagers could encourage them to initially package every RC as 
> > an "unstable/beta" to smoke out any distribution channel specific problems 
> > first before they break other pacakges that depend on Lucy.
> 
> That was my first thought in response to this thread: always release a
> new Apache Lucy release to CPAN as an unstable release initially, wait a
> few days, then check smoketesters and re-release as stable release with
> official version number.

On #lucy_dev on Friday, David Wheeler invited Ricardo Signes
(<http://search.cpan.org/~rjbs/>) to stop by.  Ricardo maintains some of the
relevant PAUSE/CPAN code, and he was able to help with the mechanics of
dev-only versions.

It used to be that the only way to get a tarball into the CPAN distribution
channel without it becoming the authoritative release was to supply a file
with an underscore in the version number:

    http://pause.perl.org/pause/query?ACTION=pause_04about#conventions

    The automatic integration of your work into several indexes and directory
    trees is not always what you desire. Often you want to release code for
    testing out the next release. Code that propagates through CPAN but is not
    in a stable state. Something between two versions.

    If you want to do that simply choose a filename that matches /\d\.\d+_\d/. 

However, there is now another option: add "TRIAL" to the filename.  This has
been used for a while by some other distros, such as Moose...

    http://search.cpan.org/~doy/Moose-2.0102-TRIAL/

... and now, it seems, will become part of the official documentation:

    
https://github.com/rjbs/pause/commit/8828bfba15fb1a1921ae286f417900f257fd9a76

The general recommendation is that you not reuse version numbers even with
TRIAL, because an official release with the same version number minus "-TRIAL"
will not displace the TRIAL version of the module in someone's installation.
However, it seems to me that it would be OK for us to release an official CPAN
version of Lucy if it differs from -TRIAL only in the version number.

This would be our workflow for 0.3.0:

    * Make canonical Apache release of Lucy 0.3.0.
    * Upload Lucy-0.3.0-TRIAL.tar.gz to CPAN.
    * If CPAN testers comes back clean, upload Lucy-0.3.0.tar.gz to CPAN.
    * If CPAN testers reveals flaws, spin a canonical ASF release of Lucy
      0.3.1, then upload Lucy-0.3.1-TRIAL.tar.gz to CPAN.
    * Continue as necessary with canonical ASF releases and -TRIAL CPAN
      releases until we're good.

The iteration may take a while, but that's OK.  The important thing is to
avoid breaking any distributions that rely on Lucy as a dependency, and this
scheme achieves that.

Marvin Humphrey

Reply via email to