corsepiu pushed to perl-Server-Starter (f21). "Merge remote-tracking branch 'origin/f22' into f21"

notifications at fedoraproject.org notifications at fedoraproject.org
Sun Jul 26 14:39:49 UTC 2015


From eb4c9e9ca7f3d456982ce5195c5fb4ead9f077c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Thu, 10 Jul 2014 15:45:21 +0200
Subject: Fix t/06-autorestart.t race


diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
new file mode 100644
index 0000000..9b4a713
--- /dev/null
+++ b/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
@@ -0,0 +1,83 @@
+From b2cee396fea96266a95a829b94cdf759d0eae76d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Thu, 10 Jul 2014 15:37:47 +0200
+Subject: [PATCH] Synchronize to PID in t/06-autorestart.t
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There were races between various sleeps and 4s auto_restart_interval.
+This patch replaces the sleeps by waiting for status with a single PID
+entry.
+
+Similar to CPAN RT#73711.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ t/06-autorestart.t | 35 +++++++++++++++++++++++++++--------
+ 1 file changed, 27 insertions(+), 8 deletions(-)
+
+diff --git a/t/06-autorestart.t b/t/06-autorestart.t
+index bab9241..9401500 100644
+--- a/t/06-autorestart.t
++++ b/t/06-autorestart.t
+@@ -3,7 +3,7 @@ use warnings;
+ 
+ use File::Temp ();
+ use Test::TCP;
+-use Test::More tests => 28;
++use Test::More tests => 26;
+ 
+ use Server::Starter qw(start_server);
+ 
+@@ -46,13 +46,19 @@ for my $signal_on_hup ('TERM', 'USR1') {
+             $buf =~ /^(\d+):/;
+             my $worker_pid = $1;
+             # switch to next gen
+-            sleep 2;
+-            my $status = get_status();
+-            like(get_status(), qr/^1:\d+\n$/s, 'status before auto-restart');
+-            sleep 5;
+-            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during transient state');
+-            sleep 4;
+-            like(get_status(), qr/^2:\d+\n$/s, 'status after auto-restart');
++            my $previous_generation = get_single_generation();
++            like($previous_generation, qr/^\d+:\d+\n$/s,
++                'status before auto-restart');
++            my $current_generation;
++            while (($current_generation = get_single_generation()) eq
++                    $previous_generation) {
++               sleep 1;
++            }
++            diag "Server changed from <$previous_generation> ",
++                "to <$current_generation>\n";
++
++            like($current_generation, qr/^\d+:\d+\n$/s,
++                'status after auto-restart');
+             is(
+                 do {
+                     open my $fh, '<', "$tempdir/signame"
+@@ -78,7 +84,20 @@ for my $signal_on_hup ('TERM', 'USR1') {
+ }
+ 
+ sub get_status {
++    while (! -e "$tempdir/status") {
++        sleep 1;
++    }
+     open my $fh, '<', "$tempdir/status"
+         or die "failed to open file:$tempdir/status:$!";
+     do { undef $/; <$fh> };
+ }
++
++sub get_single_generation {
++    my $status;
++    do {
++        sleep 1 if defined $status;
++        $status = get_status;
++    } until ($status =~ /\A\d+:\d+\n\z/);
++    chomp $status;
++    $status;
++}
+-- 
+1.9.3
+
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 3d0cfc4..cb1b22b 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -10,6 +10,8 @@ Source0:        http://www.cpan.org/authors/id/K/KA/KAZUHO/Server-Starter-%{vers
 Patch0:         Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch
 # Fix loading the environment directory, bug #1100158, CPAN RT#73711
 Patch1:         Server-Starter-0.17-Fix-loading-envdir.patch
+# Fix t/06-autorestart.t race, bug #1100158, CPAN RT#73711
+Patch2:         Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
 BuildArch:      noarch
 
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
@@ -45,6 +47,7 @@ perl-Server-Starter's start_server script.
 %setup -q -n Server-Starter-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 # --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
@@ -75,6 +78,9 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Thu Jul 10 2014 Petr Pisar <ppisar at redhat.com> - 0.17-4
+- Fix t/06-autorestart.t race (bug #1100158)
+
 * Tue Jun 17 2014 Petr Pisar <ppisar at redhat.com> - 0.17-3
 - Fix races in t/07-envdir.t test (bug #1100158)
 - Load the environment directory just before restartin a server (bug #1100158)
-- 
cgit v0.10.2


From a77af9e1c5c0443ad99acc8743f8bd4d4f53cb85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Fri, 8 Aug 2014 13:06:27 +0200
Subject: Fix t/01-starter.t race


diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
new file mode 100644
index 0000000..e194cf3
--- /dev/null
+++ b/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
@@ -0,0 +1,82 @@
+From f7d5f6bfb5e94a3ea01e53c5b69186ff7172b4bf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Fri, 8 Aug 2014 12:58:40 +0200
+Subject: [PATCH] Synchronize to PID in t/01-starter.t
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There were races between various sleeps and the restarting server.
+THis patch fixes it by waiting for complete generation change in the
+status file.
+
+This fixes CPAN RT#73711.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ t/01-starter.t | 33 +++++++++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 8 deletions(-)
+
+diff --git a/t/01-starter.t b/t/01-starter.t
+index ec671f0..1ddb925 100644
+--- a/t/01-starter.t
++++ b/t/01-starter.t
+@@ -3,7 +3,7 @@ use warnings;
+ 
+ use File::Temp ();
+ use Test::TCP;
+-use Test::More tests => 28;
++use Test::More tests => 26;
+ 
+ use Server::Starter qw(start_server);
+ 
+@@ -43,14 +43,17 @@ for my $signal_on_hup ('TERM', 'USR1') {
+             $buf =~ /^(\d+):/;
+             my $worker_pid = $1;
+             # switch to next gen
+-            sleep 2;
+-            my $status = get_status();
+-            like(get_status(), qr/^1:\d+\n$/s, 'status before restart');
++            my $previous_generation = get_single_generation();
++            like($previous_generation, qr/^1:\d+\n$/s, 'status before restart');
+             kill 'HUP', $server_pid;
+-            sleep 3;
+-            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during restart');
+-            sleep 2;
+-            like(get_status(), qr/^2:\d+\n$/s, 'status after restart');
++            my $current_generation;
++            while (($current_generation = get_single_generation()) eq
++                    $previous_generation) {
++               sleep 1;
++            }
++            diag "Server changed from <$previous_generation> ",
++                "to <$current_generation>\n";
++            like($current_generation, qr/^2:\d+\n$/s, 'status after restart');
+             is(
+                 do {
+                     open my $fh, '<', "$tempdir/signame"
+@@ -76,7 +79,21 @@ for my $signal_on_hup ('TERM', 'USR1') {
+ }
+ 
+ sub get_status {
++    while (! -e "$tempdir/status") {
++        sleep 1;
++    }
+     open my $fh, '<', "$tempdir/status"
+         or die "failed to open file:$tempdir/status:$!";
+     do { undef $/; <$fh> };
+ }
++
++sub get_single_generation {
++    my $status;
++    do {
++        sleep 1 if defined $status;
++        $status = get_status;
++    } until ($status =~ /\A\d+:\d+\n\z/);
++    chomp $status;
++    $status;
++}
++
+-- 
+1.9.3
+
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index cb1b22b..784a305 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -12,6 +12,8 @@ Patch0:         Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch
 Patch1:         Server-Starter-0.17-Fix-loading-envdir.patch
 # Fix t/06-autorestart.t race, bug #1100158, CPAN RT#73711
 Patch2:         Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
+# Fix t/01-starter.t race, bug #1100158, CPAN RT#73711
+Patch3:         Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
 BuildArch:      noarch
 
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
@@ -48,6 +50,7 @@ perl-Server-Starter's start_server script.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 # --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
@@ -78,6 +81,9 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Fri Aug 08 2014 Petr Pisar <ppisar at redhat.com> - 0.17-5
+- Fix t/01-starter.t race (bug #1100158)
+
 * Thu Jul 10 2014 Petr Pisar <ppisar at redhat.com> - 0.17-4
 - Fix t/06-autorestart.t race (bug #1100158)
 
-- 
cgit v0.10.2


From 460cf7664ead390bc2c1d8c65ceb396e292c9202 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Thu, 21 Aug 2014 14:23:35 +0200
Subject: Fix t/01-starter.t race (bug #1100158)


diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
new file mode 100644
index 0000000..7dad7e0
--- /dev/null
+++ b/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
@@ -0,0 +1,85 @@
+From 046fb1328e76851a1398a624b77e746c37c62a67 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Thu, 21 Aug 2014 14:17:25 +0200
+Subject: [PATCH] Synchronize to PID in t/05-killolddelay.t
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There were races between various sleeps and the restarting server.
+This patch fixes it by waiting for complete generation change in the
+status file.
+
+Similar to CPAN RT#73711.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ t/05-killolddelay.t | 36 +++++++++++++++++++++++++-----------
+ 1 file changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/t/05-killolddelay.t b/t/05-killolddelay.t
+index 19856af..457bdd9 100644
+--- a/t/05-killolddelay.t
++++ b/t/05-killolddelay.t
+@@ -3,7 +3,7 @@ use warnings;
+ 
+ use File::Temp ();
+ use Test::TCP;
+-use Test::More tests => 28;
++use Test::More tests => 26;
+ 
+ use Server::Starter qw(start_server);
+ 
+@@ -45,17 +45,18 @@ for my $signal_on_hup ('TERM', 'USR1') {
+             $buf =~ /^(\d+):/;
+             my $worker_pid = $1;
+             # switch to next gen
+-            sleep 2;
+-            my $status = get_status();
+-            like(get_status(), qr/^1:\d+\n$/s, 'status before restart');
++            my $previous_generation = get_single_generation();
++            like($previous_generation, qr/^1:\d+\n$/s, 'status before restart');
+             kill 'HUP', $server_pid;
+-            sleep 4;
+-            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during restart');
+-            # Child process has finished in 2 seconds but the parent
+-            # checks and calls waitpid every second, so wait for an
+-            # additional 1 second.
+-            sleep 3;
+-            like(get_status(), qr/^2:\d+\n$/s, 'status after restart');
++            my $current_generation;
++            while (($current_generation = get_single_generation()) eq
++                    $previous_generation) {
++               sleep 1;
++            }
++            diag "Server changed from <$previous_generation> ",
++                "to <$current_generation>\n";
++
++            like($current_generation, qr/^2:\d+\n$/s, 'status after restart');
+             is(
+                 do {
+                     open my $fh, '<', "$tempdir/signame"
+@@ -81,7 +82,20 @@ for my $signal_on_hup ('TERM', 'USR1') {
+ }
+ 
+ sub get_status {
++    while (! -e "$tempdir/status") {
++        sleep 1;
++    }
+     open my $fh, '<', "$tempdir/status"
+         or die "failed to open file:$tempdir/status:$!";
+     do { undef $/; <$fh> };
+ }
++
++sub get_single_generation {
++    my $status;
++    do {
++        sleep 1 if defined $status;
++        $status = get_status;
++    } until ($status =~ /\A\d+:\d+\n\z/);
++    chomp $status;
++    $status;
++}
+-- 
+1.9.3
+
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 784a305..4e07142 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -14,6 +14,8 @@ Patch1:         Server-Starter-0.17-Fix-loading-envdir.patch
 Patch2:         Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
 # Fix t/01-starter.t race, bug #1100158, CPAN RT#73711
 Patch3:         Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
+# Fix t/05-killolddelay.t race, bug #1100158, CPAN RT#73711
+Patch4:         Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
 BuildArch:      noarch
 
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
@@ -51,6 +53,7 @@ perl-Server-Starter's start_server script.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 # --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
@@ -81,6 +84,9 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Thu Aug 21 2014 Petr Pisar <ppisar at redhat.com> - 0.17-6
+- Fix t/05-killolddelay.t race (bug #1100158)
+
 * Fri Aug 08 2014 Petr Pisar <ppisar at redhat.com> - 0.17-5
 - Fix t/01-starter.t race (bug #1100158)
 
-- 
cgit v0.10.2


From bf72c5d139f0081d11c4886ce18577d54a01ab83 Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik at redhat.com>
Date: Fri, 29 Aug 2014 12:42:06 +0200
Subject: Perl 5.20 rebuild


diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 4e07142..dd3fc01 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -84,6 +84,9 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Fri Aug 29 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.17-7
+- Perl 5.20 rebuild
+
 * Thu Aug 21 2014 Petr Pisar <ppisar at redhat.com> - 0.17-6
 - Fix t/05-killolddelay.t race (bug #1100158)
 
-- 
cgit v0.10.2


From 451ab85b9f12cdc40c3bcf569b10771535c6206f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Tue, 9 Sep 2014 09:17:13 +0200
Subject: Fix a race between t/06-autorestart.t and t/05-killolddelay-echod.pl


diff --git a/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch b/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
new file mode 100644
index 0000000..6236bea
--- /dev/null
+++ b/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
@@ -0,0 +1,78 @@
+From 3ec63d1650f9199d6d2b2413c7e855bc108646a4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Mon, 8 Sep 2014 19:03:08 +0200
+Subject: [PATCH] Synchronize to content in signame file
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There is a race between t/06-autorestart.t and
+t/05-killolddelay-echod.pl. If t/05-killolddelay-echod.pl is not fast
+enough with writing received signal name (e.g. by adding "sleep 2;" in
+the beginning of a signal handler), the t/06-autorestart.t will get
+empty signame file and the test for the signal name will fail.
+
+This patch adds synchornization by locking the signame file.
+
+Similar to CPAN RT#73711.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ t/05-killolddelay-echod.pl | 3 +++
+ t/06-autorestart.t         | 8 ++++++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/t/05-killolddelay-echod.pl b/t/05-killolddelay-echod.pl
+index 5b48ca5..bd6be30 100755
+--- a/t/05-killolddelay-echod.pl
++++ b/t/05-killolddelay-echod.pl
+@@ -5,16 +5,19 @@ use warnings;
+ 
+ use lib qw(blib/lib lib);
+ 
++use Fcntl qw(:flock);
+ use IO::Socket::INET;
+ use Server::Starter qw(server_ports);
+ 
+ my $sigfn = shift @ARGV;
+ open my $sigfh, '>', $sigfn
+     or die "could not open file:$sigfn:$!";
++flock $sigfh, LOCK_EX or die "could lock file:$sigfh:$!";
+ 
+ $SIG{TERM} = $SIG{USR1} = sub {
+     my $signame = shift;
+     print $sigfh $signame;
++    flock $sigfh, LOCK_UN or die $!;
+     sleep 1;
+     exit 0;
+ };
+diff --git a/t/06-autorestart.t b/t/06-autorestart.t
+index 9401500..58e98d1 100644
+--- a/t/06-autorestart.t
++++ b/t/06-autorestart.t
+@@ -1,6 +1,7 @@
+ use strict;
+ use warnings;
+ 
++use Fcntl qw(:flock);
+ use File::Temp ();
+ use Test::TCP;
+ use Test::More tests => 26;
+@@ -61,9 +62,12 @@ for my $signal_on_hup ('TERM', 'USR1') {
+                 'status after auto-restart');
+             is(
+                 do {
+-                    open my $fh, '<', "$tempdir/signame"
++                    open my $fh, '+<', "$tempdir/signame"
+                         or die $!;
+-                    <$fh>;
++                    flock $fh, LOCK_EX or die $!;
++                    my $signal = <$fh>;
++                    flock $fh, LOCK_UN or die $!;
++                    $signal;
+                 },
+                 $signal_on_hup,
+                 'signal sent on hup',
+-- 
+1.9.3
+
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index dd3fc01..3250263 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -16,6 +16,9 @@ Patch2:         Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.pat
 Patch3:         Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
 # Fix t/05-killolddelay.t race, bug #1100158, CPAN RT#73711
 Patch4:         Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
+# Fix a race between t/06-autorestart.t and t/05-killolddelay-echod.pl,
+# bug #1100158, CPAN RT#73711
+Patch5:         Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
 BuildArch:      noarch
 
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
@@ -24,6 +27,7 @@ BuildRequires:  perl(List::MoreUtils)
 BuildRequires:  perl(Proc::Wait3)
 BuildRequires:  perl(Scope::Guard)
 # For the tests
+BuildRequires:  perl(Fcntl)
 BuildRequires:  perl(Test::TCP) >= 2.00
 
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@@ -54,6 +58,7 @@ perl-Server-Starter's start_server script.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 %build
 # --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
@@ -84,6 +89,10 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Tue Sep 09 2014 Petr Pisar <ppisar at redhat.com> - 0.17-8
+- Fix a race between t/06-autorestart.t and t/05-killolddelay-echod.pl
+  (bug #1100158)
+
 * Fri Aug 29 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.17-7
 - Perl 5.20 rebuild
 
-- 
cgit v0.10.2


From 33880c35d9e56c020dd79dd427a9cd24b8d05da2 Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik at redhat.com>
Date: Tue, 9 Sep 2014 11:18:30 +0200
Subject: Perl 5.20 mass


diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 3250263..6a5bbf4 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.17
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -89,6 +89,9 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Tue Sep 09 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.17-9
+- Perl 5.20 mass
+
 * Tue Sep 09 2014 Petr Pisar <ppisar at redhat.com> - 0.17-8
 - Fix a race between t/06-autorestart.t and t/05-killolddelay-echod.pl
   (bug #1100158)
-- 
cgit v0.10.2


From 96b6f5340aaf906e870d20b95d546801de03c587 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Tue, 7 Apr 2015 05:16:23 +0200
Subject: Upstream update.

- Rework spec.
- Remove bundled modules.
- Drop Fedora/RH-patches.

diff --git a/.gitignore b/.gitignore
index 48e455c..2ba2233 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.17.tar.gz
+/Server-Starter-0.25.tar.gz
diff --git a/Server-Starter-0.17-Fix-loading-envdir.patch b/Server-Starter-0.17-Fix-loading-envdir.patch
deleted file mode 100644
index d0b9dbf..0000000
--- a/Server-Starter-0.17-Fix-loading-envdir.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 6d965848ff8905f82da0f1ac142000b12a05905e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Mon, 16 Jun 2014 17:25:08 +0200
-Subject: [PATCH 2/2] Fix loading envdir
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The envdir was scanned each second regardless of signal received. This
-caused random failures of the 'removed env' t/07-envdir.t test.
-
-This patch fixes it by loading the environment only just before
-intended restart. It also documents this start_server() option.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- lib/Server/Starter.pm | 31 ++++++++++++++++++++++---------
- 1 file changed, 22 insertions(+), 9 deletions(-)
-
-diff --git a/lib/Server/Starter.pm b/lib/Server/Starter.pm
-index 47bc18a..c171307 100644
---- a/lib/Server/Starter.pm
-+++ b/lib/Server/Starter.pm
-@@ -179,15 +179,13 @@ sub start_server {
-     
-     # the main loop
-     my $term_signal = 0;
--    $current_worker = _start_worker($opts);
-+    my %loaded_env;
-+    $current_worker = _start_worker($opts, \%loaded_env);
-     $update_status->();
-     my $auto_restart_interval = 0;
-     my $last_restart_time = time();
-     my $restart_flag = 0;
-     while (1) {
--        my %loaded_env = _reload_env();
--        my @loaded_env_keys = keys %loaded_env;
--        local @ENV{@loaded_env_keys} = map { $loaded_env{$_} } (@loaded_env_keys);
-         if ($ENV{ENABLE_AUTO_RESTART}) {
-             # restart workers periodically
-             $auto_restart_interval = $ENV{AUTO_RESTART_INTERVAL} ||= 360;
-@@ -201,7 +199,7 @@ sub start_server {
-             last if ($died_worker <= 0);
-             if ($died_worker == $current_worker) {
-                 print STDERR "worker $died_worker died unexpectedly with status:$status, restarting\n";
--                $current_worker = _start_worker($opts);
-+                $current_worker = _start_worker($opts, \%loaded_env);
-                 $last_restart_time = time();
-             } else {
-                 print STDERR "old worker $died_worker died, status:$status\n";
-@@ -232,9 +230,10 @@ sub start_server {
-             }
-         }
-         if ($restart_flag > 1 || ($restart_flag > 0 && $num_old_workers == 0)) {
-+            %loaded_env = _reload_env();
-             print STDERR "spawning a new worker (num_old_workers=$num_old_workers)\n";
-             $old_workers{$current_worker} = $ENV{SERVER_STARTER_GENERATION};
--            $current_worker = _start_worker($opts);
-+            $current_worker = _start_worker($opts, \%loaded_env);
-             $last_restart_time = time();
-             $restart_flag = 0;
-             $update_status->();
-@@ -342,7 +341,7 @@ sub _reload_env {
- }
- 
- sub _start_worker {
--    my $opts = shift;
-+    my ($opts, $loaded_env) = @_;
-     my $pid;
-     while (1) {
-         $ENV{SERVER_STARTER_GENERATION}++;
-@@ -350,6 +349,8 @@ sub _start_worker {
-         die "fork(2) failed:$!"
-             unless defined $pid;
-         if ($pid == 0) {
-+            my @loaded_env_keys = keys %$loaded_env;
-+            @ENV{@loaded_env_keys} = map { $loaded_env->{$_} } (@loaded_env_keys);
-             my @args = @{$opts->{exec}};
-             # child process
-             if (defined $opts->{dir}) {
-@@ -418,9 +419,21 @@ A Net::Server personality that can be run under L<Server::Starter> exists under
- 
- Returns zero or more file descriptors on which the server program should call accept(2) in a hashref.  Each element of the hashref is: (host:port|port|path_of_unix_socket) => file_descriptor.
- 
--=item start_server
-+=item start_server(%options)
- 
--Starts the superdaemon.  Used by the C<start_server> script.
-+Starts the superdaemon.  Used by the C<start_server> script. Options are:
-+
-+=over 4
-+
-+=item envdir
-+
-+Defines a directory whose content is added into server's environment. Each file name specifies an environment variable, the file's content specifies a value of the environment variable. Files with names starting with a dot are ignored.  
-+
-+The environment directory is scanned and read only on time-based autorestart or SIGHUP signal. The first server instances have default environment. To remove an enviroment variable added before, remove the file and send the signal.
-+
-+This option is not mandatory.
-+
-+=back
- 
- =back
- 
--- 
-1.9.3
-
diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
deleted file mode 100644
index e194cf3..0000000
--- a/Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From f7d5f6bfb5e94a3ea01e53c5b69186ff7172b4bf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Fri, 8 Aug 2014 12:58:40 +0200
-Subject: [PATCH] Synchronize to PID in t/01-starter.t
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There were races between various sleeps and the restarting server.
-THis patch fixes it by waiting for complete generation change in the
-status file.
-
-This fixes CPAN RT#73711.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- t/01-starter.t | 33 +++++++++++++++++++++++++--------
- 1 file changed, 25 insertions(+), 8 deletions(-)
-
-diff --git a/t/01-starter.t b/t/01-starter.t
-index ec671f0..1ddb925 100644
---- a/t/01-starter.t
-+++ b/t/01-starter.t
-@@ -3,7 +3,7 @@ use warnings;
- 
- use File::Temp ();
- use Test::TCP;
--use Test::More tests => 28;
-+use Test::More tests => 26;
- 
- use Server::Starter qw(start_server);
- 
-@@ -43,14 +43,17 @@ for my $signal_on_hup ('TERM', 'USR1') {
-             $buf =~ /^(\d+):/;
-             my $worker_pid = $1;
-             # switch to next gen
--            sleep 2;
--            my $status = get_status();
--            like(get_status(), qr/^1:\d+\n$/s, 'status before restart');
-+            my $previous_generation = get_single_generation();
-+            like($previous_generation, qr/^1:\d+\n$/s, 'status before restart');
-             kill 'HUP', $server_pid;
--            sleep 3;
--            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during restart');
--            sleep 2;
--            like(get_status(), qr/^2:\d+\n$/s, 'status after restart');
-+            my $current_generation;
-+            while (($current_generation = get_single_generation()) eq
-+                    $previous_generation) {
-+               sleep 1;
-+            }
-+            diag "Server changed from <$previous_generation> ",
-+                "to <$current_generation>\n";
-+            like($current_generation, qr/^2:\d+\n$/s, 'status after restart');
-             is(
-                 do {
-                     open my $fh, '<', "$tempdir/signame"
-@@ -76,7 +79,21 @@ for my $signal_on_hup ('TERM', 'USR1') {
- }
- 
- sub get_status {
-+    while (! -e "$tempdir/status") {
-+        sleep 1;
-+    }
-     open my $fh, '<', "$tempdir/status"
-         or die "failed to open file:$tempdir/status:$!";
-     do { undef $/; <$fh> };
- }
-+
-+sub get_single_generation {
-+    my $status;
-+    do {
-+        sleep 1 if defined $status;
-+        $status = get_status;
-+    } until ($status =~ /\A\d+:\d+\n\z/);
-+    chomp $status;
-+    $status;
-+}
-+
--- 
-1.9.3
-
diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
deleted file mode 100644
index 7dad7e0..0000000
--- a/Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 046fb1328e76851a1398a624b77e746c37c62a67 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Thu, 21 Aug 2014 14:17:25 +0200
-Subject: [PATCH] Synchronize to PID in t/05-killolddelay.t
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There were races between various sleeps and the restarting server.
-This patch fixes it by waiting for complete generation change in the
-status file.
-
-Similar to CPAN RT#73711.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- t/05-killolddelay.t | 36 +++++++++++++++++++++++++-----------
- 1 file changed, 25 insertions(+), 11 deletions(-)
-
-diff --git a/t/05-killolddelay.t b/t/05-killolddelay.t
-index 19856af..457bdd9 100644
---- a/t/05-killolddelay.t
-+++ b/t/05-killolddelay.t
-@@ -3,7 +3,7 @@ use warnings;
- 
- use File::Temp ();
- use Test::TCP;
--use Test::More tests => 28;
-+use Test::More tests => 26;
- 
- use Server::Starter qw(start_server);
- 
-@@ -45,17 +45,18 @@ for my $signal_on_hup ('TERM', 'USR1') {
-             $buf =~ /^(\d+):/;
-             my $worker_pid = $1;
-             # switch to next gen
--            sleep 2;
--            my $status = get_status();
--            like(get_status(), qr/^1:\d+\n$/s, 'status before restart');
-+            my $previous_generation = get_single_generation();
-+            like($previous_generation, qr/^1:\d+\n$/s, 'status before restart');
-             kill 'HUP', $server_pid;
--            sleep 4;
--            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during restart');
--            # Child process has finished in 2 seconds but the parent
--            # checks and calls waitpid every second, so wait for an
--            # additional 1 second.
--            sleep 3;
--            like(get_status(), qr/^2:\d+\n$/s, 'status after restart');
-+            my $current_generation;
-+            while (($current_generation = get_single_generation()) eq
-+                    $previous_generation) {
-+               sleep 1;
-+            }
-+            diag "Server changed from <$previous_generation> ",
-+                "to <$current_generation>\n";
-+
-+            like($current_generation, qr/^2:\d+\n$/s, 'status after restart');
-             is(
-                 do {
-                     open my $fh, '<', "$tempdir/signame"
-@@ -81,7 +82,20 @@ for my $signal_on_hup ('TERM', 'USR1') {
- }
- 
- sub get_status {
-+    while (! -e "$tempdir/status") {
-+        sleep 1;
-+    }
-     open my $fh, '<', "$tempdir/status"
-         or die "failed to open file:$tempdir/status:$!";
-     do { undef $/; <$fh> };
- }
-+
-+sub get_single_generation {
-+    my $status;
-+    do {
-+        sleep 1 if defined $status;
-+        $status = get_status;
-+    } until ($status =~ /\A\d+:\d+\n\z/);
-+    chomp $status;
-+    $status;
-+}
--- 
-1.9.3
-
diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
deleted file mode 100644
index 9b4a713..0000000
--- a/Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From b2cee396fea96266a95a829b94cdf759d0eae76d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Thu, 10 Jul 2014 15:37:47 +0200
-Subject: [PATCH] Synchronize to PID in t/06-autorestart.t
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There were races between various sleeps and 4s auto_restart_interval.
-This patch replaces the sleeps by waiting for status with a single PID
-entry.
-
-Similar to CPAN RT#73711.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- t/06-autorestart.t | 35 +++++++++++++++++++++++++++--------
- 1 file changed, 27 insertions(+), 8 deletions(-)
-
-diff --git a/t/06-autorestart.t b/t/06-autorestart.t
-index bab9241..9401500 100644
---- a/t/06-autorestart.t
-+++ b/t/06-autorestart.t
-@@ -3,7 +3,7 @@ use warnings;
- 
- use File::Temp ();
- use Test::TCP;
--use Test::More tests => 28;
-+use Test::More tests => 26;
- 
- use Server::Starter qw(start_server);
- 
-@@ -46,13 +46,19 @@ for my $signal_on_hup ('TERM', 'USR1') {
-             $buf =~ /^(\d+):/;
-             my $worker_pid = $1;
-             # switch to next gen
--            sleep 2;
--            my $status = get_status();
--            like(get_status(), qr/^1:\d+\n$/s, 'status before auto-restart');
--            sleep 5;
--            like(get_status(), qr/^1:\d+\n2:\d+$/s, 'status during transient state');
--            sleep 4;
--            like(get_status(), qr/^2:\d+\n$/s, 'status after auto-restart');
-+            my $previous_generation = get_single_generation();
-+            like($previous_generation, qr/^\d+:\d+\n$/s,
-+                'status before auto-restart');
-+            my $current_generation;
-+            while (($current_generation = get_single_generation()) eq
-+                    $previous_generation) {
-+               sleep 1;
-+            }
-+            diag "Server changed from <$previous_generation> ",
-+                "to <$current_generation>\n";
-+
-+            like($current_generation, qr/^\d+:\d+\n$/s,
-+                'status after auto-restart');
-             is(
-                 do {
-                     open my $fh, '<', "$tempdir/signame"
-@@ -78,7 +84,20 @@ for my $signal_on_hup ('TERM', 'USR1') {
- }
- 
- sub get_status {
-+    while (! -e "$tempdir/status") {
-+        sleep 1;
-+    }
-     open my $fh, '<', "$tempdir/status"
-         or die "failed to open file:$tempdir/status:$!";
-     do { undef $/; <$fh> };
- }
-+
-+sub get_single_generation {
-+    my $status;
-+    do {
-+        sleep 1 if defined $status;
-+        $status = get_status;
-+    } until ($status =~ /\A\d+:\d+\n\z/);
-+    chomp $status;
-+    $status;
-+}
--- 
-1.9.3
-
diff --git a/Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch b/Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch
deleted file mode 100644
index c71590d..0000000
--- a/Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 9fc8c81a018ba6cb5f3f0ad3fbc836e301468978 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Mon, 16 Jun 2014 15:20:43 +0200
-Subject: [PATCH 1/2] Synchronize to PID in t/07-envdir.t
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The t/07-envdir.t used various sleeps to deal with races. This broke obviously
-when the timing was abnormal like on have loaded machine. This patch
-synchronizes on the status file by checking only the new worker is
-running.
-
-Similar to CPAN RT#73711.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- t/07-envdir-print.pl |  3 ++-
- t/07-envdir.t        | 29 ++++++++++++++++++++++++++---
- 2 files changed, 28 insertions(+), 4 deletions(-)
-
-diff --git a/t/07-envdir-print.pl b/t/07-envdir-print.pl
-index 22cb01a..fb14225 100755
---- a/t/07-envdir-print.pl
-+++ b/t/07-envdir-print.pl
-@@ -11,6 +11,7 @@ use Server::Starter qw(server_ports);
- $SIG{TERM} = $SIG{USR1} = sub {
-     exit 0;
- };
-+$ENV{PID} = $$;
- 
- my $listener = IO::Socket::INET->new(
-     Proto => 'tcp',
-@@ -21,7 +22,7 @@ $listener->fdopen((values %{server_ports()})[0], 'w')
- while (1) {
-     if (my $conn = $listener->accept) {
-         my $s = "";
--        for my $envkey (keys %ENV) {
-+        for my $envkey (sort keys %ENV) {
-             $s .= $envkey . "=" . $ENV{$envkey} . "\n";
-         }
-         $conn->syswrite($s);
-diff --git a/t/07-envdir.t b/t/07-envdir.t
-index 8bf2352..2050706 100644
---- a/t/07-envdir.t
-+++ b/t/07-envdir.t
-@@ -46,13 +46,36 @@ test_tcp(
-             $buf;
-         };
-         my $restart = sub {
--            sleep 1;
-+            sub getstatus {
-+                my ($file, $value);
-+                open($file, '<', "$tempdir/status") or return '';
-+                do { local $/ = undef; $value = <$file>; };
-+                close $file;
-+                $value // '';
-+            }
-+            sub getsinglegeneration {
-+                my $status;
-+                do {
-+                    sleep 1 if defined $status;
-+                    $status = getstatus;
-+                } until ($status =~ /\A\d+:\d+\n\z/);
-+                chomp $status;
-+                $status;
-+            }
-+            my $previous_generation = getsinglegeneration;
-             kill "HUP", $server_pid;
--            sleep 2;
-+            my $current_generation;
-+            while (($current_generation = getsinglegeneration) eq
-+                    $previous_generation) {
-+                sleep 1;
-+            }
-+            diag "Server changed from <$previous_generation> ",
-+                "to <$current_generation>\n";
-         };
-         # Initial worker does not read envdir
-         my $buf = $fetch_env->();
--        unlike($buf, qr/^FOO=foo-value1$/m, 'changed env');
-+        unlike($buf, qr/^FOO=foo-value1$/m,
-+            'environment not read for the first time');
-         # rewrite envdir
-         open my $envfh, ">", "$tempdir/env/FOO" or die $!;
-         print $envfh "foo-value2";
--- 
-1.9.3
-
diff --git a/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch b/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
deleted file mode 100644
index 6236bea..0000000
--- a/Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 3ec63d1650f9199d6d2b2413c7e855bc108646a4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
-Date: Mon, 8 Sep 2014 19:03:08 +0200
-Subject: [PATCH] Synchronize to content in signame file
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There is a race between t/06-autorestart.t and
-t/05-killolddelay-echod.pl. If t/05-killolddelay-echod.pl is not fast
-enough with writing received signal name (e.g. by adding "sleep 2;" in
-the beginning of a signal handler), the t/06-autorestart.t will get
-empty signame file and the test for the signal name will fail.
-
-This patch adds synchornization by locking the signame file.
-
-Similar to CPAN RT#73711.
-
-Signed-off-by: Petr Písař <ppisar at redhat.com>
----
- t/05-killolddelay-echod.pl | 3 +++
- t/06-autorestart.t         | 8 ++++++--
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/t/05-killolddelay-echod.pl b/t/05-killolddelay-echod.pl
-index 5b48ca5..bd6be30 100755
---- a/t/05-killolddelay-echod.pl
-+++ b/t/05-killolddelay-echod.pl
-@@ -5,16 +5,19 @@ use warnings;
- 
- use lib qw(blib/lib lib);
- 
-+use Fcntl qw(:flock);
- use IO::Socket::INET;
- use Server::Starter qw(server_ports);
- 
- my $sigfn = shift @ARGV;
- open my $sigfh, '>', $sigfn
-     or die "could not open file:$sigfn:$!";
-+flock $sigfh, LOCK_EX or die "could lock file:$sigfh:$!";
- 
- $SIG{TERM} = $SIG{USR1} = sub {
-     my $signame = shift;
-     print $sigfh $signame;
-+    flock $sigfh, LOCK_UN or die $!;
-     sleep 1;
-     exit 0;
- };
-diff --git a/t/06-autorestart.t b/t/06-autorestart.t
-index 9401500..58e98d1 100644
---- a/t/06-autorestart.t
-+++ b/t/06-autorestart.t
-@@ -1,6 +1,7 @@
- use strict;
- use warnings;
- 
-+use Fcntl qw(:flock);
- use File::Temp ();
- use Test::TCP;
- use Test::More tests => 26;
-@@ -61,9 +62,12 @@ for my $signal_on_hup ('TERM', 'USR1') {
-                 'status after auto-restart');
-             is(
-                 do {
--                    open my $fh, '<', "$tempdir/signame"
-+                    open my $fh, '+<', "$tempdir/signame"
-                         or die $!;
--                    <$fh>;
-+                    flock $fh, LOCK_EX or die $!;
-+                    my $signal = <$fh>;
-+                    flock $fh, LOCK_UN or die $!;
-+                    $signal;
-                 },
-                 $signal_on_hup,
-                 'signal sent on hup',
--- 
-1.9.3
-
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 6a5bbf4..7ad89af 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,41 +1,36 @@
 Name:           perl-Server-Starter
-Version:        0.17
-Release:        9%{?dist}
+Version:        0.25
+Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/Server-Starter/
 Source0:        http://www.cpan.org/authors/id/K/KA/KAZUHO/Server-Starter-%{version}.tar.gz
-# Fix t/07-envdir.t race, bug #1100158, CPAN RT#73711
-Patch0:         Server-Starter-0.17-Synchronize-to-PID-in-t-07-envdir.t.patch
-# Fix loading the environment directory, bug #1100158, CPAN RT#73711
-Patch1:         Server-Starter-0.17-Fix-loading-envdir.patch
-# Fix t/06-autorestart.t race, bug #1100158, CPAN RT#73711
-Patch2:         Server-Starter-0.17-Synchronize-to-PID-in-t-06-autorestart.t.patch
-# Fix t/01-starter.t race, bug #1100158, CPAN RT#73711
-Patch3:         Server-Starter-0.17-Synchronize-to-PID-in-t-01-starter.t.patch
-# Fix t/05-killolddelay.t race, bug #1100158, CPAN RT#73711
-Patch4:         Server-Starter-0.17-Synchronize-to-PID-in-t-05-killolddelay.t.patch
-# Fix a race between t/06-autorestart.t and t/05-killolddelay-echod.pl,
-# bug #1100158, CPAN RT#73711
-Patch5:         Server-Starter-0.17-Synchronize-to-content-in-signame-file.patch
 BuildArch:      noarch
 
+BuildRequires:  perl(Carp)
+BuildRequires:  perl(Exporter)
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
+BuildRequires:  perl(Fcntl)
 BuildRequires:  perl(Getopt::Long)
-BuildRequires:  perl(List::MoreUtils)
-BuildRequires:  perl(Proc::Wait3)
-BuildRequires:  perl(Scope::Guard)
+BuildRequires:  perl(IO::Handle)
+BuildRequires:  perl(IO::Socket::UNIX)
+BuildRequires:  perl(POSIX)
+BuildRequires:  perl(Socket)
+BuildRequires:  perl(strict)
+BuildRequires:  perl(warnings)
+
 # For the tests
-BuildRequires:  perl(Fcntl)
+BuildRequires:  perl(IO::Socket::IP)
+BuildRequires:  perl(Net::EmptyPort)
 BuildRequires:  perl(Test::TCP) >= 2.00
+BuildRequires:  perl(Test::Requires)
+BuildRequires:  perl(Test::SharedFork)
 
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 
 %package start_server
 Summary:        perl-Server-Starter start_server script
-# FIXME: This doesn't make much sense. If at all, then this should be 
-# Requires: perl(Server::Starter) = perl-version(Server::Starter)
 Requires:       perl-Server-Starter = %{version}-%{release}
 
 %description
@@ -53,12 +48,13 @@ perl-Server-Starter's start_server script.
 
 %prep
 %setup -q -n Server-Starter-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+# Remove bundled modules
+for f in inc/Test/TCP.pm inc/IO/Socket/IP.pm inc/Net/EmptyPort.pm \
+  inc/Test/SharedFork.pm; do
+  pat=$(echo "$f" | sed 's,/,\\/,g;s,\.,\\.,g')
+  rm $f
+  sed -i -e "/$pat/d" MANIFEST
+done
 
 %build
 # --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
@@ -67,8 +63,6 @@ perl-Server-Starter's start_server script.
 make %{?_smp_mflags} 
 
 %install
-rm -rf $RPM_BUILD_ROOT
-
 make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
 
 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
@@ -89,6 +83,12 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Tue Apr 07 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.25-1
+- Upstream update.
+- Rework spec.
+- Remove bundled modules.
+- Drop Fedora/RH-patches.
+
 * Tue Sep 09 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.17-9
 - Perl 5.20 mass
 
diff --git a/sources b/sources
index 5088c35..628286e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c08d2e7d93c60b0c6def9db09b3b2426  Server-Starter-0.17.tar.gz
+0b94ee58578d4f5a7a7b97b0a98c90c2  Server-Starter-0.25.tar.gz
-- 
cgit v0.10.2


From f6efb74567d210b58a234038263486447ebae3c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Fri, 1 May 2015 07:58:52 +0200
Subject: Upstream update.

- Reflect upstream having dropped bundling modules.
- Reflect upstream having re-added LICENCE.
- Reflect upstream having switched to Module::Build.

diff --git a/.gitignore b/.gitignore
index 2ba2233..e4c28b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.25.tar.gz
+/Server-Starter-0.27.tar.gz
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 7ad89af..06b6c1f 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,5 +1,5 @@
 Name:           perl-Server-Starter
-Version:        0.25
+Version:        0.27
 Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
@@ -10,12 +10,15 @@ BuildArch:      noarch
 
 BuildRequires:  perl(Carp)
 BuildRequires:  perl(Exporter)
-BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
 BuildRequires:  perl(Fcntl)
+BuildRequires:  perl(File::Basename)
+BuildRequires:  perl(File::Spec)
 BuildRequires:  perl(Getopt::Long)
 BuildRequires:  perl(IO::Handle)
 BuildRequires:  perl(IO::Socket::UNIX)
+BuildRequires:  perl(Module::Build)
 BuildRequires:  perl(POSIX)
+BuildRequires:  perl(Pod::Usage)
 BuildRequires:  perl(Socket)
 BuildRequires:  perl(strict)
 BuildRequires:  perl(warnings)
@@ -23,7 +26,7 @@ BuildRequires:  perl(warnings)
 # For the tests
 BuildRequires:  perl(IO::Socket::IP)
 BuildRequires:  perl(Net::EmptyPort)
-BuildRequires:  perl(Test::TCP) >= 2.00
+BuildRequires:  perl(Test::TCP) >= 2.08
 BuildRequires:  perl(Test::Requires)
 BuildRequires:  perl(Test::SharedFork)
 
@@ -48,22 +51,13 @@ perl-Server-Starter's start_server script.
 
 %prep
 %setup -q -n Server-Starter-%{version}
-# Remove bundled modules
-for f in inc/Test/TCP.pm inc/IO/Socket/IP.pm inc/Net/EmptyPort.pm \
-  inc/Test/SharedFork.pm; do
-  pat=$(echo "$f" | sed 's,/,\\/,g;s,\.,\\.,g')
-  rm $f
-  sed -i -e "/$pat/d" MANIFEST
-done
 
 %build
-# --skipdeps causes ExtUtils::AutoInstall not to try auto-installing
-#   missing modules
-%{__perl} Makefile.PL INSTALLDIRS=vendor --skipdeps
-make %{?_smp_mflags} 
+%{__perl} Build.PL --installdirs=vendor
+./Build
 
 %install
-make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
+./Build install --destdir=$RPM_BUILD_ROOT --create_packlist=0
 
 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
 find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
@@ -71,10 +65,11 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_fixperms} $RPM_BUILD_ROOT/*
 
 %check
-make test
+./Build test
 
 %files
-%doc Changes README
+%doc Changes README.md
+%license LICENSE
 %{perl_vendorlib}/*
 %{_mandir}/man3/*
 
@@ -83,6 +78,12 @@ make test
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Fri May 01 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.27-1
+- Upstream update.
+- Reflect upstream having dropped bundling modules.
+- Reflect upstream having re-added LICENCE.
+- Reflect upstream having switched to Module::Build.
+
 * Tue Apr 07 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.25-1
 - Upstream update.
 - Rework spec.
diff --git a/sources b/sources
index 628286e..c84207a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0b94ee58578d4f5a7a7b97b0a98c90c2  Server-Starter-0.25.tar.gz
+3330f699ec30546bf105bb61c05b4105  Server-Starter-0.27.tar.gz
-- 
cgit v0.10.2


From 78c055e909b12b9159fbc33a2d8c684ff86808cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Sat, 30 May 2015 00:51:54 +0200
Subject: Upstream update.


diff --git a/.gitignore b/.gitignore
index e4c28b2..511cac3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.27.tar.gz
+/Server-Starter-0.28.tar.gz
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 06b6c1f..a083e78 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,5 +1,5 @@
 Name:           perl-Server-Starter
-Version:        0.27
+Version:        0.28
 Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Sat May 30 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.28-1
+- Upstream update.
+
 * Fri May 01 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.27-1
 - Upstream update.
 - Reflect upstream having dropped bundling modules.
diff --git a/sources b/sources
index c84207a..d2c86e0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3330f699ec30546bf105bb61c05b4105  Server-Starter-0.27.tar.gz
+7145d6e90b3545944cbb13a9f5076d10  Server-Starter-0.28.tar.gz
-- 
cgit v0.10.2


From a16f4e3258928d53f47c08000628cee92ef91b1f Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik at redhat.com>
Date: Fri, 5 Jun 2015 13:38:04 +0200
Subject: Perl 5.22 rebuild


diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index a083e78..a851ace 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.28
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Fri Jun 05 2015 Jitka Plesnikova <jplesnik at redhat.com> - 0.28-2
+- Perl 5.22 rebuild
+
 * Sat May 30 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.28-1
 - Upstream update.
 
-- 
cgit v0.10.2


From 63fce7b707717127211fab320b0debeac6e83407 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Thu, 11 Jun 2015 18:20:44 +0200
Subject: Upstream update.


diff --git a/.gitignore b/.gitignore
index 511cac3..d9b69ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.28.tar.gz
+/Server-Starter-0.29.tar.gz
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index a851ace..6ba6a23 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
-Version:        0.28
-Release:        2%{?dist}
+Version:        0.29
+Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.29-1
+- Upstream update.
+
 * Fri Jun 05 2015 Jitka Plesnikova <jplesnik at redhat.com> - 0.28-2
 - Perl 5.22 rebuild
 
diff --git a/sources b/sources
index d2c86e0..8c04e8e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7145d6e90b3545944cbb13a9f5076d10  Server-Starter-0.28.tar.gz
+c2567036ca2018b89d5a14a6ee5d0661  Server-Starter-0.29.tar.gz
-- 
cgit v0.10.2


From 60436178639228edd317a80c64d40800d49290ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Thu, 11 Jun 2015 18:33:51 +0200
Subject: Upstream update.


diff --git a/.gitignore b/.gitignore
index d9b69ab..69b41d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.29.tar.gz
+/Server-Starter-0.30.tar.gz
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 6ba6a23..0b12776 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,5 +1,5 @@
 Name:           perl-Server-Starter
-Version:        0.29
+Version:        0.30
 Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.30-1
+- Upstream update.
+
 * Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.29-1
 - Upstream update.
 
diff --git a/sources b/sources
index 8c04e8e..558790c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c2567036ca2018b89d5a14a6ee5d0661  Server-Starter-0.29.tar.gz
+84a10a9f48caf74292a1acb8b4365344  Server-Starter-0.30.tar.gz
-- 
cgit v0.10.2


From 74a056477e0443e5c28a7b066bb84d9f9934ad1c Mon Sep 17 00:00:00 2001
From: Dennis Gilmore <dennis at ausil.us>
Date: Thu, 18 Jun 2015 05:53:35 +0000
Subject: - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild


diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 0b12776..f55c039 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
 Version:        0.30
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Thu Jun 18 2015 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.30-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
 * Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.30-1
 - Upstream update.
 
-- 
cgit v0.10.2


From 373b8b8cbdfc57839e564f35e6c9f11e31572570 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Sun, 26 Jul 2015 15:33:45 +0200
Subject: Upstream update.


diff --git a/.gitignore b/.gitignore
index 69b41d4..fce5ebb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/Server-Starter-0.30.tar.gz
+/Server-Starter-0.31.tar.gz
diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index f55c039..1431d6d 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -1,6 +1,6 @@
 Name:           perl-Server-Starter
-Version:        0.30
-Release:        2%{?dist}
+Version:        0.31
+Release:        1%{?dist}
 Summary:        Superdaemon for hot-deploying server programs
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -78,6 +78,9 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 %{_mandir}/man1/start_server.*
 
 %changelog
+* Sun Jul 26 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.31-1
+- Upstream update.
+
 * Thu Jun 18 2015 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.30-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
 
diff --git a/sources b/sources
index 558790c..a926363 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-84a10a9f48caf74292a1acb8b4365344  Server-Starter-0.30.tar.gz
+48a6cca38adeb57878d5339891dcfacf  Server-Starter-0.31.tar.gz
-- 
cgit v0.10.2


From 8e25bbd377a2964b72d82ea78cedaea91a8c7924 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
Date: Sun, 26 Jul 2015 15:45:10 +0200
Subject: Cleanup merger.


diff --git a/perl-Server-Starter.spec b/perl-Server-Starter.spec
index 1431d6d..61d7fd9 100644
--- a/perl-Server-Starter.spec
+++ b/perl-Server-Starter.spec
@@ -81,18 +81,6 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 * Sun Jul 26 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.31-1
 - Upstream update.
 
-* Thu Jun 18 2015 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.30-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.30-1
-- Upstream update.
-
-* Thu Jun 11 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.29-1
-- Upstream update.
-
-* Fri Jun 05 2015 Jitka Plesnikova <jplesnik at redhat.com> - 0.28-2
-- Perl 5.22 rebuild
-
 * Sat May 30 2015 Ralf Corsépius <corsepiu at fedoraproject.org> - 0.28-1
 - Upstream update.
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/perl-Server-Starter.git/commit/?h=f21&id=a4740b986e4bcf689f21956ce1b806e6e0e41679


More information about the perl-devel mailing list