Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Starman for openSUSE:Factory 
checked in at 2022-09-27 20:14:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Starman (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Starman.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Starman"

Tue Sep 27 20:14:40 2022 rev:3 rq:1006445 version:0.4016

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Starman/perl-Starman.changes        
2019-05-24 11:32:46.145380917 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Starman.new.2275/perl-Starman.changes      
2022-09-27 20:14:53.389952980 +0200
@@ -1,0 +2,9 @@
+Wed Sep 14 03:08:43 UTC 2022 - Tina M??ller <timueller+p...@suse.de>
+
+- updated to 0.4016
+   see /usr/share/doc/packages/perl-Starman/Changes
+
+  0.4016  2022-09-13 10:11:34 PDT
+          - Add psgix.informational callback #146
+
+-------------------------------------------------------------------

Old:
----
  Starman-0.4015.tar.gz

New:
----
  Starman-0.4016.tar.gz

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

Other differences:
------------------
++++++ perl-Starman.spec ++++++
--- /var/tmp/diff_new_pack.vpakjd/_old  2022-09-27 20:14:53.785953842 +0200
+++ /var/tmp/diff_new_pack.vpakjd/_new  2022-09-27 20:14:53.789953851 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Starman
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,16 @@
 #
 
 
+%define cpan_name Starman
 Name:           perl-Starman
-Version:        0.4015
+Version:        0.4016
 Release:        0
-%define cpan_name Starman
-Summary:        High-performance preforking PSGI/Plack web server
 License:        Artistic-1.0 OR GPL-1.0-or-later
-Group:          Development/Libraries/Perl
-Url:            https://metacpan.org/release/%{cpan_name}
+Summary:        High-performance preforking PSGI/Plack web server
+URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(Data::Dump)
@@ -98,8 +96,8 @@
 This server does not support Win32.
 
 %prep
-%setup -q -n %{cpan_name}-%{version}
-find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
+%autosetup  -n %{cpan_name}-%{version}
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
 
 %build
 perl Build.PL --installdirs=vendor
@@ -113,8 +111,7 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%defattr(-,root,root,755)
-%doc Changes README script
+%doc Changes README
 %license LICENSE
 
 %changelog

++++++ Starman-0.4015.tar.gz -> Starman-0.4016.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/Changes new/Starman-0.4016/Changes
--- old/Starman-0.4015/Changes  2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/Changes  2022-09-13 19:11:36.000000000 +0200
@@ -1,5 +1,8 @@
 Revision history for Perl extension Starman
 
+0.4016  2022-09-13 10:11:34 PDT
+        - Add psgix.informational callback #146
+
 0.4015  2019-05-20 18:43:46 PDT
         - Fixed a bug incorrectly handling content body of '0' (olsonanl) #133
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/LICENSE new/Starman-0.4016/LICENSE
--- old/Starman-0.4015/LICENSE  2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/LICENSE  2022-09-13 19:11:36.000000000 +0200
@@ -292,21 +292,21 @@
 
   - "Package" refers to the collection of files distributed by the Copyright
     Holder, and derivatives of that collection of files created through
-    textual modification. 
+    textual modification.
   - "Standard Version" refers to such a Package if it has not been modified,
     or has been modified in accordance with the wishes of the Copyright
-    Holder. 
+    Holder.
   - "Copyright Holder" is whoever is named in the copyright or copyrights for
-    the package. 
+    the package.
   - "You" is you, if you're thinking about copying or distributing this 
Package.
   - "Reasonable copying fee" is whatever you can justify on the basis of media
     cost, duplication charges, time of people involved, and so on. (You will
     not be required to justify it to the Copyright Holder, but only to the
-    computing community at large as a market that must bear the fee.) 
+    computing community at large as a market that must bear the fee.)
   - "Freely Available" means that no fee is charged for the item itself, though
     there may be fees involved in handling the item. It also means that
     recipients of the item may redistribute it under the same conditions they
-    received it. 
+    received it.
 
 1. You may make and give away verbatim copies of the source form of the
 Standard Version of this Package without restriction, provided that you
@@ -373,7 +373,7 @@
 
 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
 WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
 The End
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/MANIFEST new/Starman-0.4016/MANIFEST
--- old/Starman-0.4015/MANIFEST 2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/MANIFEST 2022-09-13 19:11:36.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.025.
 Build.PL
 Changes
 LICENSE
@@ -18,6 +18,8 @@
 t/chunked_req.t
 t/chunked_termination.t
 t/chunked_zero_length.t
