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
