Hello community,

here is the log from the commit of package perl-Minion for openSUSE:Factory 
checked in at 2018-11-12 09:41:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Minion.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Minion"

Mon Nov 12 09:41:12 2018 rev:45 rq:647382 version:9.07

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes  2018-09-26 
14:23:21.233928276 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Minion.new/perl-Minion.changes     
2018-11-12 09:41:15.829202851 +0100
@@ -1,0 +2,10 @@
+Thu Nov  8 06:35:33 UTC 2018 - Stephan Kulow <co...@suse.com>
+
+- updated to 9.07
+   see /usr/share/doc/packages/perl-Minion/Changes
+
+  9.07  2018-10-18
+    - Improved various attributes to use new Mojolicious 8.03 features to avoid
+      memory leaks.
+
+-------------------------------------------------------------------

Old:
----
  Minion-9.06.tar.gz

New:
----
  Minion-9.07.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Minion.spec ++++++
--- /var/tmp/diff_new_pack.eWi8zt/_old  2018-11-12 09:41:16.373202072 +0100
+++ /var/tmp/diff_new_pack.eWi8zt/_new  2018-11-12 09:41:16.377202066 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Minion
-Version:        9.06
+Version:        9.07
 Release:        0
 %define cpan_name Minion
 Summary:        Job queue
@@ -30,8 +30,8 @@
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
-BuildRequires:  perl(Mojolicious) >= 7.56
-Requires:       perl(Mojolicious) >= 7.56
+BuildRequires:  perl(Mojolicious) >= 8.03
+Requires:       perl(Mojolicious) >= 8.03
 %{perl_requires}
 
 %description
@@ -54,7 +54,7 @@
 find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
 
 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+perl Makefile.PL INSTALLDIRS=vendor
 %{__make} %{?_smp_mflags}
 
 %check

++++++ Minion-9.06.tar.gz -> Minion-9.07.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/Changes new/Minion-9.07/Changes
--- old/Minion-9.06/Changes     2018-09-22 16:37:54.000000000 +0200
+++ new/Minion-9.07/Changes     2018-10-18 01:23:25.000000000 +0200
@@ -1,4 +1,8 @@
 
+9.07  2018-10-18
+  - Improved various attributes to use new Mojolicious 8.03 features to avoid
+    memory leaks.
+
 9.06  2018-09-22
   - Added support for controlling job processes by installing signal handlers
     for INT, USR1 and USR2 in tasks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/META.json new/Minion-9.07/META.json
--- old/Minion-9.06/META.json   2018-09-22 16:40:47.000000000 +0200
+++ new/Minion-9.07/META.json   2018-10-18 01:25:46.000000000 +0200
@@ -33,7 +33,7 @@
       },
       "runtime" : {
          "requires" : {
-            "Mojolicious" : "7.56",
+            "Mojolicious" : "8.03",
             "perl" : "5.010001"
          }
       }
@@ -54,6 +54,6 @@
       },
       "x_IRC" : "irc://irc.freenode.net/#mojo"
    },
-   "version" : "9.06",
+   "version" : "9.07",
    "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/META.yml new/Minion-9.07/META.yml
--- old/Minion-9.06/META.yml    2018-09-22 16:40:47.000000000 +0200
+++ new/Minion-9.07/META.yml    2018-10-18 01:25:46.000000000 +0200
@@ -19,7 +19,7 @@
     - inc
     - t
 requires:
-  Mojolicious: '7.56'
+  Mojolicious: '8.03'
   perl: '5.010001'
 resources:
   IRC: irc://irc.freenode.net/#mojo
@@ -27,5 +27,5 @@
   homepage: https://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/mojolicious/minion.git
-version: '9.06'
+version: '9.07'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/Makefile.PL new/Minion-9.07/Makefile.PL
--- old/Minion-9.06/Makefile.PL 2018-09-12 21:22:40.000000000 +0200
+++ new/Minion-9.07/Makefile.PL 2018-10-18 01:19:14.000000000 +0200
@@ -28,6 +28,6 @@
       x_IRC => 'irc://irc.freenode.net/#mojo'
     },
   },
-  PREREQ_PM => {Mojolicious => '7.56'},
+  PREREQ_PM => {Mojolicious => '8.03'},
   test      => {TESTS       => 't/*.t t/*/*.t'}
 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/lib/Minion/Backend.pm 