+t/early-hints.t
+t/expect.t
 t/findbin.psgi
 t/harakiri.t
 t/lf_only_request.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/META.json new/Starman-0.4016/META.json
--- old/Starman-0.4015/META.json        2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/META.json        2022-09-13 19:11:36.000000000 +0200
@@ -4,7 +4,7 @@
       "Tatsuhiko Miyagawa <miyag...@bulknews.net>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Milla version v1.0.20, Dist::Zilla version 6.012, 
CPAN::Meta::Converter version 2.143240",
+   "generated_by" : "Dist::Milla version v1.0.21, Dist::Zilla version 6.025, 
CPAN::Meta::Converter version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -34,7 +34,8 @@
       },
       "develop" : {
          "requires" : {
-            "Dist::Milla" : "v1.0.20",
+            "Dist::Milla" : "v1.0.21",
+            "LWP::Protocol::https" : "0",
             "Test::Pod" : "1.41"
          }
       },
@@ -51,7 +52,7 @@
             "perl" : "5.008001"
          },
          "suggests" : {
-            "Net::Server::SS::Prefork" : "0",
+            "Net::Server::SS::PreFork" : "0",
             "Server::Starter" : "0"
          }
       },
@@ -75,7 +76,7 @@
          "web" : "https://github.com/miyagawa/Starman";
       }
    },
-   "version" : "0.4015",
+   "version" : "0.4016",
    "x_contributors" : [
       "Adam Guthrie <adam.guth...@dvlgames.com>",
       "Alex Vandiver <a...@chmrr.net>",
@@ -98,14 +99,18 @@
       "Perlover <perlo...@perlover.com>",
       "Peter Makholm <pe...@makholm.net>",
       "Piotr Roszatycki <piotr.roszaty...@gmail.com>",
+      "podoleanuciprian <52755740+podoleanucipr...@users.noreply.github.com>",
       "Robert Olson <ol...@mcs.anl.gov>",
+      "Robert Rothenberg <r...@cpan.org>",
       "Robert Sedlacek <r.sedla...@shadowcat.co.uk>",
       "Slobodan Mi\u0161kovi\u0107 <slobo...@miskovic.ca>",
       "spleenjack <spleenj...@gmail.com>",
+      "Tatsuhiko Miyagawa <tmiyag...@fastly.com>",
       "Tim Bunce <tim.bu...@pobox.com>"
    ],
-   "x_generated_by_perl" : "v5.20.1",
-   "x_serialization_backend" : "Cpanel::JSON::XS version 4.09",
+   "x_generated_by_perl" : "v5.34.1",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.27",
+   "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later",
    "x_static_install" : 1
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/META.yml new/Starman-0.4016/META.yml
--- old/Starman-0.4015/META.yml 2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/META.yml 2022-09-13 19:11:36.000000000 +0200
@@ -9,7 +9,7 @@
 configure_requires:
   Module::Build::Tiny: '0.034'
 dynamic_config: 0
-generated_by: 'Dist::Milla version v1.0.20, Dist::Zilla version 6.012, 
CPAN::Meta::Converter version 2.143240'
+generated_by: 'Dist::Milla version v1.0.21, Dist::Zilla version 6.025, 
CPAN::Meta::Converter version 2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -37,7 +37,7 @@
   bugtracker: https://github.com/miyagawa/Starman/issues
   homepage: https://github.com/miyagawa/Starman
   repository: https://github.com/miyagawa/Starman.git
-version: '0.4015'
+version: '0.4016'
 x_contributors:
   - 'Adam Guthrie <adam.guth...@dvlgames.com>'
   - 'Alex Vandiver <a...@chmrr.net>'
@@ -60,11 +60,15 @@
   - 'Perlover <perlo...@perlover.com>'
   - 'Peter Makholm <pe...@makholm.net>'
   - 'Piotr Roszatycki <piotr.roszaty...@gmail.com>'
+  - 'podoleanuciprian <52755740+podoleanucipr...@users.noreply.github.com>'
   - 'Robert Olson <ol...@mcs.anl.gov>'
+  - 'Robert Rothenberg <r...@cpan.org>'
   - 'Robert Sedlacek <r.sedla...@shadowcat.co.uk>'
   - 'Slobodan Mi??kovi?? <slobo...@miskovic.ca>'
   - 'spleenjack <spleenj...@gmail.com>'
+  - 'Tatsuhiko Miyagawa <tmiyag...@fastly.com>'
   - 'Tim Bunce <tim.bu...@pobox.com>'
