<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>MANIFEST.SKIP</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,10 @@
 POE::Component::CPAN::YACSmoke
 ==============================
 
+1.36	Sat Jun 20 10:56:29 BST 2009
+	- Makefile.PL meta fixes.
+	- Deprecation warnings.
+
 1.34	Mon Aug  4 10:29:32 BST 2008
 	- Forgot to add a 'use' line to minismoker
 </diff>
      <filename>Changes</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-bin/minismoker
 Changes
 examples/author_search.pl
 examples/flush.pl
@@ -6,15 +5,19 @@ examples/package_search.pl
 examples/recent_modules.pl
 inc/Module/Install.pm
 inc/Module/Install/AuthorTests.pm
+inc/Module/Install/AutoLicense.pm
 inc/Module/Install/Base.pm
 inc/Module/Install/Can.pm
 inc/Module/Install/Fetch.pm
+inc/Module/Install/GithubMeta.pm
 inc/Module/Install/Makefile.pm
 inc/Module/Install/Metadata.pm
+inc/Module/Install/ReadmeFromPod.pm
+inc/Module/Install/Scripts.pm
 inc/Module/Install/Win32.pm
+inc/Module/Install/With.pm
 inc/Module/Install/WriteAll.pm
 lib/POE/Component/CPAN/YACSmoke.pm
-LICENSE
 Makefile.PL
 MANIFEST			This list of files
 META.yml</diff>
      <filename>MANIFEST</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,28 @@
 use strict;
 use inc::Module::Install;
+
+print &lt;&lt;NOTICE;
+
+\a--------------------------------------------------------------
+This distribution and associated tools have been deprecated.
+
+Please investigate POE::Component::SmokeBox and 
+App::SmokeBox::Mini instead.
+
+Thanks.
+--------------------------------------------------------------
+
+NOTICE
+
+sleep 5;
+
 name 'POE-Component-CPAN-YACSmoke';
 author 'Chris Williams &lt;chris@bingosnet.co.uk&gt;';
 license 'perl';
+auto_license holder =&gt; 'Chris Williams';
 version_from 'lib/POE/Component/CPAN/YACSmoke.pm';
 abstract_from 'lib/POE/Component/CPAN/YACSmoke.pm';
+readme_from 'lib/POE/Component/CPAN/YACSmoke.pm';
 perl_version '5.006';
 author_tests 'xt';
 install_script 'bin/minismoker';
@@ -13,13 +31,12 @@ requires 'Storable' =&gt; 0;
 requires 'POE' =&gt; 1.0001;
 requires 'POE::Wheel::Run' =&gt; 0;
 requires 'File::Spec' =&gt; 0;
