openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 1 participants
- 383994 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2025-01-07 20:51:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Tue Jan 7 20:51:13 2025 rev:291 rq:1235054 version:2.40.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/util-linux.changes 2024-11-22 23:50:14.446188326 +0100
+++ /work/SRC/openSUSE:Factory/.util-linux.new.1881/util-linux.changes 2025-01-07 20:51:29.244119350 +0100
@@ -153 +153 @@
- * more: clea processes not cleaned up after failed SSH session
+ * more: clean processes not cleaned up after failed SSH session
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.lVWUXu/_old 2025-01-07 20:51:33.000274649 +0100
+++ /var/tmp/diff_new_pack.lVWUXu/_new 2025-01-07 20:51:33.008274980 +0100
@@ -1,7 +1,7 @@
#
# spec file for package util-linux
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-ruby-dbus for openSUSE:Factory checked in at 2025-01-07 20:51:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-ruby-dbus (Old)
and /work/SRC/openSUSE:Factory/.rubygem-ruby-dbus.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-ruby-dbus"
Tue Jan 7 20:51:08 2025 rev:40 rq:1234572 version:0.24.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-ruby-dbus/rubygem-ruby-dbus.changes 2023-11-02 20:20:02.672688820 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-ruby-dbus.new.1881/rubygem-ruby-dbus.changes 2025-01-07 20:51:25.695972652 +0100
@@ -2 +2 @@
-Wed Oct 11 02:26:54 UTC 2023 - Simon Lees <sflees(a)suse.de>
+Thu Jan 2 13:45:21 UTC 2025 - Martin Vidner <mvidner(a)suse.com>
@@ -4,2 +4,4 @@
-- Testsuite requires dbus-daemon and dbus-send which are now
- separate packages
+- 0.24.0
+ Bug fixes:
+ * Adapted for Ruby 3.4, which uses a single quote instead of a backtick
+ in exceptions (gh#mvidner/ruby-dbus#145, by Mamoru TASAKA).
Old:
----
ruby-dbus-0.23.1.gem
New:
----
ruby-dbus-0.24.0.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-ruby-dbus.spec ++++++
--- /var/tmp/diff_new_pack.z8edWf/_old 2025-01-07 20:51:26.279996799 +0100
+++ /var/tmp/diff_new_pack.z8edWf/_new 2025-01-07 20:51:26.283996964 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-ruby-dbus
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-ruby-dbus
-Version: 0.23.1
+Version: 0.24.0
Release: 0
%define mod_name ruby-dbus
%define mod_full_name %{mod_name}-%{version}
@@ -33,8 +33,8 @@
BuildRequires: %{rubygem packaging_rake_tasks}
BuildRequires: %{rubygem rake}
BuildRequires: %{rubygem rspec >= 3.9}
+BuildRequires: dbus-1
BuildRequires: dbus-1-daemon
-BuildRequires: dbus-1-tools
BuildRequires: netcfg
# /MANUAL
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.z8edWf/_old 2025-01-07 20:51:26.323998618 +0100
+++ /var/tmp/diff_new_pack.z8edWf/_new 2025-01-07 20:51:26.327998783 +0100
@@ -78,6 +78,7 @@
BuildRequires: %{rubygem rake}
BuildRequires: %{rubygem rspec >= 3.9}
BuildRequires: dbus-1
+ BuildRequires: dbus-1-daemon
BuildRequires: netcfg
++++++ ruby-dbus-0.23.1.gem -> ruby-dbus-0.24.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NEWS.md new/NEWS.md
--- old/NEWS.md 2023-10-03 09:47:08.000000000 +0200
+++ new/NEWS.md 2025-01-02 15:13:57.000000000 +0100
@@ -2,6 +2,14 @@
## Unreleased
+## Ruby D-Bus 0.24.0 - 2025-01-02
+
+Bug fixes:
+ * Adapted for Ruby 3.4, which uses a single quote instead of a backtick
+ in exceptions ([#145][], by Mamoru TASAKA).
+
+[#145]: https://github.com/mvidner/ruby-dbus/pull/145
+
## Ruby D-Bus 0.23.1 - 2023-10-03
API:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2023-10-03 09:47:08.000000000 +0200
+++ new/VERSION 2025-01-02 15:13:57.000000000 +0100
@@ -1 +1 @@
-0.23.1
+0.24.0
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dbus/proxy_object.rb new/lib/dbus/proxy_object.rb
--- old/lib/dbus/proxy_object.rb 2023-10-03 09:47:08.000000000 +0200
+++ new/lib/dbus/proxy_object.rb 2025-01-02 15:13:57.000000000 +0100
@@ -33,6 +33,8 @@
# @return [ApiOptions]
attr_reader :api
+ OPEN_QUOTE = RUBY_VERSION >= "3.4" ? "'" : "`"
+
# Creates a new proxy object living on the given _bus_ at destination _dest_
# on the given _path_.
def initialize(bus, dest, path, api: ApiOptions::CURRENT)
@@ -58,7 +60,7 @@
def [](intfname)
introspect unless introspected
ifc = @interfaces[intfname]
- raise DBus::Error, "no such interface `#{intfname}' on object `#{@path}'" unless ifc
+ raise DBus::Error, "no such interface #{OPEN_QUOTE}#{intfname}' on object #{OPEN_QUOTE}#{@path}'" unless ifc
ifc
end
@@ -127,7 +129,8 @@
# @return [void]
def on_signal(name, &block)
unless @default_iface && has_iface?(@default_iface)
- raise NoMethodError, "undefined signal `#{name}' for DBus interface `#{@default_iface}' on object `#{@path}'"
+ raise NoMethodError, "undefined signal #{OPEN_QUOTE}#{name}' for DBus interface "\
+ "#{OPEN_QUOTE}#{@default_iface}' on object #{OPEN_QUOTE}#{@path}'"
end
@interfaces[@default_iface].on_signal(name, &block)
@@ -151,7 +154,8 @@
# - di not specified
# TODO
# - di is specified but not found in introspection data
- raise NoMethodError, "undefined method `#{name}' for DBus interface `#{@default_iface}' on object `#{@path}'"
+ raise NoMethodError, "undefined method #{OPEN_QUOTE}#{name}' for DBus interface "\
+ "#{OPEN_QUOTE}#{@default_iface}' on object #{OPEN_QUOTE}#{@path}'"
end
begin
@@ -159,10 +163,11 @@
rescue NameError => e
# interesting, foo.method("unknown")
# raises NameError, not NoMethodError
- raise unless e.to_s =~ /undefined method `#{name}'/
+ raise unless e.to_s =~ /undefined method #{OPEN_QUOTE}#{name}'/
# BTW e.exception("...") would preserve the class.
- raise NoMethodError, "undefined method `#{name}' for DBus interface `#{@default_iface}' on object `#{@path}'"
+ raise NoMethodError, "undefined method #{OPEN_QUOTE}#{name}' for DBus interface "\
+ "#{OPEN_QUOTE}#{@default_iface}' on object #{OPEN_QUOTE}#{@path}'"
end
end
# rubocop:enable Lint/MissingSuper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2023-10-03 09:47:08.000000000 +0200
+++ new/metadata 2025-01-02 15:13:57.000000000 +0100
@@ -1,14 +1,13 @@
--- !ruby/object:Gem::Specification
name: ruby-dbus
version: !ruby/object:Gem::Version
- version: 0.23.1
+ version: 0.24.0
platform: ruby
authors:
- Ruby DBus Team
-autorequire:
bindir: bin
cert_chain: []
-date: 2023-10-03 00:00:00.000000000 Z
+date: 2025-01-02 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: rexml
@@ -25,6 +24,20 @@
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
+ name: base64
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: '0'
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: '0'
+- !ruby/object:Gem::Dependency
name: packaging_rake_tasks
requirement: !ruby/object:Gem::Requirement
requirements:
@@ -224,7 +237,6 @@
licenses:
- LGPL-2.1-or-later
metadata: {}
-post_install_message:
rdoc_options: []
require_paths:
- lib
@@ -239,8 +251,7 @@
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubygems_version: 3.3.26
-signing_key:
+rubygems_version: 3.6.2
specification_version: 4
summary: Ruby module for interaction with D-Bus
test_files: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-dbus.gemspec new/ruby-dbus.gemspec
--- old/ruby-dbus.gemspec 2023-10-03 09:47:08.000000000 +0200
+++ new/ruby-dbus.gemspec 2025-01-02 15:13:57.000000000 +0100
@@ -28,6 +28,8 @@
s.add_runtime_dependency "rexml"
# s.add_runtime_dependency "nokogiri"
+ # workaround: rubocop-1.0 needs base64 which is no longer in stdlib in newer rubies
+ s.add_development_dependency "base64"
s.add_development_dependency "packaging_rake_tasks"
s.add_development_dependency "rake"
s.add_development_dependency "rspec", "~> 3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/signal_spec.rb new/spec/signal_spec.rb
--- old/spec/signal_spec.rb 2023-10-03 09:47:08.000000000 +0200
+++ new/spec/signal_spec.rb 2025-01-02 15:13:57.000000000 +0100
@@ -107,9 +107,10 @@
describe DBus::ProxyObject do
describe "#on_signal" do
it "raises a descriptive error when the default_iface is wrong" do
+ open_quote = RUBY_VERSION >= "3.4" ? "'" : "`"
@obj.default_iface = "org.ruby.NoSuchInterface"
expect { @obj.on_signal("Foo") {} }
- .to raise_error(NoMethodError, /undefined signal.*interface `org.ruby.NoSuchInterface'/)
+ .to raise_error(NoMethodError, /undefined signal.*interface #{open_quote}org.ruby.NoSuchInterface'/)
end
end
end
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2025-01-07 20:51:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
and /work/SRC/openSUSE:Factory/.yast2.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2"
Tue Jan 7 20:51:06 2025 rev:561 rq:1234526 version:5.0.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2024-10-02 21:32:07.067221901 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new.1881/yast2.changes 2025-01-07 20:51:24.075905670 +0100
@@ -1,0 +2,6 @@
+Thu Jan 2 06:51:16 UTC 2025 - Josef Reidinger <jreidinger(a)suse.com>
+
+- Fix failing tests with ruby 3.4 (gh#yast/yast-yast2#1314)
+- 5.0.11
+
+-------------------------------------------------------------------
Old:
----
yast2-5.0.10.tar.bz2
New:
----
yast2-5.0.11.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.0vQ94N/_old 2025-01-07 20:51:24.727932628 +0100
+++ /var/tmp/diff_new_pack.0vQ94N/_new 2025-01-07 20:51:24.731932794 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yast2
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: yast2
-Version: 5.0.10
+Version: 5.0.11
Release: 0
Summary: YaST2 Main Package
++++++ yast2-5.0.10.tar.bz2 -> yast2-5.0.11.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-5.0.10/library/xml/test/xml_test.rb new/yast2-5.0.11/library/xml/test/xml_test.rb
--- old/yast2-5.0.10/library/xml/test/xml_test.rb 2024-10-02 10:26:00.000000000 +0200
+++ new/yast2-5.0.11/library/xml/test/xml_test.rb 2025-01-02 10:40:37.000000000 +0100
@@ -129,7 +129,7 @@
it "raises XMLSerializationError when key is not string" do
input = { "test" => { "a" => "b", "lest" => :lest, 1 => 2, nil => "t", :symbol => "symbol" } }
- expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError, /non-string key.*nil=>"t"/)
+ expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError)
end
it "places keys in alphabetic sorting" do
@@ -150,13 +150,13 @@
it "raises XMLSerializationError when entry has nil as value" do
input = { "test" => { "a" => "b", "b" => "c", "c" => nil, "d" => "e", "e" => "f" } }
- expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError, /represent nil, part of .*"c"=>nil/)
+ expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError)
end
it "raises XMLSerializationError when entry has a weird value" do
input = { "test" => /I am a Regexp/ }
- expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError, /represent .*Regexp\//)
+ expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError)
end
end
@@ -193,7 +193,7 @@
it "raises XMLSerializationError when list contains nil" do
input = { "test" => ["a", "b", nil, "d", "e", "f"] }
- expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError, /represent nil, part of .*"b", nil/)
+ expect { subject.YCPToXMLString("test", input) }.to raise_error(Yast::XMLSerializationError)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-5.0.10/package/yast2.changes new/yast2-5.0.11/package/yast2.changes
--- old/yast2-5.0.10/package/yast2.changes 2024-10-02 10:26:00.000000000 +0200
+++ new/yast2-5.0.11/package/yast2.changes 2025-01-02 10:40:37.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu Jan 2 06:51:16 UTC 2025 - Josef Reidinger <jreidinger(a)suse.com>
+
+- Fix failing tests with ruby 3.4 (gh#yast/yast-yast2#1314)
+- 5.0.11
+
+-------------------------------------------------------------------
Tue Oct 1 13:28:34 UTC 2024 - Stefan Hundhammer <shundhammer(a)suse.com>
- Removed obsolete USERADD_CMD, USERDEL_PRECMD, USERDEL_POSTCMD,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-5.0.10/package/yast2.spec new/yast2-5.0.11/package/yast2.spec
--- old/yast2-5.0.10/package/yast2.spec 2024-10-02 10:26:00.000000000 +0200
+++ new/yast2-5.0.11/package/yast2.spec 2025-01-02 10:40:37.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2
-Version: 5.0.10
+Version: 5.0.11
Release: 0
Summary: YaST2 Main Package
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-gem2rpm for openSUSE:Factory checked in at 2025-01-07 20:51:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-gem2rpm (Old)
and /work/SRC/openSUSE:Factory/.rubygem-gem2rpm.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-gem2rpm"
Tue Jan 7 20:51:05 2025 rev:36 rq:1233482 version:0.10.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-gem2rpm/rubygem-gem2rpm.changes 2024-10-31 16:09:23.771138231 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-gem2rpm.new.1881/rubygem-gem2rpm.changes 2025-01-07 20:51:22.947859031 +0100
@@ -1,0 +2,15 @@
+Fri Dec 27 04:49:23 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- update filelist for the final 3.4.0 api_version
+
+-------------------------------------------------------------------
+Fri Dec 13 13:21:20 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- Fix filelist for 3.4.0
+
+-------------------------------------------------------------------
+Thu Dec 12 19:22:27 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- enable ruby3.4 support
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-gem2rpm.spec ++++++
--- /var/tmp/diff_new_pack.vPiIq1/_old 2025-01-07 20:51:23.507882185 +0100
+++ /var/tmp/diff_new_pack.vPiIq1/_new 2025-01-07 20:51:23.507882185 +0100
@@ -37,6 +37,7 @@
%bcond_with ruby31
%bcond_with ruby32
%bcond_with ruby33
+%bcond_with ruby34
%bcond_with rubinius25
Name: rubygem-gem2rpm
@@ -896,6 +897,64 @@
%endif
%endif
+%if %{with ruby34}
+%package -n ruby3.4-rubygem-gem2rpm
+Summary: Generate rpm specfiles from gems
+Group: Development/Languages/Ruby
+Requires(post): update-alternatives
+Requires(preun): update-alternatives
+
+%description -n ruby3.4-rubygem-gem2rpm
+Generate source rpms and rpm spec files from a Ruby Gem.
+The spec file tries to follow the gem as closely as possible
+
+%package -n ruby3.4-rubygem-gem2rpm-doc
+Summary: RDoc documentation for %{mod_name}
+Group: Development/Languages/Ruby
+Requires: ruby3.4-rubygem-gem2rpm = %{version}
+
+%description -n ruby3.4-rubygem-gem2rpm-doc
+Documentation generated at gem installation time.
+Usually in RDoc and RI formats.
+
+%post -n ruby3.4-rubygem-gem2rpm
+/usr/sbin/update-alternatives --install \
+ %{_bindir}/gem2rpm gem2rpm %{_bindir}/gem2rpm.ruby3.4-%{version} %{mod_weight}
+/usr/sbin/update-alternatives --install \
+ %{_bindir}/gem2rpm-%{version} gem2rpm-%{version} %{_bindir}/gem2rpm.ruby3.4-%{version} %{mod_weight}
+/usr/sbin/update-alternatives --install \
+ %{_bindir}/gem2rpm.ruby3.4 gem2rpm.ruby3.4 %{_bindir}/gem2rpm.ruby3.4-%{version} %{mod_weight}
+
+%preun -n ruby3.4-rubygem-gem2rpm
+if [ "$1" = 0 ] ; then
+ /usr/sbin/update-alternatives --remove gem2rpm %{_bindir}/gem2rpm.ruby3.4-%{version}
+ /usr/sbin/update-alternatives --remove gem2rpm-%{version} %{_bindir}/gem2rpm.ruby3.4-%{version}
+ /usr/sbin/update-alternatives --remove gem2rpm.ruby3.4 %{_bindir}/gem2rpm.ruby3.4-%{version}
+fi
+
+%files -n ruby3.4-rubygem-gem2rpm
+%defattr(-,root,root,-)
+%{_docdir}/ruby3.4-rubygem-gem2rpm
+#{_bindir}/gem2rpm-opensuse
+%{_bindir}/gem2rpm.ruby3.4-%{version}
+%ghost %{_bindir}/gem2rpm.ruby3.4
+%ghost %{_bindir}/gem2rpm-%{version}
+%ghost %{_bindir}/gem2rpm
+%ghost %{_sysconfdir}/alternatives/gem2rpm
+%ghost %{_sysconfdir}/alternatives/gem2rpm.ruby3.4
+%ghost %{_sysconfdir}/alternatives/gem2rpm-%{version}
+# cache file
+%{_libdir}/ruby/gems/3.4.0/cache/gem2rpm-%{version}.gem
+%{_libdir}/ruby/gems/3.4.0/gems/gem2rpm-%{version}
+%{_libdir}/ruby/gems/3.4.0/specifications/gem2rpm-%{version}.gemspec
+
+%if %{with docs}
+%files -n ruby3.4-rubygem-gem2rpm-doc
+%defattr(-,root,root,-)
+%doc %{_libdir}/ruby/gems/3.4.0/doc/gem2rpm-%{version}
+%endif
+%endif
+
%if %{with rubinius25}
%package -n rbx2.5-rubygem-gem2rpm
# MANUAL
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2-ruby-bindings for openSUSE:Factory checked in at 2025-01-07 20:51:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ruby-bindings (Old)
and /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ruby-bindings"
Tue Jan 7 20:51:00 2025 rev:126 rq:1232868 version:5.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ruby-bindings/yast2-ruby-bindings.changes 2023-10-20 23:17:23.991905198 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new.1881/yast2-ruby-bindings.changes 2025-01-07 20:51:19.571719444 +0100
@@ -1,0 +2,6 @@
+Fri Dec 20 16:01:56 UTC 2024 - Josef Reidinger <jreidinger(a)suse.com>
+
+- Adapt to ruby 3.4 (gh#yast/yast-ruby-bindings#292)
+- 5.0.1
+
+-------------------------------------------------------------------
Old:
----
yast2-ruby-bindings-5.0.0.tar.bz2
New:
----
yast2-ruby-bindings-5.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.7BvHhi/_old 2025-01-07 20:51:20.019737967 +0100
+++ /var/tmp/diff_new_pack.7BvHhi/_new 2025-01-07 20:51:20.023738132 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yast2-ruby-bindings
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 5.0.0
+Version: 5.0.1
Release: 0
URL: https://github.com/yast/yast-ruby-bindings
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-ruby-bindings-5.0.0.tar.bz2 -> yast2-ruby-bindings-5.0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/.github/workflows/ci.yml new/yast2-ruby-bindings-5.0.1/.github/workflows/ci.yml
--- old/yast2-ruby-bindings-5.0.0/.github/workflows/ci.yml 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/.github/workflows/ci.yml 2024-12-20 17:11:19.000000000 +0100
@@ -7,6 +7,9 @@
jobs:
Package:
+ # skip in master, but run in forks
+ if: github.ref_name != 'master' || github.repository_owner != 'yast'
+
runs-on: ubuntu-latest
container:
image: registry.opensuse.org/yast/head/containers/yast-cpp:latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/.github/workflows/submit.yml new/yast2-ruby-bindings-5.0.1/.github/workflows/submit.yml
--- old/yast2-ruby-bindings-5.0.0/.github/workflows/submit.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-ruby-bindings-5.0.1/.github/workflows/submit.yml 2024-12-20 17:11:19.000000000 +0100
@@ -0,0 +1,29 @@
+# See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-act…
+
+name: OBS
+
+on:
+ # only when committing to master
+ push:
+ branches: master
+
+ # allow running manually from GitHub Web
+ workflow_dispatch:
+
+jobs:
+ submit:
+ # do not run in forks
+ if: github.repository_owner == 'yast'
+
+ runs-on: ubuntu-latest
+
+ # the default timeout is 6 hours, do not wait for that long if osc gets stucked
+ timeout-minutes: 30
+
+ steps:
+ - name: Submit the package
+ # see https://github.com/yast/actions/blob/master/submit/action.yml
+ uses: yast/actions/submit@master
+ with:
+ obs_user: ${{ secrets.OBS_USER }}
+ obs_password: ${{ secrets.OBS_PASSWORD }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/README.md new/yast2-ruby-bindings-5.0.1/README.md
--- old/yast2-ruby-bindings-5.0.0/README.md 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/README.md 2024-12-20 17:11:19.000000000 +0100
@@ -2,8 +2,7 @@
[![Workflow Status](https://github.com/yast/yast-ruby-bindings/workflows/CI/badge.svg?b…
https://github.com/yast/yast-ruby-bindings/actions?query=branch%3Amaster)
-[![Jenkins Status](https://ci.opensuse.org/buildStatus/icon?job=yast-yast-ruby-binding…
-https://ci.opensuse.org/view/Yast/job/yast-yast-ruby-bindings-master/)
+[![OBS](https://github.com/yast/yast-ruby-bindings/actions/workflows/submit.yml/badge.svg)](https://github.com/yast/yast-ruby-bindings/actions/workflows/submit.yml)
It is part of [YaST](http://yast.github.io) where you can find more information
about YaST and its component system. The Ruby bindings cover only the connection to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/package/yast2-ruby-bindings.changes new/yast2-ruby-bindings-5.0.1/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-5.0.0/package/yast2-ruby-bindings.changes 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/package/yast2-ruby-bindings.changes 2024-12-20 17:11:19.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri Dec 20 16:01:56 UTC 2024 - Josef Reidinger <jreidinger(a)suse.com>
+
+- Adapt to ruby 3.4 (gh#yast/yast-ruby-bindings#292)
+- 5.0.1
+
+-------------------------------------------------------------------
Wed Aug 30 20:16:10 UTC 2023 - Josef Reidinger <jreidinger(a)suse.cz>
- 5.0.0 (bsc#1185510)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/package/yast2-ruby-bindings.spec new/yast2-ruby-bindings-5.0.1/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-5.0.0/package/yast2-ruby-bindings.spec 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/package/yast2-ruby-bindings.spec 2024-12-20 17:11:19.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 5.0.0
+Version: 5.0.1
Release: 0
URL: https://github.com/yast/yast-ruby-bindings
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/src/ruby/yast/logger.rb new/yast2-ruby-bindings-5.0.1/src/ruby/yast/logger.rb
--- old/yast2-ruby-bindings-5.0.0/src/ruby/yast/logger.rb 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/src/ruby/yast/logger.rb 2024-12-20 17:11:19.000000000 +0100
@@ -34,7 +34,7 @@
res = Builtins.sformat(*safe_args)
res.gsub!(/%/, "%%") # reescape all %
- matches = caller(caller_frame + 1, 1).first.match(/(.+):(\d+):in `([^']+)'/)
+ matches = caller(caller_frame + 1, 1).first.match(/(.+):(\d+):in [`']([^']+)'/)
y2_logger(level, "Ruby", matches[1], matches[2].to_i, matches[3], res)
return unless backtrace
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-5.0.0/src/ruby/yast/yast.rb new/yast2-ruby-bindings-5.0.1/src/ruby/yast/yast.rb
--- old/yast2-ruby-bindings-5.0.0/src/ruby/yast/yast.rb 2023-10-18 23:19:51.000000000 +0200
+++ new/yast2-ruby-bindings-5.0.1/src/ruby/yast/yast.rb 2024-12-20 17:11:19.000000000 +0100
@@ -16,7 +16,7 @@
end
# @private used to extract place from backtrace
- BACKTRACE_REGEXP = /^(.*):(\d+):in `.*'$/
+ BACKTRACE_REGEXP = /^(.*):(\d+):in [`'].*'$/
# shortcut to construct new Yast term
# @see Yast::Term
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ruby for openSUSE:Factory checked in at 2025-01-07 20:50:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ruby (Old)
and /work/SRC/openSUSE:Factory/.ruby.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ruby"
Tue Jan 7 20:50:57 2025 rev:64 rq:1230620 version:3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ruby/ruby.changes 2024-01-25 18:39:25.362838710 +0100
+++ /work/SRC/openSUSE:Factory/.ruby.new.1881/ruby.changes 2025-01-07 20:51:18.691683058 +0100
@@ -1,0 +2,5 @@
+Thu Dec 12 15:07:21 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- switch the default ruby to 3.4
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ruby.spec ++++++
--- /var/tmp/diff_new_pack.NjjUUR/_old 2025-01-07 20:51:19.155702243 +0100
+++ /var/tmp/diff_new_pack.NjjUUR/_new 2025-01-07 20:51:19.159702409 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ruby
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,11 +17,11 @@
Name: ruby
-Version: 3.3
+Version: 3.4
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: README
-Url: http://www.ruby-lang.org/
+URL: http://www.ruby-lang.org/
Summary: An Interpreted Object-Oriented Scripting Language
License: MIT
Group: Development/Languages/Ruby
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-eventlet for openSUSE:Factory checked in at 2025-01-07 20:50:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-eventlet (Old)
and /work/SRC/openSUSE:Factory/.python-eventlet.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-eventlet"
Tue Jan 7 20:50:54 2025 rev:59 rq:1235524 version:0.38.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-eventlet/python-eventlet.changes 2024-12-06 14:25:02.853116597 +0100
+++ /work/SRC/openSUSE:Factory/.python-eventlet.new.1881/python-eventlet.changes 2025-01-07 20:51:17.907650642 +0100
@@ -1,0 +2,11 @@
+Mon Jan 6 18:25:35 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 0.38.2
+ * [fix] fix the monkey patching with the asyncio hub
+ * [feature] introduce the unmonkeypatching feature
+- from version 0.38.1
+ * [fix] Python 3.13: Use greenthread's dead state where possible (#1000)
+ * [env] bump github Actions (#996)
+ * [fix] Fix bug where asyncio hub didn't support multiple os threads (#995)
+
+-------------------------------------------------------------------
Old:
----
eventlet-0.38.0.tar.gz
New:
----
eventlet-0.38.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-eventlet.spec ++++++
--- /var/tmp/diff_new_pack.YKsJ0M/_old 2025-01-07 20:51:18.395670820 +0100
+++ /var/tmp/diff_new_pack.YKsJ0M/_new 2025-01-07 20:51:18.399670985 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-eventlet
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-eventlet
-Version: 0.38.0
+Version: 0.38.2
Release: 0
Summary: Concurrent networking library for Python
License: MIT
++++++ eventlet-0.38.0.tar.gz -> eventlet-0.38.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/.github/workflows/docs.yaml new/eventlet-0.38.2/.github/workflows/docs.yaml
--- old/eventlet-0.38.0/.github/workflows/docs.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/.github/workflows/docs.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -11,9 +11,9 @@
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/.github/workflows/publish.yaml new/eventlet-0.38.2/.github/workflows/publish.yaml
--- old/eventlet-0.38.0/.github/workflows/publish.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/.github/workflows/publish.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -19,9 +19,9 @@
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/.github/workflows/style.yaml new/eventlet-0.38.2/.github/workflows/style.yaml
--- old/eventlet-0.38.0/.github/workflows/style.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/.github/workflows/style.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -10,10 +10,10 @@
timeout-minutes: 5
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: cache pip
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('.github/workflows/style.yaml') }}
@@ -21,7 +21,7 @@
${{ runner.os }}-pip-
${{ runner.os }}-
- name: cache tox
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: .tox
key: ${{ runner.os }}-tox-style-${{ hashFiles('tox.ini') }}
@@ -31,7 +31,7 @@
${{ runner.os }}-
- name: setup python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v5
with:
python-version: 3.x
- name: install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/.github/workflows/test.yaml new/eventlet-0.38.2/.github/workflows/test.yaml
--- old/eventlet-0.38.0/.github/workflows/test.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/.github/workflows/test.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -50,17 +50,17 @@
- { py: "3.11", toxenv: py311-asyncio, ignore-error: false, os: ubuntu-latest }
- { py: "3.12", toxenv: py312-epolls, ignore-error: false, os: ubuntu-latest }
- { py: "3.12", toxenv: py312-asyncio, ignore-error: false, os: ubuntu-latest }
- - { py: "3.13-dev", toxenv: py313-epolls, ignore-error: false, os: ubuntu-24.04 }
- - { py: "3.13-dev", toxenv: py313-asyncio, ignore-error: false, os: ubuntu-24.04 }
+ - { py: "3.13", toxenv: py313-epolls, ignore-error: false, os: ubuntu-24.04 }
+ - { py: "3.13", toxenv: py313-asyncio, ignore-error: false, os: ubuntu-24.04 }
- { py: pypy3.9, toxenv: pypy3-epolls, ignore-error: true, os: ubuntu-20.04 }
steps:
- name: install system packages
run: sudo apt install -y --no-install-recommends ccache libffi-dev default-libmysqlclient-dev libpq-dev libssl-dev libzmq3-dev
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: cache pip
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.toxenv }}-${{ hashFiles('.github/workflows/test.yaml', 'setup.py') }}
@@ -68,7 +68,7 @@
${{ runner.os }}-pip-
${{ runner.os }}-
- name: cache tox
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: .tox
key: ${{ runner.os }}-tox-${{ matrix.toxenv }}-${{ hashFiles('tox.ini') }}
@@ -77,7 +77,7 @@
${{ runner.os }}-
- name: setup python ${{ matrix.py }}
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
- name: install codecov, tox
@@ -100,14 +100,14 @@
matrix:
include:
- { py: "3.12", toxenv: py312-asyncio, ignore-error: false, os: macos-latest }
- - { py: "3.13-dev", toxenv: py313-asyncio, ignore-error: false, os: macos-latest }
+ - { py: "3.13", toxenv: py313-asyncio, ignore-error: false, os: macos-latest }
# This isn't working very well at the moment, but that might just be
# tox config? In any case main focus is on asyncio so someone can
# revisit separately.
#- { py: "3.12", toxenv: py312-kqueue, ignore-error: false, os: macos-latest }
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: install codecov, tox
run: pip install codecov tox
- run: env
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/NEWS new/eventlet-0.38.2/NEWS
--- old/eventlet-0.38.0/NEWS 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/NEWS 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,19 @@
Unreleased
==========
+0.38.2
+======
+
+* [fix] fix the monkey patching with the asyncio hub
+* [feature] introduce the unmonkeypatching feature
+
+0.38.1
+======
+
+* [fix] Python 3.13: Use greenthread's dead state where possible (#1000)
+* [env] bump github Actions (#996)
+* [fix] Fix bug where asyncio hub didn't support multiple os threads (#995)
+
0.38.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/PKG-INFO new/eventlet-0.38.2/PKG-INFO
--- old/eventlet-0.38.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.3
Name: eventlet
-Version: 0.38.0
+Version: 0.38.2
Summary: Highly concurrent networking library
Project-URL: Homepage, https://github.com/eventlet/eventlet
Project-URL: History, https://github.com/eventlet/eventlet/blob/master/NEWS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/eventlet/_version.py new/eventlet-0.38.2/eventlet/_version.py
--- old/eventlet-0.38.0/eventlet/_version.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/eventlet/_version.py 2020-02-02 01:00:00.000000000 +0100
@@ -12,5 +12,5 @@
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
-__version__ = version = '0.38.0'
-__version_tuple__ = version_tuple = (0, 38, 0)
+__version__ = version = '0.38.2'
+__version_tuple__ = version_tuple = (0, 38, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/eventlet/green/thread.py new/eventlet-0.38.2/eventlet/green/thread.py
--- old/eventlet-0.38.0/eventlet/green/thread.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/eventlet/green/thread.py 2020-02-02 01:00:00.000000000 +0100
@@ -59,6 +59,8 @@
self._done = True
def is_done(self):
+ if self._greenthread is not None:
+ return self._greenthread.dead
return self._done
@property
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/eventlet/hubs/asyncio.py new/eventlet-0.38.2/eventlet/hubs/asyncio.py
--- old/eventlet-0.38.0/eventlet/hubs/asyncio.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/eventlet/hubs/asyncio.py 2020-02-02 01:00:00.000000000 +0100
@@ -2,19 +2,19 @@
Asyncio-based hub, originally implemented by Miguel Grinberg.
"""
-import asyncio
-try:
- import concurrent.futures.thread
- concurrent_imported = True
-except RuntimeError:
- # This happens in weird edge cases where asyncio hub is started at
- # shutdown. Not much we can do if this happens.
- concurrent_imported = False
+# The various modules involved in asyncio need to call the original, unpatched
+# standard library APIs to work: socket, select, threading, and so on. We
+# therefore don't import them on the module level, since that would involve
+# their imports getting patched, and instead delay importing them as much as
+# possible. Then, we do a little song and dance in Hub.__init__ below so that
+# when they're imported they import the original modules (select, socket, etc)
+# rather than the patched ones.
+
import os
import sys
from eventlet.hubs import hub
-from eventlet.patcher import original
+from eventlet.patcher import _unmonkey_patch_asyncio_all
def is_available():
@@ -32,22 +32,14 @@
def __init__(self):
super().__init__()
- # Make sure asyncio thread pools use real threads:
- if concurrent_imported:
- concurrent.futures.thread.threading = original("threading")
- concurrent.futures.thread.queue = original("queue")
-
- # Make sure select/poll/epoll/kqueue are usable by asyncio:
- import selectors
- selectors.select = original("select")
-
- # Make sure DNS lookups use normal blocking API (which asyncio will run
- # in a thread):
- import asyncio.base_events
- asyncio.base_events.socket = original("socket")
+
+ # Pre-emptively make sure we're using the right modules:
+ _unmonkey_patch_asyncio_all()
# The presumption is that eventlet is driving the event loop, so we
# want a new one we control.
+ import asyncio
+
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.loop)
self.sleep_event = asyncio.Event()
@@ -83,7 +75,7 @@
try:
os.fstat(fileno)
except OSError:
- raise ValueError('Invalid file descriptor')
+ raise ValueError("Invalid file descriptor")
already_listening = self.listeners[evtype].get(fileno) is not None
listener = super().add(evtype, fileno, cb, tb, mark_as_closed)
if not already_listening:
@@ -126,6 +118,8 @@
"""
Start the ``Hub`` running. See the superclass for details.
"""
+ import asyncio
+
async def async_run():
if self.running:
raise RuntimeError("Already running!")
@@ -150,8 +144,7 @@
sleep_time = wakeup_when - self.clock()
if sleep_time > 0:
try:
- await asyncio.wait_for(self.sleep_event.wait(),
- sleep_time)
+ await asyncio.wait_for(self.sleep_event.wait(), sleep_time)
except asyncio.TimeoutError:
pass
self.sleep_event.clear()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/eventlet/patcher.py new/eventlet-0.38.2/eventlet/patcher.py
--- old/eventlet-0.38.0/eventlet/patcher.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/eventlet/patcher.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,9 +1,12 @@
from __future__ import annotations
+
try:
import _imp as imp
except ImportError:
import imp
+import importlib
import sys
+
try:
# Only for this purpose, it's irrelevant if `os` was already patched.
# https://github.com/eventlet/eventlet/pull/661
@@ -14,9 +17,9 @@
import eventlet
-__all__ = ['inject', 'import_patched', 'monkey_patch', 'is_monkey_patched']
+__all__ = ["inject", "import_patched", "monkey_patch", "is_monkey_patched"]
-__exclude = {'__builtins__', '__file__', '__name__'}
+__exclude = {"__builtins__", "__file__", "__name__"}
class SysModulesSaver:
@@ -70,7 +73,7 @@
name/module pairs is used, which should cover all use cases but may be
slower because there are inevitably redundant or unnecessary imports.
"""
- patched_name = '__patched_module_' + module_name
+ patched_name = "__patched_module_" + module_name
if patched_name in sys.modules:
# returning already-patched module so as not to destroy existing
# references to patched modules
@@ -79,11 +82,12 @@
if not additional_modules:
# supply some defaults
additional_modules = (
- _green_os_modules() +
- _green_select_modules() +
- _green_socket_modules() +
- _green_thread_modules() +
- _green_time_modules())
+ _green_os_modules()
+ + _green_select_modules()
+ + _green_socket_modules()
+ + _green_thread_modules()
+ + _green_time_modules()
+ )
# _green_MySQLdb()) # enable this after a short baking-in period
# after this we are gonna screw with sys.modules, so capture the
@@ -103,10 +107,10 @@
# because of the pop operations will change the content of sys.modules
# within th loop
for imported_module_name in list(sys.modules.keys()):
- if imported_module_name.startswith(module_name + '.'):
+ if imported_module_name.startswith(module_name + "."):
sys.modules.pop(imported_module_name, None)
try:
- module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
+ module = __import__(module_name, {}, {}, module_name.split(".")[:-1])
if new_globals is not None:
# Update the given globals dictionary with everything from this new module
@@ -130,9 +134,8 @@
The only required argument is the name of the module to be imported.
"""
return inject(
- module_name,
- None,
- *additional_modules + tuple(kw_additional_modules.items()))
+ module_name, None, *additional_modules + tuple(kw_additional_modules.items())
+ )
def patch_function(func, *additional_modules):
@@ -144,11 +147,12 @@
if not additional_modules:
# supply some defaults
additional_modules = (
- _green_os_modules() +
- _green_select_modules() +
- _green_socket_modules() +
- _green_thread_modules() +
- _green_time_modules())
+ _green_os_modules()
+ + _green_select_modules()
+ + _green_socket_modules()
+ + _green_thread_modules()
+ + _green_time_modules()
+ )
def patched(*args, **kw):
saver = SysModulesSaver()
@@ -159,6 +163,7 @@
return func(*args, **kw)
finally:
saver.restore()
+
return patched
@@ -169,6 +174,7 @@
patch_function, only the names of the modules need be supplied,
and there are no defaults. This is a gross hack; tell your kids not
to import inside function bodies!"""
+
def patched(*args, **kw):
saver = SysModulesSaver(module_names)
for name in module_names:
@@ -177,17 +183,18 @@
return func(*args, **kw)
finally:
saver.restore()
+
return patched
def original(modname):
- """ This returns an unpatched version of a module; this is useful for
+ """This returns an unpatched version of a module; this is useful for
Eventlet itself (i.e. tpool)."""
# note that it's not necessary to temporarily install unpatched
# versions of all patchable modules during the import of the
# module; this is because none of them import each other, except
# for threading which imports thread
- original_name = '__original_module_' + modname
+ original_name = "__original_module_" + modname
if original_name in sys.modules:
return sys.modules.get(original_name)
@@ -198,20 +205,20 @@
# some rudimentary dependency checking -- fortunately the modules
# we're working on don't have many dependencies so we can just do
# some special-casing here
- deps = {'threading': '_thread', 'queue': 'threading'}
+ deps = {"threading": "_thread", "queue": "threading"}
if modname in deps:
dependency = deps[modname]
saver.save(dependency)
sys.modules[dependency] = original(dependency)
try:
- real_mod = __import__(modname, {}, {}, modname.split('.')[:-1])
- if modname in ('Queue', 'queue') and not hasattr(real_mod, '_threading'):
+ real_mod = __import__(modname, {}, {}, modname.split(".")[:-1])
+ if modname in ("Queue", "queue") and not hasattr(real_mod, "_threading"):
# tricky hack: Queue's constructor in <2.7 imports
# threading on every instantiation; therefore we wrap
# it so that it always gets the original threading
real_mod.Queue.__init__ = _original_patch_function(
- real_mod.Queue.__init__,
- 'threading')
+ real_mod.Queue.__init__, "threading"
+ )
# save a reference to the unpatched module so it doesn't get lost
sys.modules[original_name] = real_mod
finally:
@@ -223,6 +230,99 @@
already_patched = {}
+def _unmonkey_patch_asyncio(unmonkeypatch_refs_to_this_module):
+ """
+ When using asyncio hub, we want the asyncio modules to use the original,
+ blocking APIs. So un-monkeypatch references to the given module name, e.g.
+ "select".
+ """
+ to_unpatch = unmonkeypatch_refs_to_this_module
+ original_module = original(to_unpatch)
+
+ # Lower down for asyncio modules, we will switch their imported modules to
+ # original ones instead of the green ones they probably have. This won't
+ # fix "from socket import whatev" but asyncio doesn't seem to do that in
+ # ways we care about for Python 3.8 to 3.13, with the one exception of
+ # get_ident() in some older versions.
+ if to_unpatch == "_thread":
+ import asyncio.base_futures
+
+ if hasattr(asyncio.base_futures, "get_ident"):
+ asyncio.base_futures = original_module.get_ident
+
+ # Asyncio uses these for its blocking thread pool:
+ if to_unpatch in ("threading", "queue"):
+ try:
+ import concurrent.futures.thread
+ except RuntimeError:
+ # This happens in weird edge cases where asyncio hub is started at
+ # shutdown. Not much we can do if this happens.
+ pass
+ else:
+ if to_unpatch == "threading":
+ concurrent.futures.thread.threading = original_module
+ if to_unpatch == "queue":
+ concurrent.futures.thread.queue = original_module
+
+ # Patch asyncio modules:
+ for module_name in [
+ "asyncio.base_events",
+ "asyncio.base_futures",
+ "asyncio.base_subprocess",
+ "asyncio.base_tasks",
+ "asyncio.constants",
+ "asyncio.coroutines",
+ "asyncio.events",
+ "asyncio.exceptions",
+ "asyncio.format_helpers",
+ "asyncio.futures",
+ "asyncio",
+ "asyncio.locks",
+ "asyncio.log",
+ "asyncio.mixins",
+ "asyncio.protocols",
+ "asyncio.queues",
+ "asyncio.runners",
+ "asyncio.selector_events",
+ "asyncio.sslproto",
+ "asyncio.staggered",
+ "asyncio.streams",
+ "asyncio.subprocess",
+ "asyncio.taskgroups",
+ "asyncio.tasks",
+ "asyncio.threads",
+ "asyncio.timeouts",
+ "asyncio.transports",
+ "asyncio.trsock",
+ "asyncio.unix_events",
+ ]:
+ try:
+ module = importlib.import_module(module_name)
+ except ImportError:
+ # The list is from Python 3.13, so some modules may not be present
+ # in older versions of Python:
+ continue
+ if getattr(module, to_unpatch, None) is sys.modules[to_unpatch]:
+ setattr(module, to_unpatch, original_module)
+
+
+def _unmonkey_patch_asyncio_all():
+ """
+ Unmonkey-patch all referred-to modules in asyncio.
+ """
+ for module_name, _ in sum([
+ _green_os_modules(),
+ _green_select_modules(),
+ _green_socket_modules(),
+ _green_thread_modules(),
+ _green_time_modules(),
+ _green_builtins(),
+ _green_subprocess_modules(),
+ ], []):
+ _unmonkey_patch_asyncio(module_name)
+ original("selectors").select = original("select")
+
+
def monkey_patch(**on):
"""Globally patches certain system modules to be greenthread-friendly.
@@ -246,57 +346,68 @@
# the hub calls into monkey-patched modules.
eventlet.hubs.get_hub()
- accepted_args = {'os', 'select', 'socket',
- 'thread', 'time', 'psycopg', 'MySQLdb',
- 'builtins', 'subprocess'}
+ accepted_args = {
+ "os",
+ "select",
+ "socket",
+ "thread",
+ "time",
+ "psycopg",
+ "MySQLdb",
+ "builtins",
+ "subprocess",
+ }
# To make sure only one of them is passed here
- assert not ('__builtin__' in on and 'builtins' in on)
+ assert not ("__builtin__" in on and "builtins" in on)
try:
- b = on.pop('__builtin__')
+ b = on.pop("__builtin__")
except KeyError:
pass
else:
- on['builtins'] = b
+ on["builtins"] = b
default_on = on.pop("all", None)
for k in on.keys():
if k not in accepted_args:
- raise TypeError("monkey_patch() got an unexpected "
- "keyword argument %r" % k)
+ raise TypeError(
+ "monkey_patch() got an unexpected " "keyword argument %r" % k
+ )
if default_on is None:
default_on = True not in on.values()
for modname in accepted_args:
- if modname == 'MySQLdb':
+ if modname == "MySQLdb":
# MySQLdb is only on when explicitly patched for the moment
on.setdefault(modname, False)
- if modname == 'builtins':
+ if modname == "builtins":
on.setdefault(modname, False)
on.setdefault(modname, default_on)
import threading
+
original_rlock_type = type(threading.RLock())
modules_to_patch = []
for name, modules_function in [
- ('os', _green_os_modules),
- ('select', _green_select_modules),
- ('socket', _green_socket_modules),
- ('thread', _green_thread_modules),
- ('time', _green_time_modules),
- ('MySQLdb', _green_MySQLdb),
- ('builtins', _green_builtins),
- ('subprocess', _green_subprocess_modules),
+ ("os", _green_os_modules),
+ ("select", _green_select_modules),
+ ("socket", _green_socket_modules),
+ ("thread", _green_thread_modules),
+ ("time", _green_time_modules),
+ ("MySQLdb", _green_MySQLdb),
+ ("builtins", _green_builtins),
+ ("subprocess", _green_subprocess_modules),
]:
if on[name] and not already_patched.get(name):
modules_to_patch += modules_function()
already_patched[name] = True
- if on['psycopg'] and not already_patched.get('psycopg'):
+ if on["psycopg"] and not already_patched.get("psycopg"):
try:
from eventlet.support import psycopg2_patcher
+
psycopg2_patcher.make_psycopg_green()
- already_patched['psycopg'] = True
+ already_patched["psycopg"] = True
except ImportError:
# note that if we get an importerror from trying to
# monkeypatch psycopg, we will continually retry it
@@ -305,7 +416,7 @@
# tell us whether or not we succeeded
pass
- _threading = original('threading')
+ _threading = original("threading")
imp.acquire_lock()
try:
for name, mod in modules_to_patch:
@@ -316,13 +427,14 @@
patched_attr = getattr(mod, attr_name, None)
if patched_attr is not None:
setattr(orig_mod, attr_name, patched_attr)
- deleted = getattr(mod, '__deleted__', [])
+ deleted = getattr(mod, "__deleted__", [])
for attr_name in deleted:
if hasattr(orig_mod, attr_name):
delattr(orig_mod, attr_name)
# https://github.com/eventlet/eventlet/issues/592
- if name == 'threading' and register_at_fork:
+ if name == "threading" and register_at_fork:
+
def fix_threading_active(
_global_dict=_threading.current_thread.__globals__,
# alias orig_mod as patched to reflect its new state
@@ -332,21 +444,21 @@
_prefork_active = [None]
def before_fork():
- _prefork_active[0] = _global_dict['_active']
- _global_dict['_active'] = _patched._active
+ _prefork_active[0] = _global_dict["_active"]
+ _global_dict["_active"] = _patched._active
def after_fork():
- _global_dict['_active'] = _prefork_active[0]
+ _global_dict["_active"] = _prefork_active[0]
+
+ register_at_fork(before=before_fork, after_in_parent=after_fork)
- register_at_fork(
- before=before_fork,
- after_in_parent=after_fork)
fix_threading_active()
finally:
imp.release_lock()
import importlib._bootstrap
- thread = original('_thread')
+
+ thread = original("_thread")
# importlib must use real thread locks, not eventlet.Semaphore
importlib._bootstrap._thread = thread
@@ -355,16 +467,20 @@
# threading.get_ident(). Force the Python implementation of RLock which
# calls threading.get_ident() and so is compatible with eventlet.
import threading
+
threading.RLock = threading._PyRLock
# Issue #508: Since Python 3.7 queue.SimpleQueue is implemented in C,
# causing a deadlock. Replace the C implementation with the Python one.
import queue
+
queue.SimpleQueue = queue._PySimpleQueue
# Green existing locks _after_ patching modules, since patching modules
# might involve imports that create new locks:
- _green_existing_locks(original_rlock_type)
+ for name, _ in modules_to_patch:
+ if name == "threading":
+ _green_existing_locks(original_rlock_type)
def is_monkey_patched(module):
@@ -375,8 +491,10 @@
module some other way than with the import keyword (including
import_patched), this might not be correct about that particular
module."""
- return module in already_patched or \
- getattr(module, '__name__', None) in already_patched
+ return (
+ module in already_patched
+ or getattr(module, "__name__", None) in already_patched
+ )
def _green_existing_locks(rlock_type):
@@ -428,10 +546,13 @@
if remaining_rlocks:
import logging
+
logger = logging.Logger("eventlet")
- logger.error("{} RLock(s) were not greened,".format(remaining_rlocks) +
- " to fix this error make sure you run eventlet.monkey_patch() " +
- "before importing any other modules.")
+ logger.error(
+ "{} RLock(s) were not greened,".format(remaining_rlocks)
+ + " to fix this error make sure you run eventlet.monkey_patch() "
+ + "before importing any other modules."
+ )
def _upgrade_instances(container, klass, upgrade, visited=None, old_to_new=None):
@@ -492,10 +613,14 @@
setattr(container, k, new)
except:
import logging
+
logger = logging.Logger("eventlet")
- logger.exception("An exception was thrown while monkey_patching for eventlet. "
- "to fix this error make sure you run eventlet.monkey_patch() "
- "before importing any other modules.", exc_info=True)
+ logger.exception(
+ "An exception was thrown while monkey_patching for eventlet. "
+ "to fix this error make sure you run eventlet.monkey_patch() "
+ "before importing any other modules.",
+ exc_info=True,
+ )
def _convert_py3_rlock(old, tid):
@@ -508,14 +633,16 @@
"""
import threading
from eventlet.green.thread import allocate_lock
+
new = threading._PyRLock()
if not hasattr(new, "_block") or not hasattr(new, "_owner"):
# These will only fail if Python changes its internal implementation of
# _PyRLock:
raise RuntimeError(
- "INTERNAL BUG. Perhaps you are using a major version " +
- "of Python that is unsupported by eventlet? Please file a bug " +
- "at https://github.com/eventlet/eventlet/issues/new")
+ "INTERNAL BUG. Perhaps you are using a major version "
+ + "of Python that is unsupported by eventlet? Please file a bug "
+ + "at https://github.com/eventlet/eventlet/issues/new"
+ )
new._block = allocate_lock()
acquired = False
while old._is_owned():
@@ -532,49 +659,58 @@
def _green_os_modules():
from eventlet.green import os
- return [('os', os)]
+
+ return [("os", os)]
def _green_select_modules():
from eventlet.green import select
- modules = [('select', select)]
+
+ modules = [("select", select)]
from eventlet.green import selectors
- modules.append(('selectors', selectors))
+
+ modules.append(("selectors", selectors))
return modules
def _green_socket_modules():
from eventlet.green import socket
+
try:
from eventlet.green import ssl
- return [('socket', socket), ('ssl', ssl)]
+
+ return [("socket", socket), ("ssl", ssl)]
except ImportError:
- return [('socket', socket)]
+ return [("socket", socket)]
def _green_subprocess_modules():
from eventlet.green import subprocess
- return [('subprocess', subprocess)]
+
+ return [("subprocess", subprocess)]
def _green_thread_modules():
from eventlet.green import Queue
from eventlet.green import thread
from eventlet.green import threading
- return [('queue', Queue), ('_thread', thread), ('threading', threading)]
+
+ return [("queue", Queue), ("_thread", thread), ("threading", threading)]
def _green_time_modules():
from eventlet.green import time
- return [('time', time)]
+
+ return [("time", time)]
def _green_MySQLdb():
try:
from eventlet.green import MySQLdb
- return [('MySQLdb', MySQLdb)]
+
+ return [("MySQLdb", MySQLdb)]
except ImportError:
return []
@@ -582,7 +718,8 @@
def _green_builtins():
try:
from eventlet.green import builtin
- return [('builtins', builtin)]
+
+ return [("builtins", builtin)]
except ImportError:
return []
@@ -597,16 +734,18 @@
"""
if srckeys is None:
srckeys = source.__all__
- destination.update({
- name: getattr(source, name)
- for name in srckeys
- if not (name.startswith('__') or name in ignore)
- })
+ destination.update(
+ {
+ name: getattr(source, name)
+ for name in srckeys
+ if not (name.startswith("__") or name in ignore)
+ }
+ )
if __name__ == "__main__":
sys.argv.pop(0)
monkey_patch()
with open(sys.argv[0]) as f:
- code = compile(f.read(), sys.argv[0], 'exec')
+ code = compile(f.read(), sys.argv[0], "exec")
exec(code)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/asyncio_test.py new/eventlet-0.38.2/tests/asyncio_test.py
--- old/eventlet-0.38.0/tests/asyncio_test.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/asyncio_test.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,17 +1,20 @@
"""Tests for asyncio integration."""
+import pytest
+
+import eventlet
+from eventlet.hubs import get_hub
+from eventlet.hubs.asyncio import Hub as AsyncioHub
+if not isinstance(get_hub(), AsyncioHub):
+ pytest.skip("Only works on asyncio hub", allow_module_level=True)
+
import asyncio
from time import time
import socket
import sys
-import pytest
-
from greenlet import GreenletExit
-import eventlet
-from eventlet.hubs import get_hub
-from eventlet.hubs.asyncio import Hub as AsyncioHub
from eventlet.asyncio import spawn_for_awaitable
from eventlet.greenthread import getcurrent
from eventlet.support import greendns
@@ -19,9 +22,6 @@
import tests
-if not isinstance(get_hub(), AsyncioHub):
- pytest.skip("Only works on asyncio hub", allow_module_level=True)
-
class CallingAsyncFunctionsFromGreenletsHighLevelTests(_TestBase):
"""
@@ -298,9 +298,16 @@
tests.run_isolated("asyncio_to_thread.py")
-def test_asyncio_does_not_use_greendns(monkeypatch):
+def test_asyncio_does_not_use_greendns():
"""
``asyncio`` loops' ``getaddrinfo()`` and ``getnameinfo()`` do not use green
DNS.
"""
tests.run_isolated("asyncio_dns.py")
+
+
+def test_make_sure_monkey_patching_asyncio_is_restricted():
+ """
+ ``asyncio`` continues to have original, unpatched ``socket`` etc classes.
+ """
+ tests.run_isolated("asyncio_correct_patching.py")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/hub_test.py new/eventlet-0.38.2/tests/hub_test.py
--- old/eventlet-0.38.0/tests/hub_test.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/hub_test.py 2020-02-02 01:00:00.000000000 +0100
@@ -326,10 +326,12 @@
once()
+(a)pytest.mark.skipif(sys.platform == "darwin", reason="on macOS using fork() is discouraged")
def test_fork():
tests.run_isolated('hub_fork.py')
+(a)pytest.mark.skipif(sys.platform == "darwin", reason="on macOS using fork() is discouraged")
def test_fork_simple():
tests.run_isolated('hub_fork_simple.py')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/asyncio_correct_patching.py new/eventlet-0.38.2/tests/isolated/asyncio_correct_patching.py
--- old/eventlet-0.38.0/tests/isolated/asyncio_correct_patching.py 1970-01-01 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/asyncio_correct_patching.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,32 @@
+"""
+asyncio submodules continue to have the original, real socket module even after
+monkeypatching.
+"""
+
+import sys
+
+
+def assert_correct_patching():
+ from eventlet.greenio.base import GreenSocket
+ import asyncio.selector_events
+ if asyncio.selector_events.socket.socket is GreenSocket:
+ raise RuntimeError("Wrong socket class, should've been normal socket.socket")
+
+ import asyncio.selector_events
+ if asyncio.selector_events.selectors is not sys.modules["__original_module_selectors"]:
+ raise RuntimeError("Wrong selectors")
+
+ if asyncio.selector_events.selectors.select is not sys.modules["__original_module_select"]:
+ raise RuntimeError("Wrong select")
+
+
+import eventlet.hubs
+eventlet.hubs.get_hub()
+assert_correct_patching()
+
+import eventlet
+eventlet.monkey_patch()
+assert_correct_patching()
+
+
+print("pass")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/asyncio_dns.py new/eventlet-0.38.2/tests/isolated/asyncio_dns.py
--- old/eventlet-0.38.0/tests/isolated/asyncio_dns.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/asyncio_dns.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,3 +1,6 @@
+import eventlet
+eventlet.monkey_patch()
+
import asyncio
import socket
@@ -12,10 +15,6 @@
greendns.resolve = fail
greendns.resolver.query = fail
-import eventlet
-
-eventlet.monkey_patch()
-
async def lookups():
loop = asyncio.get_running_loop()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/asyncio_to_thread.py new/eventlet-0.38.2/tests/isolated/asyncio_to_thread.py
--- old/eventlet-0.38.0/tests/isolated/asyncio_to_thread.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/asyncio_to_thread.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,8 +1,9 @@
import eventlet
+eventlet.monkey_patch()
+
from eventlet.patcher import original
from eventlet.asyncio import spawn_for_awaitable
-eventlet.monkey_patch()
import asyncio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/osthreads.py new/eventlet-0.38.2/tests/isolated/osthreads.py
--- old/eventlet-0.38.0/tests/isolated/osthreads.py 1970-01-01 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/osthreads.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,25 @@
+import eventlet
+import eventlet.patcher
+
+eventlet.monkey_patch()
+
+threading_orig = eventlet.patcher.original("threading")
+
+EVENTS = []
+
+
+def os_thread_2():
+ eventlet.sleep(0.1)
+ EVENTS.append(2)
+ eventlet.sleep(0.1)
+ EVENTS.append(2)
+
+
+threading_orig.Thread(target=os_thread_2).start()
+EVENTS.append(1)
+eventlet.sleep(0.05)
+EVENTS.append(1)
+eventlet.sleep(0.4)
+EVENTS.append(3)
+if EVENTS == [1, 1, 2, 2, 3]:
+ print("pass")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/patcher_existing_locks_preexisting.py new/eventlet-0.38.2/tests/isolated/patcher_existing_locks_preexisting.py
--- old/eventlet-0.38.0/tests/isolated/patcher_existing_locks_preexisting.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/patcher_existing_locks_preexisting.py 2020-02-02 01:00:00.000000000 +0100
@@ -31,6 +31,10 @@
if sys.version_info[:2] > (3, 9):
print(unittest.mock.NonCallableMock._lock)
print(NS.lock)
+ # unittest.mock imports asyncio, so clear out asyncio.
+ for name in list(sys.modules.keys()):
+ if name.startswith("asyncio"):
+ del sys.modules[name]
eventlet.monkey_patch()
ensure_upgraded(NS.lock)
ensure_upgraded(NS.NS2.lock)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/isolated/patcher_threading_subclass_done.py new/eventlet-0.38.2/tests/isolated/patcher_threading_subclass_done.py
--- old/eventlet-0.38.0/tests/isolated/patcher_threading_subclass_done.py 1970-01-01 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/isolated/patcher_threading_subclass_done.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,40 @@
+import queue
+import threading
+
+
+class Worker(threading.Thread):
+ EXIT_SENTINEL = object()
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.q = queue.Queue(maxsize=-1)
+ self.daemon = True
+
+ def run(self):
+ while True:
+ task = self.q.get()
+ if task == self.EXIT_SENTINEL:
+ break
+ print(f"Treating task {task}")
+ # Pretend to work
+
+ def submit(self, job):
+ self.q.put(job)
+
+ def terminate(self):
+ self.q.put(self.EXIT_SENTINEL)
+ self.join()
+
+
+if __name__ == "__main__":
+ import eventlet
+ eventlet.patcher.monkey_patch()
+
+ worker = Worker()
+ assert not worker.is_alive()
+ worker.start()
+ assert worker.is_alive()
+ worker.submit(1)
+ worker.terminate()
+ assert not worker.is_alive()
+ print("pass")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/patcher_test.py new/eventlet-0.38.2/tests/patcher_test.py
--- old/eventlet-0.38.0/tests/patcher_test.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/patcher_test.py 2020-02-02 01:00:00.000000000 +0100
@@ -536,3 +536,7 @@
def test_patcher_existing_locks_exception():
tests.run_isolated("patcher_existing_locks_exception.py")
+
+
+def test_patcher_threading_subclass_done():
+ tests.run_isolated("patcher_threading_subclass_done.py")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eventlet-0.38.0/tests/thread_test.py new/eventlet-0.38.2/tests/thread_test.py
--- old/eventlet-0.38.0/tests/thread_test.py 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.38.2/tests/thread_test.py 2020-02-02 01:00:00.000000000 +0100
@@ -8,7 +8,7 @@
from eventlet import patcher
from eventlet.green import thread
-from tests import LimitedTestCase
+from tests import LimitedTestCase, run_isolated
class Locals(LimitedTestCase):
@@ -122,3 +122,7 @@
lk._at_fork_reinit()
assert lk.acquire(blocking=False)
assert not lk.acquire(blocking=False)
+
+
+def test_can_use_eventlet_in_os_threads():
+ run_isolated("osthreads.py")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Business-ISBN-Data for openSUSE:Factory checked in at 2025-01-07 20:50:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Business-ISBN-Data (Old)
and /work/SRC/openSUSE:Factory/.perl-Business-ISBN-Data.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Business-ISBN-Data"
Tue Jan 7 20:50:51 2025 rev:42 rq:1235496 version:20241224.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Business-ISBN-Data/perl-Business-ISBN-Data.changes 2024-08-29 15:42:55.236117656 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Business-ISBN-Data.new.1881/perl-Business-ISBN-Data.changes 2025-01-07 20:51:15.395546779 +0100
@@ -1,0 +2,41 @@
+Tue Dec 24 05:31:06 UTC 2024 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 20241224.1.0 (20241224.001)
+ see /usr/share/doc/packages/perl-Business-ISBN-Data/Changes
+
+ 20241224.001 2024-12-24T04:16:05Z
+ * data update for 2024-12-24
+ 20241220.001 2024-12-20T12:09:49Z
+ * data update for 2024-12-20
+ 20241206.001 2024-12-07T16:13:59Z
+ * Data update for 2024-12-06
+ 20241205.001 2024-12-05T04:10:05Z
+ * 2024-12-04 data update
+ 20241130.001 2024-11-30T11:38:06Z
+ * data update for 2024-11-30
+ 20241123.001 2024-11-23T04:35:44Z
+ * data update for 2024-11-22
+ 20241112.001 2024-11-12T14:28:30Z
+ * data update for 2024-11-12
+ 20241107.001 2024-11-07T04:42:32Z
+ * data update for 2024-11-06
+ 20241105.001 2024-11-06T01:48:47Z
+ * data update for 2024-11-05
+ 20241025.001 2024-10-25T13:29:03Z
+ * data update for 2024-10-25
+ 20241019.001 2024-10-19T15:49:53Z
+ * data update for 2024-10-19
+ 20241017.001 2024-10-17T17:17:24Z
+ * data update for 2024-10-17
+ 20241014.001 2024-10-14T20:18:10Z
+ * data update for 2024-10-14
+ 20240930.001 2024-09-30T06:16:15Z
+ * data update for 2024-09-30
+ 20240918.001 2024-09-18T16:07:47Z
+ * data update for 2024-09-18
+ 20240914.001 2024-09-14T21:30:59Z
+ * data update for 2024-09-14
+ 20240906.001 2024-09-06T13:48:17Z
+ * data update for 2024-09-06
+
+-------------------------------------------------------------------
Old:
----
Business-ISBN-Data-20240821.001.tar.gz
New:
----
Business-ISBN-Data-20241224.001.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Business-ISBN-Data.spec ++++++
--- /var/tmp/diff_new_pack.zaAoXl/_old 2025-01-07 20:51:15.935569107 +0100
+++ /var/tmp/diff_new_pack.zaAoXl/_new 2025-01-07 20:51:15.935569107 +0100
@@ -18,10 +18,10 @@
%define cpan_name Business-ISBN-Data
Name: perl-Business-ISBN-Data
-Version: 20240821.1.0
+Version: 20241224.1.0
Release: 0
-# 20240821.001 -> normalize -> 20240821.1.0
-%define cpan_version 20240821.001
+# 20241224.001 -> normalize -> 20241224.1.0
+%define cpan_version 20241224.001
License: Artistic-2.0
Summary: Data pack for Business::ISBN
URL: https://metacpan.org/release/%{cpan_name}
++++++ Business-ISBN-Data-20240821.001.tar.gz -> Business-ISBN-Data-20241224.001.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Business-ISBN-Data-20240821.001/Changes new/Business-ISBN-Data-20241224.001/Changes
--- old/Business-ISBN-Data-20240821.001/Changes 2024-08-21 06:03:01.000000000 +0200
+++ new/Business-ISBN-Data-20241224.001/Changes 2024-12-24 05:16:27.000000000 +0100
@@ -1,5 +1,56 @@
Revision history for Perl module Business::ISBN::Data
+20241224.001 2024-12-24T04:16:05Z
+ * data update for 2024-12-24
+
+20241220.001 2024-12-20T12:09:49Z
+ * data update for 2024-12-20
+
+20241206.001 2024-12-07T16:13:59Z
+ * Data update for 2024-12-06
+
+20241205.001 2024-12-05T04:10:05Z
+ * 2024-12-04 data update
+
+20241130.001 2024-11-30T11:38:06Z
+ * data update for 2024-11-30
+
+20241123.001 2024-11-23T04:35:44Z
+ * data update for 2024-11-22
+
+20241112.001 2024-11-12T14:28:30Z
+ * data update for 2024-11-12
+
+20241107.001 2024-11-07T04:42:32Z
+ * data update for 2024-11-06
+
+20241105.001 2024-11-06T01:48:47Z
+ * data update for 2024-11-05
+
+20241025.001 2024-10-25T13:29:03Z
+ * data update for 2024-10-25
+
+20241019.001 2024-10-19T15:49:53Z
+ * data update for 2024-10-19
+
+20241017.001 2024-10-17T17:17:24Z
+ * data update for 2024-10-17
+
+20241014.001 2024-10-14T20:18:10Z
+ * data update for 2024-10-14
+
+20240930.001 2024-09-30T06:16:15Z
+ * data update for 2024-09-30
+
+20240918.001 2024-09-18T16:07:47Z
+ * data update for 2024-09-18
+
+20240914.001 2024-09-14T21:30:59Z
+ * data update for 2024-09-14
+
+20240906.001 2024-09-06T13:48:17Z
+ * data update for 2024-09-06
+
20240821.001 2024-08-21T04:02:47Z
* data update for 2024-08-21
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Business-ISBN-Data-20240821.001/META.json new/Business-ISBN-Data-20241224.001/META.json
--- old/Business-ISBN-Data-20240821.001/META.json 2024-08-21 06:03:02.000000000 +0200
+++ new/Business-ISBN-Data-20241224.001/META.json 2024-12-24 05:16:28.000000000 +0100
@@ -55,6 +55,6 @@
"web" : "https://github.com/briandfoy/business-isbn-data"
}
},
- "version" : "20240821.001",
+ "version" : "20241224.001",
"x_serialization_backend" : "JSON::PP version 4.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Business-ISBN-Data-20240821.001/META.yml new/Business-ISBN-Data-20241224.001/META.yml
--- old/Business-ISBN-Data-20240821.001/META.yml 2024-08-21 06:03:01.000000000 +0200
+++ new/Business-ISBN-Data-20241224.001/META.yml 2024-12-24 05:16:28.000000000 +0100
@@ -27,5 +27,5 @@
bugtracker: https://github.com/briandfoy/business-isbn-data/issues
homepage: https://github.com/briandfoy/business-isbn-data
repository: https://github.com/briandfoy/business-isbn-data
-version: '20240821.001'
+version: '20241224.001'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Business-ISBN-Data-20240821.001/lib/Business/ISBN/Data.pm new/Business-ISBN-Data-20241224.001/lib/Business/ISBN/Data.pm
--- old/Business-ISBN-Data-20240821.001/lib/Business/ISBN/Data.pm 2024-08-21 06:03:01.000000000 +0200
+++ new/Business-ISBN-Data-20241224.001/lib/Business/ISBN/Data.pm 2024-12-24 05:16:27.000000000 +0100
@@ -8,7 +8,7 @@
use File::Basename qw(dirname);
use File::Spec::Functions qw(catfile);
-our $VERSION = '20240821.001';
+our $VERSION = '20241224.001';
=encoding utf8
@@ -116,8 +116,8 @@
sub _default_data {
# BEGIN REPLACE
(
- _data_date => 'Wed, 21 Aug 2024 04:41:10 BST',
- _serial => '7365563e-253a-4a2f-8a78-e86e452d513d',
+ _data_date => 'Tue, 24 Dec 2024 03:42:48 GMT',
+ _serial => '4347fdec-82fd-4915-8434-7ff5d933d28d',
_source => __FILE__,
978 => {
0 => [ 'English language' => [ '00', '19', '200', '227', '2280', '2289', '229', '368', '3690', '3699', '370', '638', '6390', '6397', '6398000', '6399999', '640', '644', '6450000', '6459999', '646', '647', '6480000', '6489999', '649', '654', '6550', '6559', '656', '699', '7000', '8499', '85000', '89999', '900000', '900370', '9003710', '9003719', '900372', '949999', '9500000', '9999999' ] ],
@@ -142,7 +142,7 @@
91 => [ 'Sweden' => [ '0', '1', '20', '49', '500', '649', '7000', '8199', '85000', '94999', '970000', '999999' ] ],
92 => [ 'International NGO Publishers and EU Organizations' => [ '0', '5', '60', '79', '800', '899', '9000', '9499', '95000', '98999', '990000', '999999' ] ],
93 => [ 'India' => [ '00', '09', '100', '479', '48000', '49999', '5000', '7999', '80000', '95999', '960000', '999999' ] ],
- 94 => [ 'Netherlands' => [ '000', '599', '6000', '6387', '638800', '638809', '63881', '63881', '638820', '638839', '63884', '63885', '638860', '638869', '63887', '63889', '6389', '6395', '639600', '639609', '63961', '63962', '639630', '639639', '63964', '63964', '639650', '639659', '63966', '63969', '6397', '6399', '640000', '640009', '64001', '64004', '640050', '640059', '64006', '64006', '640070', '640089', '64009', '64009', '6401', '6406', '640700', '640739', '64074', '64074', '640750', '640759', '64076', '64077', '640780', '640799', '6408', '6419', '64200', '64201', '642020', '642029', '64203', '64203', '642040', '642049', '64205', '64206', '642070', '642079', '64208', '64208', '642090', '642099', '6421', '6432', '64330', '64331', '643320', '643329', '64333', '64333', '643340', '643359', '64336', '64336', '643370', '643379', '64338', '64339', '6434', '6435', '643600', '643609', '64361', '64363', '643640', '643659', '64366', '64366', '643670', '643679', '643
68', '64369', '6437', '6443', '644400', '644409', '64441', '64441', '644420', '644429', '64443', '64443', '644440', '644449', '64445', '64446', '644470', '644489', '64449', '64449', '6445', '6450', '64510', '64512', '645130', '645139', '64514', '64515', '645160', '645199', '6452', '6458', '645900', '645909', '64591', '64592', '645930', '645949', '64595', '64596', '645970', '645989', '64599', '64599', '6460', '6465', '646600', '646609', '64661', '64662', '646630', '646659', '64666', '64666', '646670', '646689', '64669', '64669', '6467', '6474', '64750', '64751', '647520', '647539', '64754', '64754', '647550', '647559', '64756', '64757', '647580', '647589', '64759', '64759', '6476', '6476', '647700', '647708', '64771', '64771', '647723', '647729', '64773', '64773', '647740', '647769', '64777', '64779', '647800', '647809', '64781', '64781', '647820', '647829', '64783', '64786', '647870', '647879', '64788', '64789', '6479', '6493', '649400', '649409', '64941', '64942', '649430', '649449
', '64945', '64946', '649470', '649479', '64948', '64948', '649490', '649499', '6495', '6497', '64980', '64980', '649810', '649829', '64983', '64984', '649850', '649869', '64987', '64987', '649880', '649883', '6499', '8999', '90000', '99999' ] ],
+ 94 => [ 'Netherlands' => [ '000', '599', '6000', '6387', '638800', '638809', '63881', '63881', '638820', '638839', '63884', '63885', '638860', '638869', '63887', '63889', '6389', '6395', '639600', '639609', '63961', '63962', '639630', '639639', '63964', '63964', '639650', '639659', '63966', '63969', '6397', '6399', '640000', '640009', '64001', '64004', '640050', '640059', '64006', '64006', '640070', '640089', '64009', '64009', '6401', '6406', '640700', '640739', '64074', '64074', '640750', '640759', '64076', '64077', '640780', '640799', '6408', '6419', '64200', '64201', '642020', '642029', '64203', '64203', '642040', '642049', '64205', '64206', '642070', '642079', '64208', '64208', '642090', '642099', '6421', '6432', '64330', '64331', '643320', '643329', '64333', '64333', '643340', '643359', '64336', '64336', '643370', '643379', '64338', '64339', '6434', '6435', '643600', '643609', '64361', '64363', '643640', '643659', '64366', '64366', '643670', '643679', '643
68', '64369', '6437', '6443', '644400', '644409', '64441', '64441', '644420', '644429', '64443', '64443', '644440', '644449', '64445', '64446', '644470', '644489', '64449', '64449', '6445', '6450', '64510', '64512', '645130', '645139', '64514', '64515', '645160', '645199', '6452', '6458', '645900', '645909', '64591', '64592', '645930', '645949', '64595', '64596', '645970', '645989', '64599', '64599', '6460', '6465', '646600', '646609', '64661', '64662', '646630', '646659', '64666', '64666', '646670', '646689', '64669', '64669', '6467', '6474', '64750', '64751', '647520', '647539', '64754', '64754', '647550', '647559', '64756', '64757', '647580', '647589', '64759', '64759', '6476', '6476', '647700', '647708', '64771', '64771', '647723', '647729', '64773', '64773', '647740', '647769', '64777', '64779', '647800', '647809', '64781', '64781', '647820', '647829', '64783', '64786', '647870', '647879', '64788', '64789', '6479', '6493', '649400', '649409', '64941', '64942', '649430', '649449
', '64945', '64946', '649470', '649479', '64948', '64948', '649490', '649499', '6495', '6497', '64980', '64980', '649810', '649829', '64983', '64984', '649850', '649869', '64987', '64987', '649880', '649899', '6499', '8999', '90000', '99999' ] ],
600 => [ 'Iran' => [ '00', '09', '100', '499', '5000', '8999', '90000', '98679', '9868', '9929', '993', '995', '99600', '99999' ] ],
601 => [ 'Kazakhstan' => [ '00', '19', '200', '699', '7000', '7999', '80000', '84999', '85', '99' ] ],
602 => [ 'Indonesia' => [ '00', '06', '0700', '1399', '14000', '14999', '1500', '1699', '17000', '19999', '200', '499', '50000', '53999', '5400', '5999', '60000', '61999', '6200', '6999', '70000', '74999', '7500', '9499', '95000', '99999' ] ],
@@ -164,17 +164,19 @@
619 => [ 'Bulgaria' => [ '00', '14', '150', '699', '7000', '8999', '90000', '99999' ] ],
620 => [ 'Mauritius' => [ '0', '9' ] ],
621 => [ 'Philippines' => [ '00', '29', '400', '599', '8000', '8999', '95000', '99999' ] ],
- 622 => [ 'Iran' => [ '00', '10', '200', '459', '4800', '8499', '90000', '99999' ] ],
+ 622 => [ 'Iran' => [ '00', '10', '200', '459', '4600', '8749', '87500', '99999' ] ],
623 => [ 'Indonesia' => [ '00', '10', '110', '524', '5250', '8799', '88000', '99999' ] ],
- 624 => [ 'Sri Lanka' => [ '00', '04', '200', '249', '5000', '6699', '93000', '99999' ] ],
- 625 => [ 'Türkiye' => [ '00', '01', '365', '442', '44300', '44499', '445', '449', '6000', '7793', '77940', '77949', '7795', '8499', '94000', '99999' ] ],
+ 624 => [ 'Sri Lanka' => [ '00', '04', '200', '249', '5000', '6899', '93000', '99999' ] ],
+ 625 => [ 'Türkiye' => [ '00', '01', '320', '442', '44300', '44499', '445', '449', '5500', '7793', '77940', '77949', '7795', '8499', '94000', '99999' ] ],
626 => [ 'Taiwan' => [ '00', '04', '300', '499', '7000', '7999', '95000', '99999' ] ],
627 => [ 'Pakistan' => [ '30', '31', '500', '524', '7500', '7999', '94500', '94649' ] ],
628 => [ 'Colombia' => [ '00', '09', '500', '549', '7500', '8499', '95000', '99999' ] ],
- 629 => [ 'Malaysia' => [ '00', '02', '470', '499', '7500', '7999', '96500', '99999' ] ],
+ 629 => [ 'Malaysia' => [ '00', '02', '460', '499', '7500', '7999', '95000', '99999' ] ],
630 => [ 'Romania' => [ '300', '399', '6500', '6849', '95000', '99999' ] ],
631 => [ 'Argentina' => [ '00', '09', '300', '399', '6500', '7499', '90000', '99999' ] ],
632 => [ 'Vietnam' => [ '00', '11', '600', '679' ] ],
+ 633 => [ 'Egypt' => [ '00', '01', '300', '349', '8250', '8999', '99500', '99999' ] ],
+ 634 => [ 'Indonesia' => [ '00', '04', '200', '349', '7000', '7999', '96000', '99999' ] ],
950 => [ 'Argentina' => [ '00', '49', '500', '899', '9000', '9899', '99000', '99999' ] ],
951 => [ 'Finland' => [ '0', '1', '20', '54', '550', '889', '8900', '9499', '95000', '99999' ] ],
952 => [ 'Finland' => [ '00', '19', '200', '499', '5000', '5999', '60', '64', '65000', '65999', '6600', '6699', '67000', '69999', '7000', '7999', '80', '94', '9500', '9899', '99000', '99999' ] ],
@@ -215,22 +217,23 @@
987 => [ 'Argentina' => [ '00', '09', '1000', '1999', '20000', '29999', '30', '35', '3600', '4199', '42', '43', '4400', '4499', '45000', '48999', '4900', '4999', '500', '824', '8250', '8279', '82800', '82999', '8300', '8499', '85', '88', '8900', '9499', '95000', '99999' ] ],
988 => [ 'Hong Kong, China' => [ '00', '11', '12000', '19999', '200', '699', '70000', '79999', '8000', '9699', '97000', '99999' ] ],
989 => [ 'Portugal' => [ '0', '1', '20', '34', '35000', '36999', '37', '52', '53000', '54999', '550', '799', '8000', '9499', '95000', '99999' ] ],
+ 9908 => [ 'Estonia' => [ '0', '1', '50', '69', '825', '899', '9700', '9999' ] ],
9909 => [ 'Tunisia' => [ '00', '19', '750', '849', '9800', '9999' ] ],
- 9910 => [ 'Uzbekistan' => [ '01', '09', '650', '799', '8800', '9999' ] ],
+ 9910 => [ 'Uzbekistan' => [ '01', '09', '630', '799', '8600', '9999' ] ],
9911 => [ 'Montenegro' => [ '20', '24', '550', '749', '9500', '9999' ] ],
9912 => [ 'Tanzania' => [ '40', '44', '750', '799', '9800', '9999' ] ],
9913 => [ 'Uganda' => [ '00', '07', '600', '699', '9550', '9999' ] ],
- 9914 => [ 'Kenya' => [ '40', '55', '700', '774', '9600', '9999' ] ],
+ 9914 => [ 'Kenya' => [ '35', '55', '700', '774', '9450', '9999' ] ],
9915 => [ 'Uruguay' => [ '40', '59', '650', '799', '9300', '9999' ] ],
9916 => [ 'Estonia' => [ '0', '0', '10', '39', '4', '5', '600', '789', '79', '91', '9200', '9399', '94', '94', '9500', '9999' ] ],
9917 => [ 'Bolivia' => [ '0', '0', '30', '34', '600', '699', '9700', '9999' ] ],
9918 => [ 'Malta' => [ '0', '0', '20', '29', '600', '799', '9500', '9999' ] ],
9919 => [ 'Mongolia' => [ '0', '0', '20', '29', '500', '599', '9000', '9999' ] ],
- 9920 => [ 'Morocco' => [ '28', '42', '480', '799', '8750', '9999' ] ],
+ 9920 => [ 'Morocco' => [ '23', '42', '430', '799', '8550', '9999' ] ],
9921 => [ 'Kuwait' => [ '0', '0', '30', '39', '700', '899', '9700', '9999' ] ],
- 9922 => [ 'Iraq' => [ '20', '29', '600', '799', '8500', '9999' ] ],
+ 9922 => [ 'Iraq' => [ '20', '29', '600', '799', '8250', '9999' ] ],
9923 => [ 'Jordan' => [ '0', '0', '10', '69', '700', '899', '9400', '9999' ] ],
- 9924 => [ 'Cambodia' => [ '30', '39', '500', '649', '9000', '9999' ] ],
+ 9924 => [ 'Cambodia' => [ '28', '39', '500', '659', '8950', '9999' ] ],
9925 => [ 'Cyprus' => [ '0', '2', '30', '54', '550', '734', '7350', '9999' ] ],
9926 => [ 'Bosnia and Herzegovina' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ],
9927 => [ 'Qatar' => [ '00', '09', '100', '399', '4000', '4999' ] ],
@@ -245,7 +248,7 @@
9936 => [ 'Afghanistan' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ],
9937 => [ 'Nepal' => [ '0', '2', '30', '49', '500', '799', '8000', '9999' ] ],
9938 => [ 'Tunisia' => [ '00', '79', '800', '949', '9500', '9749', '975', '990', '9910', '9999' ] ],
- 9939 => [ 'Armenia' => [ '0', '3', '40', '79', '800', '899', '9000', '9599', '960', '979', '98', '99' ] ],
+ 9939 => [ 'Armenia' => [ '0', '3', '40', '47', '480', '499', '50', '79', '800', '899', '9000', '9599', '960', '979', '98', '99' ] ],
9940 => [ 'Montenegro' => [ '0', '1', '20', '49', '500', '839', '84', '86', '8700', '9999' ] ],
9941 => [ 'Georgia' => [ '0', '0', '10', '39', '400', '799', '8', '8', '9000', '9999' ] ],
9942 => [ 'Ecuador' => [ '00', '59', '600', '699', '7000', '7499', '750', '849', '8500', '8999', '900', '984', '9850', '9999' ] ],
@@ -258,7 +261,7 @@
9949 => [ 'Estonia' => [ '00', '08', '090', '099', '10', '39', '400', '699', '70', '71', '7200', '7499', '75', '89', '9000', '9999' ] ],
9950 => [ 'Palestine' => [ '00', '29', '300', '849', '8500', '9999' ] ],
9951 => [ 'Kosova' => [ '00', '38', '390', '849', '8500', '9799', '980', '999' ] ],
- 9952 => [ 'Azerbaijan' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ],
+ 9952 => [ 'Azerbaijan' => [ '0', '0', '15', '39', '400', '799', '8000', '9999' ] ],
9953 => [ 'Lebanon' => [ '0', '0', '10', '39', '400', '599', '60', '89', '9000', '9299', '93', '96', '970', '999' ] ],
9954 => [ 'Morocco' => [ '0', '1', '20', '39', '400', '799', '8000', '9899', '99', '99' ] ],
9955 => [ 'Lithuania' => [ '00', '39', '400', '929', '9300', '9999' ] ],
@@ -275,7 +278,7 @@
9966 => [ 'Kenya' => [ '000', '139', '14', '14', '1500', '1999', '20', '69', '7000', '7499', '750', '820', '8210', '8249', '825', '825', '8260', '8289', '829', '959', '9600', '9999' ] ],
9967 => [ 'Kyrgyz Republic' => [ '00', '39', '400', '899', '9000', '9999' ] ],
9968 => [ 'Costa Rica' => [ '00', '49', '500', '939', '9400', '9999' ] ],
- 9969 => [ 'Algeria' => [ '00', '06', '500', '649', '9700', '9999' ] ],
+ 9969 => [ 'Algeria' => [ '00', '12', '500', '649', '9700', '9999' ] ],
9970 => [ 'Uganda' => [ '00', '39', '400', '899', '9000', '9999' ] ],
9971 => [ 'Singapore' => [ '0', '5', '60', '89', '900', '989', '9900', '9999' ] ],
9972 => [ 'Peru' => [ '00', '09', '1', '1', '200', '249', '2500', '2999', '30', '59', '600', '899', '9000', '9999' ] ],
@@ -370,13 +373,13 @@
99973 => [ 'Mongolia' => [ '0', '3', '40', '79', '800', '999' ] ],
99974 => [ 'Bolivia' => [ '0', '0', '10', '25', '260', '399', '40', '63', '640', '649', '65', '79', '800', '999' ] ],
99975 => [ 'Tajikistan' => [ '0', '2', '300', '399', '40', '79', '800', '999' ] ],
- 99976 => [ 'Srpska, Republic of' => [ '00', '03', '050', '099', '10', '15', '160', '199', '20', '59', '600', '819', '82', '89', '900', '999' ] ],
+ 99976 => [ 'Srpska, Republic of' => [ '00', '03', '040', '099', '10', '15', '160', '199', '20', '59', '600', '819', '82', '89', '900', '999' ] ],
99977 => [ 'Rwanda' => [ '0', '1', '40', '69', '700', '799', '975', '999' ] ],
99978 => [ 'Mongolia' => [ '0', '4', '50', '69', '700', '999' ] ],
99979 => [ 'Honduras' => [ '0', '3', '40', '79', '800', '999' ] ],
99980 => [ 'Bhutan' => [ '0', '0', '30', '64', '700', '999' ] ],
- 99981 => [ 'Macau' => [ '0', '0', '120', '149', '15', '19', '200', '219', '22', '74', '750', '999' ] ],
- 99982 => [ 'Benin' => [ '0', '1', '50', '71', '885', '999' ] ],
+ 99981 => [ 'Macau' => [ '0', '0', '10', '10', '110', '149', '15', '19', '200', '219', '22', '74', '750', '999' ] ],
+ 99982 => [ 'Benin' => [ '0', '2', '50', '71', '885', '999' ] ],
99983 => [ 'El Salvador' => [ '0', '0', '35', '69', '900', '999' ] ],
99984 => [ 'Brunei Darussalam' => [ '0', '0', '50', '69', '950', '999' ] ],
99985 => [ 'Tajikistan' => [ '0', '1', '25', '79', '800', '999' ] ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Business-ISBN-Data-20240821.001/lib/Business/ISBN/RangeMessage.xml new/Business-ISBN-Data-20241224.001/lib/Business/ISBN/RangeMessage.xml
--- old/Business-ISBN-Data-20240821.001/lib/Business/ISBN/RangeMessage.xml 2024-08-21 06:03:01.000000000 +0200
+++ new/Business-ISBN-Data-20241224.001/lib/Business/ISBN/RangeMessage.xml 2024-12-24 05:16:27.000000000 +0100
@@ -17,8 +17,8 @@
]>
<ISBNRangeMessage>
<MessageSource>International ISBN Agency</MessageSource>
- <MessageSerialNumber>7365563e-253a-4a2f-8a78-e86e452d513d</MessageSerialNumber>
- <MessageDate>Wed, 21 Aug 2024 04:41:10 BST</MessageDate>
+ <MessageSerialNumber>4347fdec-82fd-4915-8434-7ff5d933d28d</MessageSerialNumber>
+ <MessageDate>Tue, 24 Dec 2024 03:42:48 GMT</MessageDate>
<EAN.UCCPrefixes>
<EAN.UCC>
<Prefix>978</Prefix>
@@ -1305,19 +1305,11 @@
<Length>3</Length>
</Rule>
<Rule>
- <Range>4600000-4799999</Range>
- <Length>0</Length>
- </Rule>
- <Rule>
- <Range>4800000-8499999</Range>
+ <Range>4600000-8749999</Range>
<Length>4</Length>
</Rule>
<Rule>
- <Range>8500000-8999999</Range>
- <Length>0</Length>
- </Rule>
- <Rule>
- <Range>9000000-9999999</Range>
+ <Range>8750000-9999999</Range>
<Length>5</Length>
</Rule>
</Rules>
@@ -1365,11 +1357,11 @@
<Length>0</Length>
</Rule>
<Rule>
- <Range>5000000-6699999</Range>
+ <Range>5000000-6899999</Range>
<Length>4</Length>
</Rule>
<Rule>
- <Range>6700000-9299999</Range>
+ <Range>6900000-9299999</Range>
<Length>0</Length>
</Rule>
<Rule>
@@ -1387,11 +1379,11 @@
<Length>2</Length>
</Rule>
<Rule>
- <Range>0200000-3649999</Range>
+ <Range>0200000-3199999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>3650000-4429999</Range>
+ <Range>3200000-4429999</Range>
<Length>3</Length>
</Rule>
<Rule>
@@ -1403,11 +1395,11 @@
<Length>3</Length>
</Rule>
<Rule>
- <Range>4500000-5999999</Range>
+ <Range>4500000-5499999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>6000000-7793999</Range>
+ <Range>5500000-7793999</Range>
<Length>4</Length>
</Rule>
<Rule>
@@ -1547,11 +1539,11 @@
<Length>2</Length>
</Rule>
<Rule>
- <Range>0300000-4699999</Range>
+ <Range>0300000-4599999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>4700000-4999999</Range>
+ <Range>4600000-4999999</Range>
<Length>3</Length>
</Rule>
<Rule>
@@ -1563,11 +1555,11 @@
<Length>4</Length>
</Rule>
<Rule>
- <Range>8000000-9649999</Range>
+ <Range>8000000-9499999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>9650000-9999999</Range>
+ <Range>9500000-9999999</Range>
<Length>5</Length>
</Rule>
</Rules>
@@ -1659,6 +1651,74 @@
</Rules>
</Group>
<Group>
+ <Prefix>978-633</Prefix>
+ <Agency>Egypt</Agency>
+ <Rules>
+ <Rule>
+ <Range>0000000-0199999</Range>
+ <Length>2</Length>
+ </Rule>
+ <Rule>
+ <Range>0200000-2999999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>3000000-3499999</Range>
+ <Length>3</Length>
+ </Rule>
+ <Rule>
+ <Range>3500000-8249999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>8250000-8999999</Range>
+ <Length>4</Length>
+ </Rule>
+ <Rule>
+ <Range>9000000-9949999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>9950000-9999999</Range>
+ <Length>5</Length>
+ </Rule>
+ </Rules>
+ </Group>
+ <Group>
+ <Prefix>978-634</Prefix>
+ <Agency>Indonesia</Agency>
+ <Rules>
+ <Rule>
+ <Range>0000000-0499999</Range>
+ <Length>2</Length>
+ </Rule>
+ <Rule>
+ <Range>0500000-1999999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>2000000-3499999</Range>
+ <Length>3</Length>
+ </Rule>
+ <Rule>
+ <Range>3500000-6999999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>7000000-7999999</Range>
+ <Length>4</Length>
+ </Rule>
+ <Rule>
+ <Range>8000000-9599999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>9600000-9999999</Range>
+ <Length>5</Length>
+ </Rule>
+ </Rules>
+ </Group>
+ <Group>
<Prefix>978-65</Prefix>
<Agency>Brazil</Agency>
<Rules>
@@ -2863,14 +2923,10 @@
<Length>5</Length>
</Rule>
<Rule>
- <Range>6498800-6498839</Range>
+ <Range>6498800-6498999</Range>
<Length>6</Length>
</Rule>
<Rule>
- <Range>6498840-6498999</Range>
- <Length>0</Length>
- </Rule>
- <Rule>
<Range>6499000-8999999</Range>
<Length>4</Length>
</Rule>
@@ -4353,6 +4409,40 @@
</Rules>
</Group>
<Group>
+ <Prefix>978-9908</Prefix>
+ <Agency>Estonia</Agency>
+ <Rules>
+ <Rule>
+ <Range>0000000-1999999</Range>
+ <Length>1</Length>
+ </Rule>
+ <Rule>
+ <Range>2000000-4999999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>5000000-6999999</Range>
+ <Length>2</Length>
+ </Rule>
+ <Rule>
+ <Range>7000000-8249999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>8250000-8999999</Range>
+ <Length>3</Length>
+ </Rule>
+ <Rule>
+ <Range>9000000-9699999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>9700000-9999999</Range>
+ <Length>4</Length>
+ </Rule>
+ </Rules>
+ </Group>
+ <Group>
<Prefix>978-9909</Prefix>
<Agency>Tunisia</Agency>
<Rules>
@@ -4391,19 +4481,19 @@
<Length>2</Length>
</Rule>
<Rule>
- <Range>1000000-6499999</Range>
+ <Range>1000000-6299999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>6500000-7999999</Range>
+ <Range>6300000-7999999</Range>
<Length>3</Length>
</Rule>
<Rule>
- <Range>8000000-8799999</Range>
+ <Range>8000000-8599999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>8800000-9999999</Range>
+ <Range>8600000-9999999</Range>
<Length>4</Length>
</Rule>
</Rules>
@@ -4499,11 +4589,11 @@
<Agency>Kenya</Agency>
<Rules>
<Rule>
- <Range>0000000-3999999</Range>
+ <Range>0000000-3499999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>4000000-5599999</Range>
+ <Range>3500000-5599999</Range>
<Length>2</Length>
</Rule>
<Rule>
@@ -4515,11 +4605,11 @@
<Length>3</Length>
</Rule>
<Rule>
- <Range>7750000-9599999</Range>
+ <Range>7750000-9449999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>9600000-9999999</Range>
+ <Range>9450000-9999999</Range>
<Length>4</Length>
</Rule>
</Rules>
@@ -4699,27 +4789,23 @@
<Agency>Morocco</Agency>
<Rules>
<Rule>
- <Range>0000000-2799999</Range>
+ <Range>0000000-2299999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>2800000-4299999</Range>
+ <Range>2300000-4299999</Range>
<Length>2</Length>
</Rule>
<Rule>
- <Range>4300000-4799999</Range>
- <Length>0</Length>
- </Rule>
- <Rule>
- <Range>4800000-7999999</Range>
+ <Range>4300000-7999999</Range>
<Length>3</Length>
</Rule>
<Rule>
- <Range>8000000-8749999</Range>
+ <Range>8000000-8549999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>8750000-9999999</Range>
+ <Range>8550000-9999999</Range>
<Length>4</Length>
</Rule>
</Rules>
@@ -4779,11 +4865,11 @@
<Length>3</Length>
</Rule>
<Rule>
- <Range>8000000-8499999</Range>
+ <Range>8000000-8249999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>8500000-9999999</Range>
+ <Range>8250000-9999999</Range>
<Length>4</Length>
</Rule>
</Rules>
@@ -4819,11 +4905,11 @@
<Agency>Cambodia</Agency>
<Rules>
<Rule>
- <Range>0000000-2999999</Range>
+ <Range>0000000-2799999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>3000000-3999999</Range>
+ <Range>2800000-3999999</Range>
<Length>2</Length>
</Rule>
<Rule>
@@ -4831,15 +4917,15 @@
<Length>0</Length>
</Rule>
<Rule>
- <Range>5000000-6499999</Range>
+ <Range>5000000-6599999</Range>
<Length>3</Length>
</Rule>
<Rule>
- <Range>6500000-8999999</Range>
+ <Range>6600000-8949999</Range>
<Length>0</Length>
</Rule>
<Rule>
- <Range>9000000-9999999</Range>
+ <Range>8950000-9999999</Range>
<Length>4</Length>
</Rule>
</Rules>
@@ -5165,7 +5251,15 @@
<Length>1</Length>
</Rule>
<Rule>
- <Range>4000000-7999999</Range>
+ <Range>4000000-4799999</Range>
+ <Length>2</Length>
+ </Rule>
+ <Rule>
+ <Range>4800000-4999999</Range>
+ <Length>3</Length>
+ </Rule>
+ <Rule>
+ <Range>5000000-7999999</Range>
<Length>2</Length>
</Rule>
<Rule>
@@ -5511,11 +5605,15 @@
<Agency>Azerbaijan</Agency>
<Rules>
<Rule>
- <Range>0000000-1999999</Range>
+ <Range>0000000-0999999</Range>
<Length>1</Length>
</Rule>
<Rule>
- <Range>2000000-3999999</Range>
+ <Range>1000000-1499999</Range>
+ <Length>0</Length>
+ </Rule>
+ <Rule>
+ <Range>1500000-3999999</Range>
<Length>2</Length>
</Rule>
<Rule>
@@ -5969,11 +6067,11 @@
<Agency>Algeria</Agency>
<Rules>
<Rule>
- <Range>0000000-0699999</Range>
+ <Range>0000000-1299999</Range>
<Length>2</Length>
</Rule>
<Rule>
- <Range>0700000-4999999</Range>
+ <Range>1300000-4999999</Range>
<Length>0</Length>
</Rule>
<Rule>
@@ -7991,11 +8089,7 @@
<Length>2</Length>
</Rule>
<Rule>
- <Range>0400000-0499999</Range>
- <Length>0</Length>
- </Rule>
- <Rule>
- <Range>0500000-0999999</Range>
+ <Range>0400000-0999999</Range>
<Length>3</Length>
</Rule>
<Rule>
@@ -8125,11 +8219,11 @@
<Length>1</Length>
</Rule>
<Rule>
- <Range>1000000-1199999</Range>
- <Length>0</Length>
+ <Range>1000000-1099999</Range>
+ <Length>2</Length>
</Rule>
<Rule>
- <Range>1200000-1499999</Range>
+ <Range>1100000-1499999</Range>
<Length>3</Length>
</Rule>
<Rule>
@@ -8155,11 +8249,11 @@
<Agency>Benin</Agency>
<Rules>
<Rule>
- <Range>0000000-1999999</Range>
+ <Range>0000000-2999999</Range>
<Length>1</Length>
</Rule>
<Rule>
- <Range>2000000-4999999</Range>
+ <Range>3000000-4999999</Range>
<Length>0</Length>
</Rule>
<Rule>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aiohttp for openSUSE:Factory checked in at 2025-01-07 20:50:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiohttp (Old)
and /work/SRC/openSUSE:Factory/.python-aiohttp.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiohttp"
Tue Jan 7 20:50:48 2025 rev:54 rq:1235442 version:3.11.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aiohttp/python-aiohttp.changes 2024-12-06 14:25:20.329850786 +0100
+++ /work/SRC/openSUSE:Factory/.python-aiohttp.new.1881/python-aiohttp.changes 2025-01-07 20:51:11.811398592 +0100
@@ -1,0 +2,31 @@
+Mon Jan 6 19:02:59 UTC 2025 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Update to 3.11.11:
+ - Bug fixes
+ - Updated :py:meth:~aiohttp.ClientSession.request to reuse
+ the quote_cookie setting from ClientSession._cookie_jar
+ when processing cookies parameter.
+ - Fixed type of SSLContext for some static type checkers
+ (e.g. pyright).
+ - Updated :meth:aiohttp.web.StreamResponse.write annotation
+ to also allow :class:bytearray and :class:memoryview as
+ inputs
+ - Fixed a hang where a connection previously used for a
+ streaming download could be returned to the pool in a
+ paused state.
+ - Features
+ - Enabled ALPN on default SSL contexts. This improves
+ compatibility with some proxies which don't work without
+ this extension.
+ - Miscellaneous internal changes
+ - Fixed an infinite loop that can occur when using aiohttp in
+ combination with async-solipsism
+- Update to 3.11.10:
+ - Fixed race condition in :class:aiohttp.web.FileResponse
+ that could have resulted in an incorrect response if the
+ file was replaced on the file system during prepare
+ - Replaced deprecated call to :func:mimetypes.guess_type with
+ :func:mimetypes.guess_file_type when using Python 3.13+
+ - Disabled zero copy writes in the StreamWriter
+
+-------------------------------------------------------------------
Old:
----
aiohttp-3.11.9.tar.gz
New:
----
aiohttp-3.11.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aiohttp.spec ++++++
--- /var/tmp/diff_new_pack.36XxGj/_old 2025-01-07 20:51:12.631432497 +0100
+++ /var/tmp/diff_new_pack.36XxGj/_new 2025-01-07 20:51:12.631432497 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-aiohttp
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%bcond_with docs
%{?sle15_python_module_pythons}
Name: python-aiohttp
-Version: 3.11.9
+Version: 3.11.11
Release: 0
Summary: Asynchronous HTTP client/server framework
License: Apache-2.0
@@ -128,15 +128,15 @@
%check
donttest="test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async or test_secure_https_proxy_absolute_path"
-# no name resolution
-donttest+=" or test_client_session_timeout_zero"
-# flaky
-donttest+=" or test_https_proxy_unsupported_tls_in_tls"
-donttest+=" or test_shutdown_handler_cancellation_suppressed"
+# # no name resolution
+# donttest+=" or test_client_session_timeout_zero"
+# # flaky
+# donttest+=" or test_https_proxy_unsupported_tls_in_tls"
+# donttest+=" or test_shutdown_handler_cancellation_suppressed"
# raises not expected "ConnectionResetError" with openssl 3.2 and python < 3.11
donttest+=" or test_tcp_connector_raise_connector_ssl_error[pyloop]"
-# fails with pytest 8 https://github.com/aio-libs/aiohttp/issues/8234
-donttest+=" or (test_pytest_plugin and test_aiohttp_plugin)"
+# # fails with pytest 8 https://github.com/aio-libs/aiohttp/issues/8234
+# donttest+=" or (test_pytest_plugin and test_aiohttp_plugin)"
# requires python-on-whales
rm -v tests/autobahn/test_autobahn.py
++++++ aiohttp-3.11.9.tar.gz -> aiohttp-3.11.11.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-aiohttp/aiohttp-3.11.9.tar.gz /work/SRC/openSUSE:Factory/.python-aiohttp.new.1881/aiohttp-3.11.11.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-YAML-Tiny for openSUSE:Factory checked in at 2025-01-07 20:50:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-YAML-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-YAML-Tiny.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-YAML-Tiny"
Tue Jan 7 20:50:24 2025 rev:19 rq:1235292 version:1.760.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-YAML-Tiny/perl-YAML-Tiny.changes 2023-04-04 21:17:25.704045839 +0200
+++ /work/SRC/openSUSE:Factory/.perl-YAML-Tiny.new.1881/perl-YAML-Tiny.changes 2025-01-07 20:50:45.506311004 +0100
@@ -1,0 +2,16 @@
+Tue Dec 17 05:36:26 UTC 2024 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 1.760.0 (1.76)
+ see /usr/share/doc/packages/perl-YAML-Tiny/Changes
+
+ 1.76 2024-12-16 18:59:46Z
+ [FIXED]
+ - revert change from #60: "yes", "y" etc are not actually booleans.
+ (see issue #66).
+ 1.75 2024-12-15 21:24:54Z
+ [FIXED]
+ - fixed regression in %QUOTE (Nathan Monfils, PR#60) [later reverted
+ in release 1.76, see above)
+ - fix version comparison logic for forward compatibility (BooK, PR#63)
+
+-------------------------------------------------------------------
Old:
----
YAML-Tiny-1.74.tar.gz
New:
----
YAML-Tiny-1.76.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-YAML-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.6TpkRZ/_old 2025-01-07 20:50:46.022332339 +0100
+++ /var/tmp/diff_new_pack.6TpkRZ/_new 2025-01-07 20:50:46.026332504 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-YAML-Tiny
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,14 @@
%define cpan_name YAML-Tiny
Name: perl-YAML-Tiny
-Version: 1.74
+Version: 1.760.0
Release: 0
+# 1.76 -> normalize -> 1.760.0
+%define cpan_version 1.76
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Read/Write YAML files with as little code as possible
URL: https://metacpan.org/release/%{cpan_name}
-Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar…
+Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{cpan_version…
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
@@ -31,6 +33,8 @@
BuildRequires: perl(File::Temp) >= 0.19
BuildRequires: perl(JSON::PP)
BuildRequires: perl(Test::More) >= 0.88
+Provides: perl(YAML::Tiny) = %{version}
+%undefine __perllib_provides
%{perl_requires}
%description
@@ -71,9 +75,9 @@
to file and back again just fine.
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
-find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
perl Makefile.PL INSTALLDIRS=vendor
++++++ YAML-Tiny-1.74.tar.gz -> YAML-Tiny-1.76.tar.gz ++++++
++++ 1749 lines of diff (skipped)
1
0