-x_generated_by_perl: v5.20.1
+x_generated_by_perl: v5.34.1
 x_serialization_backend: 'YAML::Tiny version 1.73'
+x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
 x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/README new/Starman-0.4016/README
--- old/Starman-0.4015/README   2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/README   2022-09-13 19:11:36.000000000 +0200
@@ -96,6 +96,28 @@
     Starman workers behind the frontend servers such as nginx, and use HTTP
     proxy with TCP or UNIX sockets.
 
+PSGI EXTENSIONS
+
+ psgix.informational
+
+    Starman exposes a callback named psgix.informational that can be used
+    for sending an informational response. The callback accepts two
+    arguments, the first argument being the status code and the second
+    being an arrayref of the headers to be sent. Example below sends an 103
+    Early Hints response before processing the request to build a final
+    response.
+
+        sub {
+            my $env = shift;
+    
+            $env->{'psgix.informational'}->( 103, [
+                "Link" => "</style.css>; rel=preload"
+            ] );
+    
+            my $rest = ...
+            $resp;
+        }
+
 AUTHOR
 
     Tatsuhiko Miyagawa <miyag...@bulknews.net>
@@ -106,6 +128,8 @@
     Kazuho Oku wrote Net::Server::SS::PreFork that makes it easy to add
     Server::Starter support to this software.
 
+    The psgix.informational callback comes from Starlet by Kazuho Oku.
+
 COPYRIGHT
 
     Tatsuhiko Miyagawa, 2010-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/cpanfile new/Starman-0.4016/cpanfile
--- old/Starman-0.4015/cpanfile 2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/cpanfile 2022-09-13 19:11:36.000000000 +0200
@@ -9,10 +9,14 @@
 requires 'perl', '5.008001';
 
 suggests 'Server::Starter';
-suggests 'Net::Server::SS::Prefork';
+suggests 'Net::Server::SS::PreFork';
 
 on test => sub {
     requires 'Test::More';
     requires 'Test::Requires';
     requires 'LWP::UserAgent';
 };
+
+on develop => sub {
+    requires 'LWP::Protocol::https';
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/lib/Starman/Server.pm 
new/Starman-0.4016/lib/Starman/Server.pm
--- old/Starman-0.4015/lib/Starman/Server.pm    2019-05-21 03:43:51.000000000 
+0200
+++ new/Starman-0.4016/lib/Starman/Server.pm    2022-09-13 19:11:36.000000000 
+0200
@@ -77,7 +77,7 @@
             my($h, $p, $opt) = split /:/, $listen, 3;
             $listen{host} = $h if $h;
             $listen{port} = $p;
-            $listen{proto} = 'ssl' if 'ssl' eq lc $opt;
+            $listen{proto} = 'ssl' if defined $opt && lc $opt eq 'ssl';
         } else {
             %listen = (
                 host  => 'localhost',
@@ -234,6 +234,7 @@
             'psgix.io'          => $conn,
             'psgix.input.buffered' => Plack::Util::TRUE,
             'psgix.harakiri' => Plack::Util::TRUE,
+            'psgix.informational' => sub { _write_informational($conn, @_) },
         };
 
         # Parse headers
@@ -579,6 +580,20 @@
     }
 }
 