-if ( $^O eq 'MSWin32' ) {
+if ( win32 ) {
   requires 'Win32::Process' =&gt; 0;
   requires 'Win32::Job' =&gt; 0;
 }
 else {
-  eval &quot;require Proc::ProcessTable&quot;;
-  if ( $@ ) {
+  unless ( can_use 'Proc::ProcessTable' ) {
     requires 'Proc::ProcessTable' =&gt; 0 if 
        prompt( 'Do you want to enable optional Proc::ProcessTable support [y/N]?', 'N' )
 	 =~ /^Y/i;
@@ -28,4 +45,6 @@ else {
      warn &quot;You already have optional module Proc::ProcessTable installed, skipping dialogue\n&quot;;
   }
 }
+auto_provides;
+githubmeta;
 WriteAll();</diff>
      <filename>Makefile.PL</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
 NAME
-    POE::Component::CPAN::YACSmoke - bringing the power of POE to CPAN smoke
+    POE::Component::CPAN::YACSmoke - Bringing the power of POE to CPAN smoke
     testing.
 
 SYNOPSIS
       use strict;
       use POE qw(Component::CPAN::YACSmoke);
       use Getopt::Long;
-      
-  $|=1;
-      
-  my ($perl, $jobs);
-      
-  GetOptions( 'perl=s' =&gt; \$perl, 'jobs=s' =&gt; \$jobs );
-      
-  my @pending;
+  
+      $|=1;
+  
+      my ($perl, $jobs);
+  
+      GetOptions( 'perl=s' =&gt; \$perl, 'jobs=s' =&gt; \$jobs );
+  
+      my @pending;
       if ( $jobs ) {
         open my $fh, &quot;&lt;$jobs&quot; or die &quot;$jobs: $!\n&quot;;
         while (&lt;$fh&gt;) {
@@ -22,38 +22,50 @@ SYNOPSIS
         }
         close($fh);
       }
-      
-  my $smoker = POE::Component::CPAN::YACSmoke-&gt;spawn( alias =&gt; 'smoker' );
-      
-  POE::Session-&gt;create(
+  
+      my $smoker = POE::Component::CPAN::YACSmoke-&gt;spawn( alias =&gt; 'smoker' );
+  
+      POE::Session-&gt;create(
             package_states =&gt; [
-               'main' =&gt; [ qw(_start _stop _results) ],
+               'main' =&gt; [ qw(_start _stop _results _recent) ],
             ],
             heap =&gt; { perl =&gt; $perl, pending =&gt; \@pending },
       );
-      
-  $poe_kernel-&gt;run();
+  
+      $poe_kernel-&gt;run();
       exit 0;
-      
-  sub _start {
+  
+      sub _start {
         my ($kernel,$heap) = @_[KERNEL,HEAP];
-        $kernel-&gt;post( 'smoker', 'submit', { event =&gt; '_results', perl =&gt; $heap-&gt;{perl}, module =&gt; $_ } ) 
+        if ( @{ $heap-&gt;{pending} } ) {
+          $kernel-&gt;post( 'smoker', 'submit', { event =&gt; '_results', perl =&gt; $heap-&gt;{perl}, module =&gt; $_ } ) 
             for @{ $heap-&gt;{pending} };
+        }
+        else {
+          $kernel-&gt;post( 'smoker', 'recent', { event =&gt; '_recent', perl =&gt; $heap-&gt;{perl} } ) 
+        }
         undef;
       }
-      
-  sub _stop {
+  
+      sub _stop {
         $poe_kernel-&gt;call( 'smoker', 'shutdown' );
         undef;
       }
-      
-  sub _results {
+  
+      sub _results {
         my $job = $_[ARG0];
         print STDOUT &quot;Module: &quot;, $job-&gt;{module}, &quot;\n&quot;;
         print STDOUT &quot;$_\n&quot; for @{ $job-&gt;{log} };
         undef;
       }
 
+      sub _recent {
+        my ($kernel,$heap,$job) = @_[KERNEL,HEAP,ARG0];
+        $kernel-&gt;post( 'smoker', 'submit', { event =&gt; '_results', perl =&gt; $heap-&gt;{perl}, module =&gt; $_ } )
+            for @{ $job-&gt;{recent} };
+        undef;
+      }
+
 DESCRIPTION
     POE::Component::CPAN::YACSmoke is a POE-based framework around CPANPLUS
     and CPAN::YACSmoke. It receives submissions from other POE sessions,
@@ -80,6 +92,10 @@ CONSTRUCTOR
           'options', specify some POE::Session options;
           'debug', see lots of text on your console;
           'idle', adjust the job idle time ( default: 600 seconds ), before jobs get killed;
+          'timeout', adjust the total job runtime ( default: 3600 seconds ), before a job is killed;
+          'perl', which perl executable to use as a default, instead of S^X;
+          'appdata', default path where CPANPLUS should look for it's .cpanplus folder;
+          'no_grp_kill', set to a true value to disable process group kill;
 
         Returns a POE::Component::CPAN::YACSmoke object.
 
@@ -92,11 +108,46 @@ METHODS
         a list context, returns a list of hashrefs which are the jobs
         currently waiting in the job queue.
 
+    current_job
+        Returns a hashref containing details of the currently executing
+        smoke job. Returns undef if there isn't a job currently running.
+
+    current_log
+        Returns an arrayref of log output from the currently executing smoke
+        job. Returns undef if there isn't a job currently running.
+
     shutdown
         Terminates the component. Any pending jobs are cancelled and the
         currently running job is allowed to complete gracefully. Requires no
         additional parameters.
 
+    pause_queue
+        Pauses processing of the jobs. The current job will finish
+        processing, but any pending jobs will not be processed until the
+        queue is resumed. This does not affect the continued submission of
+        jobs to the queue.
+
+    resume_queue
+        Resumes the processing of the pending jobs queue if it has been
+        previously paused.
+
+    paused
+        Returns a true value if the job queue is paused or a false value
+        otherwise.
+
+    statistics
+        Returns some statistical that the component gathers. In a list
+        context returns a list of data. In a scalar context returns an
+        arrayref of the said data.
+
+        The data is returned in the following order:
+
+          The time in epoch seconds when the smoker was started;
+          The total number of jobs that have been processed;
+          The current average job run time;
+          The minimum job run time observed;
+          The maximum job run time observed;
+
 INPUT EVENTS
     All the events that the component will accept (unless noted otherwise )
     require one parameter, a hashref with the following keys defined (
@@ -107,6 +158,8 @@ INPUT EVENTS
                 so whatever that requires should work (Mandatory);
       'session', which session the result event should go to (Default is the sender);
       'perl', which perl executable to use (Default whatever is in $^X);
+      'debug', turn on or off debugging information for this particular job;
+      'appdata', the path where CPANPLUS should look for it's .cpanplus folder;
 
     It is possible to pass arbitrary keys in the hash. These should be
     proceeded with an underscore to avoid possible future API clashes.
@@ -125,6 +178,69 @@ INPUT EVENTS
         currently running job is allowed to complete gracefully. Requires no
         additional parameters.
 
+    recent
+        Obtain a list of recent uploads to CPAN.
+
+        Takes one parameter, hashref with the following keys defined:
+
+          'event', an event name for the results to be sent to (Mandatory);
+          'session', which session the result event should go to (Default is the sender);
+          'perl', which perl executable to use (Default whatever is in $^X);
+
+        It is possible to pass arbitrary keys in the hash. These should be
+        proceeded with an underscore to avoid possible future API clashes.
+
+    author
+        Obtain a list of distributions for a given author.
+
+        Takes one parameter, a hashref with the following keys defined:
+
+          'event', an event name for the results to be sent to (Mandatory);
+          'session', which session the result event should go to (Default is the sender);
+          'perl', which perl executable to use (Default whatever is in $^X);
+          'type', specify the type of search to conduct, 'cpanid', 'author' or 'email', default is 'cpanid';
+          'search', a string representing the search criteria to use (Mandatory);
+
+        It is possible to pass arbitrary keys in the hash. These should be
+        proceeded with an underscore to avoid possible future API clashes.
+
+    package
+        obtain a list of distributions given criteria to search for.
+
+        Takes one parameter, a hashref with the following keys defined:
+
+          'event', an event name for the results to be sent to (Mandatory);
+          'session', which session the result event should go to (Default is the sender);
+          'perl', which perl executable to use (Default whatever is in $^X);
+          'type', specify the type of search to conduct, 'package', 'name', etc., default is 'package';
+          'search', a string representing the search criteria to use (Mandatory);
+
+        It is possible to pass arbitrary keys in the hash. These should be
+        proceeded with an underscore to avoid possible future API clashes.
+
+    check
+        Checks whether CPAN::YACSmoke is installed. Takes one parameter a
+        hashref with the following keys defined:
+
+          'event', an event name for the results to be sent to (Mandatory);
+          'session', which session the result event should go to (Default is the sender);
+          'perl', which perl executable to use (Default whatever is in $^X);
+
+        It is possible to pass arbitrary keys in the hash. These should be
+        proceeded with an underscore to avoid possible future API clashes.
+
+    indices
+        Forces an update of the CPANPLUS indices. Takes one parameter, a
+        hashref with the following keys defined:
+
+          'event', an event name for the results to be sent to (Mandatory);
+          'session', which session the result event should go to (Default is the sender);
+          'perl', which perl executable to use (Default whatever is in $^X);
+          'prioritise', set to 1 to put action at the front of the job queue, default 0;
+
+        It is possible to pass arbitrary keys in the hash. These should be
+        proceeded with an underscore to avoid possible future API clashes.
+
 OUTPUT EVENTS
     Resultant events will have a hashref as ARG0. All the keys passed in as
     part of the original request will be present (including arbitrary
@@ -133,21 +249,39 @@ OUTPUT EVENTS
       'log', an arrayref of STDOUT and STDERR produced by the job;
       'PID', the process ID of the POE::Wheel::Run;
       'status', the $? of the process;
+      'submitted', the time in epoch seconds when the job was submitted;
       'start_time', the time in epoch seconds when the job started running;
       'end_time', the time in epoch seconds when the job finished;
+      'idle_kill', only present if the job was killed because of excessive idle;
+      'excess_kill', only present if the job was killed due to excessive runtime;
+
+    The results of a 'recent' request will be same as above apart from an
+    additional key:
+
+      'recent', an arrayref of recently uploaded modules;
+
+    The results of a 'package' or 'author' search will be same as other
+    events apart from an additional key:
+
+      'results', an arrayref of the modules returned by the search;
 
 MSWin32
-    On MSWin32 the technique used by this component to fork does not work
-    properly. This may be a limitation of POE::Wheel::Run. I am
-    investigating.
+    POE::Component::CPAN::YACSmoke now supports MSWin32 in the same manner
+    as other platforms. Win32::Process is used to fix the issues surrounding
+    POE::Wheel::Run and forking alternative copies of the perl executable.
 
-    A knock-on consequence of this, is that modules submitted will be smoked
-    with a fork of the currently running process and hence 'perl'. Bear this
-    is mind when setting up your smoking environment.
+    The code is still experimental though. Be warned.
 
 AUTHOR
     Chris 'BinGOs' Williams &lt;chris@bingosnet.co.uk&gt;
 
+LICENSE
+    Copyright &quot;(c)&quot; Chris Williams and Jonathan Steinert
+
+    This module may be used, modified, and distributed under the same terms
+    as Perl itself. Please see the license that came with your Perl
+    distribution for details.
+
 KUDOS
     Many thanks to all the people who have helped me with developing this
     module.
@@ -159,11 +293,16 @@ KUDOS
     And to Robert Rothenberg and Barbie for CPAN::YACSmoke.
 
 SEE ALSO
+    minismoker
+
     POE
 
     CPANPLUS
 
     CPAN::YACSmoke
 
+    &lt;http://cpantest.grango.org/cgi-bin/pages.cgi?act=wiki-page&amp;pagename=YAC
+    SmokePOE&gt;
+
     &lt;http://use.perl.org/~BinGOs/journal/&gt;
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ use POE qw(Wheel::Run);
 use Storable;
 use vars qw($VERSION);
 
-$VERSION = '1.34';
+$VERSION = '1.36';
 
 my $GOT_KILLFAM;
 
@@ -640,11 +640,18 @@ see the section of this document relating to your platform.
 You are responsible for installing and configuring L&lt;CPANPLUS&gt; and L&lt;CPAN::YACSmoke&gt; and setting up
 a suitable perl smoking environment.
 
+=head1 DEPRECATION NOTICE
+
+POE::Component::CPAN::YACSmoke has been superceded by L&lt;POE::Component::SmokeBox&gt;. The L&lt;minismoker&gt;
+script has been superceded by L&lt;App::SmokeBox::Mini&gt;.
+
+Consider this module deprecated.
+
 =head1 CONSTRUCTOR
 
 =over
 
-=item spawn
+=item C&lt;spawn&gt;
 
 Spawns a new component session and waits for requests. Takes the following optional arguments:
 
@@ -665,40 +672,40 @@ Returns a POE::Component::CPAN::YACSmoke object.
 
 =over
 
-=item session_id
+=item C&lt;session_id&gt;
 
 Returns the POE::Session ID of the component's session.
 
-=item pending_jobs
+=item C&lt;pending_jobs&gt;
 
 In a scalar context returns the number of currently pending jobs. In a list context, returns a list of hashrefs
 which are the jobs currently waiting in the job queue.
 
-=item current_job
+=item C&lt;current_job&gt;
 
 Returns a hashref containing details of the currently executing smoke job. Returns undef if there isn't a job currently running.
 
-=item current_log
+=item C&lt;current_log&gt;
 
 Returns an arrayref of log output from the currently executing smoke job. Returns undef if there isn't a job currently running.
 
-=item shutdown
+=item C&lt;shutdown&gt;
 
 Terminates the component. Any pending jobs are cancelled and the currently running job is allowed to complete gracefully. Requires no additional parameters.
 
-=item pause_queue
+=item C&lt;pause_queue&gt;
 
 Pauses processing of the jobs. The current job will finish processing, but any pending jobs will not be processed until the queue is resumed. This does not affect the continued submission of jobs to the queue.
 
-=item resume_queue
+=item C&lt;resume_queue&gt;
 
 Resumes the processing of the pending jobs queue if it has been previously paused.
 
-=item paused
+=item C&lt;paused&gt;
 
 Returns a true value if the job queue is paused or a false value otherwise.
 
-=item statistics
+=item C&lt;statistics&gt;
 
 Returns some statistical that the component gathers. In a list context returns a list of data. In a scalar
 context returns an arrayref of the said data.
@@ -730,21 +737,21 @@ possible future API clashes.
 
 =over
 
-=item submit
+=item C&lt;submit&gt;
 
-=item push
+=item C&lt;push&gt;
 
 Inserts the requested job at the end of the queue ( if there is one ).
 
-=item unshift
+=item C&lt;unshift&gt;
 
 Inserts the requested job at the head of the queue ( if there is one ). Guarantees that that job is processed next.
 
-=item shutdown
+=item C&lt;shutdown&gt;
 
 Terminates the component. Any pending jobs are cancelled and the currently running job is allowed to complete gracefully. Requires no additional parameters.
 
-=item recent
+=item C&lt;recent&gt;
 
 Obtain a list of recent uploads to CPAN.
 
@@ -757,7 +764,7 @@ Takes one parameter, hashref with the following keys defined:
 It is possible to pass arbitrary keys in the hash. These should be proceeded with an underscore to avoid
 possible future API clashes.
 
-=item author
+=item C&lt;author&gt;
 
 Obtain a list of distributions for a given author.
 
@@ -772,7 +779,7 @@ Takes one parameter, a hashref with the following keys defined:
 It is possible to pass arbitrary keys in the hash. These should be proceeded with an underscore to avoid
 possible future API clashes.
 
-=item package
+=item C&lt;package&gt;
 
 obtain a list of distributions given criteria to search for.
 
@@ -787,7 +794,7 @@ Takes one parameter, a hashref with the following keys defined:
 It is possible to pass arbitrary keys in the hash. These should be proceeded with an underscore to avoid
 possible future API clashes.
 
-=item check
+=item C&lt;check&gt;
 
 Checks whether L&lt;CPAN::YACSmoke&gt; is installed. Takes one parameter a hashref with the following keys 
 defined:
@@ -799,7 +806,7 @@ defined:
 It is possible to pass arbitrary keys in the hash. These should be proceeded with an underscore to avoid
 possible future API clashes.
   
-=item indices
+=item C&lt;indices&gt;
 
 Forces an update of the CPANPLUS indices. Takes one parameter, a hashref with the following keys defined:
 
@@ -848,7 +855,7 @@ Chris 'BinGOs' Williams &lt;chris@bingosnet.co.uk&gt;
 
 =head1 LICENSE
 
-Copyright C&lt;(c)&gt; Chris Williams and Jonathan Steinert
+Copyright E&lt;copy&gt; Chris Williams
 
 This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.
 
@@ -864,6 +871,10 @@ And to Robert Rothenberg and Barbie for L&lt;CPAN::YACSmoke&gt;.
 
 =head1 SEE ALSO
 
+L&lt;POE::Component::SmokeBox&gt;
+
+L&lt;App::SmokeBox::Mini&gt;
+
 L&lt;minismoker&gt;
 
 L&lt;POE&gt;
@@ -875,3 +886,5 @@ L&lt;CPAN::YACSmoke&gt;
 L&lt;http://cpantest.grango.org/cgi-bin/pages.cgi?act=wiki-page&amp;pagename=YACSmokePOE&gt;
 
 L&lt;http://use.perl.org/~BinGOs/journal/&gt;
+
+=cut</diff>
      <filename>lib/POE/Component/CPAN/YACSmoke.pm</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>LICENSE</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>1353b36f1b4ddb6a2b7ff3fb2398f180a1f1da2d</id>
    </parent>
  </parents>
  <author>
    <name>Chris Williams</name>
    <email>chris@bingosnet.co.uk</email>
  </author>
  <url>http://github.com/bingos/poe-component-cpan-yacsmoke/commit/1a41133fc2f148a05562eabda390e29d07173131</url>
  <id>1a41133fc2f148a05562eabda390e29d07173131</id>
  <committed-date>2009-06-20T02:59:26-07:00</committed-date>
  <authored-date>2009-06-20T02:59:26-07:00</authored-date>
  <message>Makefile.PL meta updates. Deprecation warnings.</message>
  <tree>1e994aea4df2a5e5222bc5def3465ad785dabe40</tree>
  <committer>
    <name>Chris Williams</name>
    <email>chris@bingosnet.co.uk</email>
  </committer>
</commit>
