Hello community, here is the log from the commit of package perl-IO-Async for openSUSE:Factory checked in at 2020-10-26 16:22:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-IO-Async (Old) and /work/SRC/openSUSE:Factory/.perl-IO-Async.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IO-Async" Mon Oct 26 16:22:35 2020 rev:2 rq:842978 version:0.77 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-IO-Async/perl-IO-Async.changes 2015-05-12 06:46:47.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-IO-Async.new.3463/perl-IO-Async.changes 2020-10-26 16:23:17.895272218 +0100 @@ -1,0 +2,139 @@ +Fri Oct 16 19:34:27 UTC 2020 - Dirk Stoecker <opens...@dstoecker.de> + +- add IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch + to fix IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch + +- updated to 0.77 + see /usr/share/doc/packages/perl-IO-Async/Changes + + 0.77 2020-05-13 + [CHANGES] + * Updated for Metrics::Any 0.05 + * Report an info-type gauge metric to track loop types + * Loop processing time should be a timer metric, not a distribution + * Don't bother reporting zero-byte stream read/write metrics + [BUGFIXES] + * Skip metrics-related unit tests if metrics aren't active, even + though we depend on Test::Metrics::Any + * Account for MSWin32's EWOULDBLOCK in t/70future-io.t + + 0.76 2020-05-05 + [CHANGES] + * Initial attempt at providing metrics via Metrics::Any + * Renamed ->(un)watch_child API to ->(un)watch_process + * Renamed 'child' LoopTests suite to 'process' + + 0.75 2019-11-26 00:06:59 + [CHANGES] + * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode + filehandles + * Added IO::Async::Process->finish_future + * Added IO::Async::Routine->result_future + * Future-returning version of IO::Async::Function->stop + * Don't load IO::Socket or Sereal modules unless required + [BUGFIXES] + * Refresh the sigpipe in ->post_fork if required (RT128588) + * Fix some spelling mistakes (RT130087) + * Skip the async getprotobyname() test if it doesn't work + synchronously (RT131029) + + 0.74 2019-06-27 18:44:38 + [CHANGES] + * Warn about IO::Async::Stream using autoflush on a blocking handle + * Implement queuing priorities for IO::Async::Function calls (RT129918) + * Send a terminating signal to a ->run_process process on cancellation + (RT129225) + * Optionally make ->run_process future fail when process exits non-zero + (RT129225) + * Implement the Future::IO->syswrite API + [BUGFIXES] + * Skip t/70future-io.t unless Future::IO is available (RT129807) + * Remember to set O_NONBLOCK on IO::Async::Channel async mode + filehandles (RT129879) + * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() + (RT129806) + + 0.73 2019-06-12 16:49:28 + [CHANGES] + * Provide an IO::Async implementation of Future::IO + * Added $loop->run_process (RT129225) + * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do + IO::Async::Loop->new successfully + * Added $notifier->adopted_futures accessor (RT127818) + * Various docs fixes + + 0.72 2018-04-02 19:34:27 + [CHANGES] + * Expanded docs on Stream's on_read sub return values + * Overridable timeout for IO::Async::Test::wait_for + * Hide IO::Async::ChildManager as an internal implementation detail; + move the docs into main IO::Async::Loop + * Added $loop->open_process; suggest using that instead of + ->open_child + * Begin implementation of $loop->is_running method (part of RT123780) + [BUGFIXES] + * Make IO::Async::Future->await wait until it's ready + * Fix calculation of periodic timer in 'skip' mode (RT124414) + * Perform synchronous getaddrinfo shortcut even for service-less + lookups + * Make sure that errors from underlying read/write functions are + debug-logged by IO::Async::Stream + + 0.71 2016/12/22 15:05:50 + [CHANGES] + * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks + GMARLER + * Prefer Sereal Channel encoding if that module is available + * Ensure that IaFunction still prints debug information on futures + * Miscellaneous spelling fixes in docs - thanks genio + [BUGFIXES] + * 'use lib ".";' for perl 5.24 + * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA + because some resolvers lie (RT113429) + * Fix error message linefeed tests in t/50resolver.t (RT119369) + * Ensure that SIGPIPE is ignored if it's still at its default value + + 0.70 2015/12/15 18:17:43 + [CHANGES] + * Support perl 5.8.x (tested on 5.8.9, presumed working as far as + 5.8.4) + + 0.69 2015/11/09 19:56:58 + [CHANGES] + * Use Future->catch instead of poorly-implemented string-eq test + * Use L<...> instead of C<...> in docs where appropriate (RT107417) + (thanks Arthur Axel 'fREW' Schmidt) + + [BUGFIXES] + * Don't silently swallow Listener acceptor failures (RT107806) + * Don't silently swallow other ->connect errors + * Remember to ->unwatch_io before setting IaHandle's handle to undef + + 0.68 2015/07/31 20:07:48 + [CHANGES] + * Allow IO::Async::Function body to 'die' with an ARRAYref to set + more details on failed Future + * Have IO::Async::Resolver calls indicate the failed resolver name + * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers + give error numbers in failure result + * Added 'init_code' parameter to IO::Async::Function (RT104127) + * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old + ->send_frozen method + * Added IO::Async::Test::wait_for_future + [BUGFIXES] + * Clean up after 'on_hangup' loop tests (RT106061) + * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the + first_interval (RT100927) + + 0.67 2015/06/01 15:06:13 + [CHANGES] + * Add a ->post_fork method to IO::Async::Loop in case subclasses + should take specific action (RT104130) + * Remove IO::Async::MergePoint entirely + * Add debug_printf() calls to IO::Async::Process + * Various documentation additions + [BUGFIXES] + * Remember to actually delete unused filehandles from the pollmask + (RT103922) + +------------------------------------------------------------------- @@ -103 +241,0 @@ - Old: ---- IO-Async-0.66.tar.gz New: ---- IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch IO-Async-0.77.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-Async.spec ++++++ --- /var/tmp/diff_new_pack.yhJfvR/_old 2020-10-26 16:23:18.803272948 +0100 +++ /var/tmp/diff_new_pack.yhJfvR/_new 2020-10-26 16:23:18.807272952 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-IO-Async # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,34 +12,36 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-IO-Async -Version: 0.66 +Version: 0.77 Release: 0 %define cpan_name IO-Async Summary: Asynchronous event-driven programming -License: Artistic-1.0 or GPL-1.0+ +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/IO-Async/ -Source0: http://www.cpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{version}.tar.gz +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml +Patch0: https://rt.cpan.org/Ticket/Attachment/1912750/1024503/IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(Future) >= 0.26 +BuildRequires: perl(Future) >= 0.33 BuildRequires: perl(Future::Utils) >= 0.18 BuildRequires: perl(Module::Build) >= 0.400400 BuildRequires: perl(Socket) >= 2.007 BuildRequires: perl(Struct::Dumb) BuildRequires: perl(Test::Fatal) BuildRequires: perl(Test::Identity) +BuildRequires: perl(Test::Metrics::Any) BuildRequires: perl(Test::More) >= 0.88 BuildRequires: perl(Test::Refcount) -Requires: perl(Future) >= 0.26 +Requires: perl(Future) >= 0.33 Requires: perl(Future::Utils) >= 0.18 Requires: perl(Socket) >= 2.007 Requires: perl(Struct::Dumb) @@ -52,20 +54,17 @@ %description This collection of modules allows programs to be written that perform asynchronous filehandle IO operations. A typical program using them would -consist of a single subclass of the IO::Async::Loop manpage to act as a -container of other objects, which perform the actual IO work required by -the program. As well as IO handles, the loop also supports timers and -signal handlers, and includes more higher-level functionality built on top -of these basic parts. - -Because there are a lot of classes in this collection, the following -overview gives a brief description of each. +consist of a single subclass of IO::Async::Loop to act as a container of +other objects, which perform the actual IO work required by the program. As +well as IO handles, the loop also supports timers and signal handlers, and +includes more higher-level functionality built on top of these basic parts. %prep %setup -q -n %{cpan_name}-%{version} +%patch0 -p1 %build -%{__perl} Build.PL installdirs=vendor +perl Build.PL installdirs=vendor ./Build build flags=%{?_smp_mflags} %check @@ -77,6 +76,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes examples LICENSE README +%doc Changes examples README +%license LICENSE %changelog ++++++ IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch ++++++ >From 27bc9f6cf7f751d294d110160b66460a7c26fbba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com> Date: Thu, 24 Sep 2020 13:40:36 +0200 Subject: [PATCH] Adjust t/50resolver.t test for an unavailable DNS server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If no DNS server is available (e.g. empty /etc/resolv.conf and no DNS server listening on localhost), getaddrinfo() function reports EAI_AGAIN (or EAI_FAIL) to distinguish the DNS procol error from a negative respons by the DNS server. t/50resolver.t did not expected it and failed likes this in SuSE and Fedora build systems: t/42function.t ............... ok # Failed test '->failure [3] gives EAI_NONAME or EAI_NODATA' # at t/50resolver.t line 344. # $errno is -3 # Looks like you failed 1 test of 35. t/50resolver.t ............... Dubious, test returned 1 (wstat 256, 0x100) This patch fixes it. CPAN RT#131109 Signed-off-by: Petr Písař <ppi...@redhat.com> --- t/50resolver.t | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/t/50resolver.t b/t/50resolver.t index 68f4446..b7cfb56 100644 --- a/t/50resolver.t +++ b/t/50resolver.t @@ -341,7 +341,9 @@ SKIP: { is( ( $future->failure )[2], "getaddrinfo", '->failure [2] gives getaddrinfo' ); my $errno = ( $future->failure )[3]; - ok( $errno == Socket::EAI_NONAME || $errno == Socket::EAI_NODATA, '->failure [3] gives EAI_NONAME or EAI_NODATA' ) or + ok( $errno == Socket::EAI_FAIL || $errno == Socket::EAI_AGAIN || # no server available + $errno == Socket::EAI_NONAME || $errno == Socket::EAI_NODATA, # server confirmed no DNS entry + '->failure [3] gives EAI_FAIL or EAI_AGAIN or EAI_NONAME or EAI_NODATA' ) or diag( '$errno is ' . $errno ); } -- 2.25.4 ++++++ IO-Async-0.66.tar.gz -> IO-Async-0.77.tar.gz ++++++ ++++ 10470 lines of diff (skipped) ++++++ cpanspec.yml ++++++ --- /var/tmp/diff_new_pack.yhJfvR/_old 2020-10-26 16:23:18.963273077 +0100 +++ /var/tmp/diff_new_pack.yhJfvR/_new 2020-10-26 16:23:18.963273077 +0100 @@ -1,11 +1,12 @@ --- -#description_paragraphs: 3 +description_paragraphs: 1 #no_testing: broken upstream #sources: # - source1 # - source2 -#patches: -# foo.patch: -p1 +patches: + # PATCH-FIX-UPSTREAM https://rt.cpan.org/Public/Bug/Display.html?id=131109 + https://rt.cpan.org/Ticket/Attachment/1912750/1024503/IO-Async-0.77-Adjust-t-50resolver.t-test-for-an-unavailable-DNS-se.patch: -p1 # bar.patch: preamble: |- BuildRequires: netcfg