+sub _write_informational {
+    my ($conn, $code, $headers) = @_;
+    my $message = HTTP::Status::status_message($code);
+    my @lines = "HTTP/1.1 $code $message";
+    for (my $i = 0; $i < @$headers; $i += 2) {
+        my $k = $headers->[$i];
+        my $v = $headers->[$i + 1];
+        push @lines, "$k: $v" ;
+    }
+    _syswrite($conn, \join($CRLF, @lines, $CRLF));
+
+    DEBUG && warn "[$$] Sent $code $message response\n";
+}
+
 sub post_client_connection_hook {
     my $self = shift;
     if ($self->{client}->{harakiri}) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/lib/Starman.pm 
new/Starman-0.4016/lib/Starman.pm
--- old/Starman-0.4015/lib/Starman.pm   2019-05-21 03:43:51.000000000 +0200
+++ new/Starman-0.4016/lib/Starman.pm   2022-09-13 19:11:36.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use 5.008_001;
-our $VERSION = '0.4015';
+our $VERSION = '0.4016';
 
 1;
 __END__
@@ -111,6 +111,28 @@
 put Starman workers behind the frontend servers such as nginx, and use
 HTTP proxy with TCP or UNIX sockets.
 
+=head1 PSGI EXTENSIONS
+
+=head2 psgix.informational
+
+Starman exposes a callback named C<psgix.informational> that can be
+used for sending an informational response. The callback accepts two
+arguments, the first argument being the status code and the second
+being an arrayref of the headers to be sent. Example below sends an
+103 Early Hints response before processing the request to build a
+final response.
+
+    sub {
+        my $env = shift;
+
+        $env->{'psgix.informational'}->( 103, [
+            "Link" => "</style.css>; rel=preload"
+        ] );
+
+        my $rest = ...
+        $resp;
+    }
+
 =head1 AUTHOR
 
 Tatsuhiko Miyagawa E<lt>miyag...@bulknews.nete<gt>
@@ -121,6 +143,7 @@
 Kazuho Oku wrote L<Net::Server::SS::PreFork> that makes it easy to add
 L<Server::Starter> support to this software.
 
+The C<psgix.informational> callback comes from L<Starlet> by Kazuho Oku.
 
 =head1 COPYRIGHT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/t/early-hints.t 
new/Starman-0.4016/t/early-hints.t
--- old/Starman-0.4015/t/early-hints.t  1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4016/t/early-hints.t  2022-09-13 19:11:36.000000000 +0200
@@ -0,0 +1,55 @@
+use strict;
+use Test::TCP;
+use IO::Socket::INET qw/ SHUT_WR /;
+use HTTP::Request;
+use HTTP::Response;
+use Plack::Loader;
+use Test::More;
+
+$ENV{PLACK_SERVER} = 'Starman';
+
+test_tcp(
+    client => sub {
+        my $port = shift;
+
+        my $socket = IO::Socket::INET->new(
+            PeerAddr => 'localhost',
+            PeerPort => $port,
+            Proto => 'tcp'
+        ) or die "Failed to connect to server: $!";
+
+        my $req_string = join("\r\n", "GET / HTTP/1.1", "Host: localhost", "", 
"");
+
+        $socket->send($req_string);
+        $socket->shutdown(SHUT_WR);
+
+        my $data = "";
+        while ($socket->connected) {
+            my $buf;
+            $socket->recv($buf, 1024);
+            $data .= $buf;
+        }
+
+        my @lines = split /\r\n/, $data;
+
+        is $lines[0], "HTTP/1.1 103 Early Hints";
+        is $lines[1], "Link: </style.css>; rel=preload";
+        is $lines[2], "";
+        is $lines[3], "HTTP/1.1 200 OK";
+
+    },
+    server => sub {
+        my $port = shift;
+        my $server = Plack::Loader->auto(port => $port, host => '127.0.0.1');
+
+        $server->run(sub {
+            my $env = shift;
+            $env->{'psgix.informational'}->( 103, [
+                "Link" => "</style.css>; rel=preload"
+            ] );
+            return [ 200,  [ 'Content-Type', 'text/plain' ], ["ok"] ]
+        });
+    }
+);
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Starman-0.4015/t/expect.t 
new/Starman-0.4016/t/expect.t
--- old/Starman-0.4015/t/expect.t       1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4016/t/expect.t       2022-09-13 19:11:36.000000000 +0200
@@ -0,0 +1,48 @@
+use strict;
+use Test::TCP;
+use IO::Socket::INET qw/ SHUT_WR /;
+use HTTP::Request;
+use HTTP::Response;
+use Plack::Loader;
+use Test::More;
+
+$ENV{PLACK_SERVER} = 'Starman';
+
+test_tcp(
+    client => sub {
+        my $port = shift;
+
+        my $socket = IO::Socket::INET->new(
+            PeerAddr => 'localhost',
+            PeerPort => $port,
+            Proto => 'tcp'
+        ) or die "Failed to connect to server: $!";
+
+        my $req_string = join("\r\n", "POST / HTTP/1.1", "Host: localhost", 
"Expect: 100-CONTINUE", "Content-Length: 0", "", "");
+
+        $socket->send($req_string);
+        $socket->shutdown(SHUT_WR);
+
+        my $data = "";
+        while ($socket->connected) {
+            my $buf;
+            $socket->recv($buf, 1024);
+            $data .= $buf;
+        }
+
+        my @lines = split /\r\n/, $data;
+
+        is $lines[0], "HTTP/1.1 100 Continue";
+        is $lines[1], "";
+        is $lines[2], "HTTP/1.1 200 OK";
+
+    },
+    server => sub {
+        my $port = shift;
+        my $server = Plack::Loader->auto(port => $port, host => '127.0.0.1');
+
+        $server->run(sub { return [ 200,  [ 'Content-Type', 'text/plain' ], 
["ok"] ] });
+    }
+);
+
+done_testing;

Reply via email to