new/Minion-9.07/lib/Minion/Backend.pm
--- old/Minion-9.06/lib/Minion/Backend.pm       2018-05-08 13:44:37.000000000 
+0200
+++ new/Minion-9.07/lib/Minion/Backend.pm       2018-10-18 01:19:57.000000000 
+0200
@@ -3,7 +3,7 @@
 
 use Carp 'croak';
 
-has 'minion';
+has minion => undef, weak => 1;
 
 sub broadcast  { croak 'Method "broadcast" not implemented by subclass' }
 sub dequeue    { croak 'Method "dequeue" not implemented by subclass' }
@@ -84,7 +84,7 @@
   my $minion = $backend->minion;
   $backend   = $backend->minion(Minion->new);
 
-L<Minion> object this backend belongs to.
+L<Minion> object this backend belongs to. Note that this attribute is weakened.
 
 =head1 METHODS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/lib/Minion/Worker.pm 
new/Minion-9.07/lib/Minion/Worker.pm
--- old/Minion-9.06/lib/Minion/Worker.pm        2018-09-22 16:36:24.000000000 
+0200
+++ new/Minion-9.07/lib/Minion/Worker.pm        2018-09-22 17:12:55.000000000 
+0200
@@ -444,8 +444,8 @@
 
 =item kill
 
-  $minion->broadcast('kill', ["INT", 10025]);
-  $minion->broadcast('kill', ["INT", 10025], [$worker_id]);
+  $minion->broadcast('kill', ['INT', 10025]);
+  $minion->broadcast('kill', ['INT', 10025], [$worker_id]);
 
 Instruct one or more workers to send a signal to a job that is currently being
 performed. This command will be ignored by workers that do not have a job
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/lib/Minion.pm 
new/Minion-9.07/lib/Minion.pm
--- old/Minion-9.06/lib/Minion.pm       2018-09-22 16:38:58.000000000 +0200
+++ new/Minion-9.07/lib/Minion.pm       2018-10-18 01:24:15.000000000 +0200
@@ -9,16 +9,18 @@
 use Mojo::Loader 'load_class';
 use Mojo::Server;
 use Mojo::Util 'steady_time';
-use Scalar::Util 'weaken';
 
-has app => sub { Mojo::Server->new->build_app('Mojo::HelloWorld') };
+has
+  app =>
+  sub { $_[0]{app_ref} = Mojo::Server->new->build_app('Mojo::HelloWorld') },
+  weak => 1;
 has 'backend';
 has backoff       => sub { \&_backoff };
 has missing_after => 1800;
 has remove_after  => 172800;
 has tasks         => sub { {} };
 
-our $VERSION = '9.06';
+our $VERSION = '9.07';
 
 sub add_task { ($_[0]->tasks->{$_[1]} = $_[2]) and return $_[0] }
 
@@ -83,10 +85,7 @@
   my $e     = load_class $class;
   croak ref $e ? $e : qq{Backend "$class" missing} if $e;
 
-  $self->backend($class->new(@_));
-  weaken $self->backend->minion($self)->{minion};
-
-  return $self;
+  return $self->backend($class->new(@_)->minion($self));
 }
 
 sub perform_jobs {
@@ -340,7 +339,8 @@
   my $app = $minion->app;
   $minion = $minion->app(MyApp->new);
 
-Application for job queue, defaults to a L<Mojo::HelloWorld> object.
+Application for job queue, defaults to a L<Mojo::HelloWorld> object. Note that
+this attribute is weakened.
 
 =head2 backend
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.06/lib/Mojolicious/Plugin/Minion.pm 
new/Minion-9.07/lib/Mojolicious/Plugin/Minion.pm
--- old/Minion-9.06/lib/Mojolicious/Plugin/Minion.pm    2018-06-06 
22:05:29.000000000 +0200
+++ new/Minion-9.07/lib/Mojolicious/Plugin/Minion.pm    2018-10-18 
01:24:23.000000000 +0200
@@ -2,15 +2,11 @@
 use Mojo::Base 'Mojolicious::Plugin';
 
 use Minion;
-use Scalar::Util 'weaken';
 
 sub register {
   my ($self, $app, $conf) = @_;
-
   push @{$app->commands->namespaces}, 'Minion::Command';
-
-  my $minion = Minion->new(each %$conf);
-  weaken $minion->app($app)->{app};
+  my $minion = Minion->new(each %$conf)->app($app);
   $app->helper(minion => sub {$minion});
 }
 


Reply via email to